=begin
#Kubernetes

#No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)

OpenAPI spec version: v1.13.4

Generated by: https://github.com/swagger-api/swagger-codegen.git
Swagger Codegen version: 2.2.3

=end

require "uri"

module Kubernetes
  class CoreV1Api
    attr_accessor :api_client

    def initialize(api_client = ApiClient.default)
      @api_client = api_client
    end

    # 
    # connect DELETE requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_delete_namespaced_pod_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_delete_namespaced_pod_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect DELETE requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_delete_namespaced_pod_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_delete_namespaced_pod_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_delete_namespaced_pod_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_delete_namespaced_pod_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_delete_namespaced_pod_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect DELETE requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_delete_namespaced_pod_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_delete_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect DELETE requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_delete_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_delete_namespaced_pod_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_delete_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_delete_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_delete_namespaced_pod_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_delete_namespaced_pod_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect DELETE requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_delete_namespaced_service_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_delete_namespaced_service_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect DELETE requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_delete_namespaced_service_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_delete_namespaced_service_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_delete_namespaced_service_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_delete_namespaced_service_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_delete_namespaced_service_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect DELETE requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_delete_namespaced_service_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_delete_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect DELETE requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_delete_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_delete_namespaced_service_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_delete_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_delete_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_delete_namespaced_service_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_delete_namespaced_service_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect DELETE requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_delete_node_proxy(name, opts = {})
      data, _status_code, _headers = connect_delete_node_proxy_with_http_info(name, opts)
      return data
    end

    # 
    # connect DELETE requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_delete_node_proxy_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_delete_node_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_delete_node_proxy"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_delete_node_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect DELETE requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_delete_node_proxy_with_path(name, path, opts = {})
      data, _status_code, _headers = connect_delete_node_proxy_with_path_with_http_info(name, path, opts)
      return data
    end

    # 
    # connect DELETE requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_delete_node_proxy_with_path_with_http_info(name, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_delete_node_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_delete_node_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_delete_node_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_delete_node_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to attach of Pod
    # @param name name of the PodAttachOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :container The container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :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.
    # @return [String]
    def connect_get_namespaced_pod_attach(name, namespace, opts = {})
      data, _status_code, _headers = connect_get_namespaced_pod_attach_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect GET requests to attach of Pod
    # @param name name of the PodAttachOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :container The container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :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.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_namespaced_pod_attach_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_namespaced_pod_attach ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_namespaced_pod_attach"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_get_namespaced_pod_attach"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/attach".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'container'] = opts[:'container'] if !opts[:'container'].nil?
      query_params[:'stderr'] = opts[:'stderr'] if !opts[:'stderr'].nil?
      query_params[:'stdin'] = opts[:'stdin'] if !opts[:'stdin'].nil?
      query_params[:'stdout'] = opts[:'stdout'] if !opts[:'stdout'].nil?
      query_params[:'tty'] = opts[:'tty'] if !opts[:'tty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_namespaced_pod_attach\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to exec of Pod
    # @param name name of the PodExecOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :command Command is the remote command to execute. argv array. Not executed within a shell.
    # @option opts [String] :container Container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Redirect the standard error stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Redirect the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Redirect the standard output stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :tty TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.
    # @return [String]
    def connect_get_namespaced_pod_exec(name, namespace, opts = {})
      data, _status_code, _headers = connect_get_namespaced_pod_exec_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect GET requests to exec of Pod
    # @param name name of the PodExecOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :command Command is the remote command to execute. argv array. Not executed within a shell.
    # @option opts [String] :container Container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Redirect the standard error stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Redirect the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Redirect the standard output stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :tty TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_namespaced_pod_exec_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_namespaced_pod_exec ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_namespaced_pod_exec"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_get_namespaced_pod_exec"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/exec".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'command'] = opts[:'command'] if !opts[:'command'].nil?
      query_params[:'container'] = opts[:'container'] if !opts[:'container'].nil?
      query_params[:'stderr'] = opts[:'stderr'] if !opts[:'stderr'].nil?
      query_params[:'stdin'] = opts[:'stdin'] if !opts[:'stdin'].nil?
      query_params[:'stdout'] = opts[:'stdout'] if !opts[:'stdout'].nil?
      query_params[:'tty'] = opts[:'tty'] if !opts[:'tty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_namespaced_pod_exec\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to portforward of Pod
    # @param name name of the PodPortForwardOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [Integer] :ports List of ports to forward Required when using WebSockets
    # @return [String]
    def connect_get_namespaced_pod_portforward(name, namespace, opts = {})
      data, _status_code, _headers = connect_get_namespaced_pod_portforward_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect GET requests to portforward of Pod
    # @param name name of the PodPortForwardOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [Integer] :ports List of ports to forward Required when using WebSockets
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_namespaced_pod_portforward_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_namespaced_pod_portforward ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_namespaced_pod_portforward"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_get_namespaced_pod_portforward"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/portforward".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'ports'] = opts[:'ports'] if !opts[:'ports'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_namespaced_pod_portforward\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_get_namespaced_pod_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_get_namespaced_pod_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect GET requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_namespaced_pod_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_namespaced_pod_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_namespaced_pod_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_get_namespaced_pod_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_namespaced_pod_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_get_namespaced_pod_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_get_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect GET requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_namespaced_pod_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_get_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_get_namespaced_pod_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_namespaced_pod_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_get_namespaced_service_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_get_namespaced_service_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect GET requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_namespaced_service_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_namespaced_service_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_namespaced_service_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_get_namespaced_service_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_namespaced_service_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_get_namespaced_service_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_get_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect GET requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_namespaced_service_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_get_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_get_namespaced_service_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_namespaced_service_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_get_node_proxy(name, opts = {})
      data, _status_code, _headers = connect_get_node_proxy_with_http_info(name, opts)
      return data
    end

    # 
    # connect GET requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_node_proxy_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_node_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_node_proxy"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_node_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect GET requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_get_node_proxy_with_path(name, path, opts = {})
      data, _status_code, _headers = connect_get_node_proxy_with_path_with_http_info(name, path, opts)
      return data
    end

    # 
    # connect GET requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_get_node_proxy_with_path_with_http_info(name, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_get_node_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_get_node_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_get_node_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_get_node_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect HEAD requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_head_namespaced_pod_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_head_namespaced_pod_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect HEAD requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_head_namespaced_pod_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_head_namespaced_pod_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_head_namespaced_pod_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_head_namespaced_pod_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:HEAD, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_head_namespaced_pod_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect HEAD requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_head_namespaced_pod_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_head_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect HEAD requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_head_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_head_namespaced_pod_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_head_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_head_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_head_namespaced_pod_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:HEAD, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_head_namespaced_pod_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect HEAD requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_head_namespaced_service_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_head_namespaced_service_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect HEAD requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_head_namespaced_service_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_head_namespaced_service_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_head_namespaced_service_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_head_namespaced_service_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:HEAD, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_head_namespaced_service_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect HEAD requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_head_namespaced_service_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_head_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect HEAD requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_head_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_head_namespaced_service_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_head_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_head_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_head_namespaced_service_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:HEAD, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_head_namespaced_service_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect HEAD requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_head_node_proxy(name, opts = {})
      data, _status_code, _headers = connect_head_node_proxy_with_http_info(name, opts)
      return data
    end

    # 
    # connect HEAD requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_head_node_proxy_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_head_node_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_head_node_proxy"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:HEAD, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_head_node_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect HEAD requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_head_node_proxy_with_path(name, path, opts = {})
      data, _status_code, _headers = connect_head_node_proxy_with_path_with_http_info(name, path, opts)
      return data
    end

    # 
    # connect HEAD requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_head_node_proxy_with_path_with_http_info(name, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_head_node_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_head_node_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_head_node_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:HEAD, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_head_node_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect OPTIONS requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_options_namespaced_pod_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_options_namespaced_pod_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect OPTIONS requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_options_namespaced_pod_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_options_namespaced_pod_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_options_namespaced_pod_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_options_namespaced_pod_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:OPTIONS, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_options_namespaced_pod_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect OPTIONS requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_options_namespaced_pod_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_options_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect OPTIONS requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_options_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_options_namespaced_pod_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_options_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_options_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_options_namespaced_pod_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:OPTIONS, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_options_namespaced_pod_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect OPTIONS requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_options_namespaced_service_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_options_namespaced_service_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect OPTIONS requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_options_namespaced_service_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_options_namespaced_service_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_options_namespaced_service_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_options_namespaced_service_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:OPTIONS, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_options_namespaced_service_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect OPTIONS requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_options_namespaced_service_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_options_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect OPTIONS requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_options_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_options_namespaced_service_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_options_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_options_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_options_namespaced_service_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:OPTIONS, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_options_namespaced_service_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect OPTIONS requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_options_node_proxy(name, opts = {})
      data, _status_code, _headers = connect_options_node_proxy_with_http_info(name, opts)
      return data
    end

    # 
    # connect OPTIONS requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_options_node_proxy_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_options_node_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_options_node_proxy"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:OPTIONS, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_options_node_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect OPTIONS requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_options_node_proxy_with_path(name, path, opts = {})
      data, _status_code, _headers = connect_options_node_proxy_with_path_with_http_info(name, path, opts)
      return data
    end

    # 
    # connect OPTIONS requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_options_node_proxy_with_path_with_http_info(name, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_options_node_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_options_node_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_options_node_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:OPTIONS, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_options_node_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PATCH requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_patch_namespaced_pod_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_patch_namespaced_pod_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect PATCH requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_patch_namespaced_pod_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_patch_namespaced_pod_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_patch_namespaced_pod_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_patch_namespaced_pod_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_patch_namespaced_pod_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PATCH requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_patch_namespaced_pod_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_patch_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect PATCH requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_patch_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_patch_namespaced_pod_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_patch_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_patch_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_patch_namespaced_pod_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_patch_namespaced_pod_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PATCH requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_patch_namespaced_service_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_patch_namespaced_service_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect PATCH requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_patch_namespaced_service_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_patch_namespaced_service_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_patch_namespaced_service_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_patch_namespaced_service_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_patch_namespaced_service_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PATCH requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_patch_namespaced_service_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_patch_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect PATCH requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_patch_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_patch_namespaced_service_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_patch_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_patch_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_patch_namespaced_service_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_patch_namespaced_service_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PATCH requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_patch_node_proxy(name, opts = {})
      data, _status_code, _headers = connect_patch_node_proxy_with_http_info(name, opts)
      return data
    end

    # 
    # connect PATCH requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_patch_node_proxy_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_patch_node_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_patch_node_proxy"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_patch_node_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PATCH requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_patch_node_proxy_with_path(name, path, opts = {})
      data, _status_code, _headers = connect_patch_node_proxy_with_path_with_http_info(name, path, opts)
      return data
    end

    # 
    # connect PATCH requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_patch_node_proxy_with_path_with_http_info(name, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_patch_node_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_patch_node_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_patch_node_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_patch_node_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to attach of Pod
    # @param name name of the PodAttachOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :container The container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :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.
    # @return [String]
    def connect_post_namespaced_pod_attach(name, namespace, opts = {})
      data, _status_code, _headers = connect_post_namespaced_pod_attach_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect POST requests to attach of Pod
    # @param name name of the PodAttachOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :container The container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.
    # @option opts [BOOLEAN] :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.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_namespaced_pod_attach_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_namespaced_pod_attach ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_namespaced_pod_attach"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_post_namespaced_pod_attach"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/attach".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'container'] = opts[:'container'] if !opts[:'container'].nil?
      query_params[:'stderr'] = opts[:'stderr'] if !opts[:'stderr'].nil?
      query_params[:'stdin'] = opts[:'stdin'] if !opts[:'stdin'].nil?
      query_params[:'stdout'] = opts[:'stdout'] if !opts[:'stdout'].nil?
      query_params[:'tty'] = opts[:'tty'] if !opts[:'tty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_namespaced_pod_attach\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to exec of Pod
    # @param name name of the PodExecOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :command Command is the remote command to execute. argv array. Not executed within a shell.
    # @option opts [String] :container Container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Redirect the standard error stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Redirect the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Redirect the standard output stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :tty TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.
    # @return [String]
    def connect_post_namespaced_pod_exec(name, namespace, opts = {})
      data, _status_code, _headers = connect_post_namespaced_pod_exec_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect POST requests to exec of Pod
    # @param name name of the PodExecOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :command Command is the remote command to execute. argv array. Not executed within a shell.
    # @option opts [String] :container Container in which to execute the command. Defaults to only container if there is only one container in the pod.
    # @option opts [BOOLEAN] :stderr Redirect the standard error stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :stdin Redirect the standard input stream of the pod for this call. Defaults to false.
    # @option opts [BOOLEAN] :stdout Redirect the standard output stream of the pod for this call. Defaults to true.
    # @option opts [BOOLEAN] :tty TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_namespaced_pod_exec_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_namespaced_pod_exec ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_namespaced_pod_exec"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_post_namespaced_pod_exec"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/exec".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'command'] = opts[:'command'] if !opts[:'command'].nil?
      query_params[:'container'] = opts[:'container'] if !opts[:'container'].nil?
      query_params[:'stderr'] = opts[:'stderr'] if !opts[:'stderr'].nil?
      query_params[:'stdin'] = opts[:'stdin'] if !opts[:'stdin'].nil?
      query_params[:'stdout'] = opts[:'stdout'] if !opts[:'stdout'].nil?
      query_params[:'tty'] = opts[:'tty'] if !opts[:'tty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_namespaced_pod_exec\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to portforward of Pod
    # @param name name of the PodPortForwardOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [Integer] :ports List of ports to forward Required when using WebSockets
    # @return [String]
    def connect_post_namespaced_pod_portforward(name, namespace, opts = {})
      data, _status_code, _headers = connect_post_namespaced_pod_portforward_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect POST requests to portforward of Pod
    # @param name name of the PodPortForwardOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [Integer] :ports List of ports to forward Required when using WebSockets
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_namespaced_pod_portforward_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_namespaced_pod_portforward ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_namespaced_pod_portforward"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_post_namespaced_pod_portforward"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/portforward".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'ports'] = opts[:'ports'] if !opts[:'ports'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_namespaced_pod_portforward\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_post_namespaced_pod_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_post_namespaced_pod_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect POST requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_namespaced_pod_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_namespaced_pod_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_namespaced_pod_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_post_namespaced_pod_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_namespaced_pod_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_post_namespaced_pod_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_post_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect POST requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_namespaced_pod_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_post_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_post_namespaced_pod_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_namespaced_pod_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_post_namespaced_service_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_post_namespaced_service_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect POST requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_namespaced_service_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_namespaced_service_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_namespaced_service_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_post_namespaced_service_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_namespaced_service_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_post_namespaced_service_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_post_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect POST requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_namespaced_service_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_post_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_post_namespaced_service_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_namespaced_service_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_post_node_proxy(name, opts = {})
      data, _status_code, _headers = connect_post_node_proxy_with_http_info(name, opts)
      return data
    end

    # 
    # connect POST requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_node_proxy_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_node_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_node_proxy"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_node_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect POST requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_post_node_proxy_with_path(name, path, opts = {})
      data, _status_code, _headers = connect_post_node_proxy_with_path_with_http_info(name, path, opts)
      return data
    end

    # 
    # connect POST requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_post_node_proxy_with_path_with_http_info(name, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_post_node_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_post_node_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_post_node_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_post_node_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PUT requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_put_namespaced_pod_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_put_namespaced_pod_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect PUT requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_put_namespaced_pod_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_put_namespaced_pod_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_put_namespaced_pod_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_put_namespaced_pod_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_put_namespaced_pod_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PUT requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [String]
    def connect_put_namespaced_pod_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_put_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect PUT requests to proxy of Pod
    # @param name name of the PodProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to pod.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_put_namespaced_pod_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_put_namespaced_pod_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_put_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_put_namespaced_pod_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_put_namespaced_pod_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_put_namespaced_pod_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PUT requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_put_namespaced_service_proxy(name, namespace, opts = {})
      data, _status_code, _headers = connect_put_namespaced_service_proxy_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # connect PUT requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_put_namespaced_service_proxy_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_put_namespaced_service_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_put_namespaced_service_proxy"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_put_namespaced_service_proxy"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_put_namespaced_service_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PUT requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [String]
    def connect_put_namespaced_service_proxy_with_path(name, namespace, path, opts = {})
      data, _status_code, _headers = connect_put_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts)
      return data
    end

    # 
    # connect PUT requests to proxy of Service
    # @param name name of the ServiceProxyOptions
    # @param namespace object name and auth scope, such as for teams and projects
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 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&#x3D;user:kimchy. Path is _search?q&#x3D;user:kimchy.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_put_namespaced_service_proxy_with_path_with_http_info(name, namespace, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_put_namespaced_service_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_put_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.connect_put_namespaced_service_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_put_namespaced_service_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_put_namespaced_service_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PUT requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_put_node_proxy(name, opts = {})
      data, _status_code, _headers = connect_put_node_proxy_with_http_info(name, opts)
      return data
    end

    # 
    # connect PUT requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_put_node_proxy_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_put_node_proxy ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_put_node_proxy"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path'] if !opts[:'path'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_put_node_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # connect PUT requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [String]
    def connect_put_node_proxy_with_path(name, path, opts = {})
      data, _status_code, _headers = connect_put_node_proxy_with_path_with_http_info(name, path, opts)
      return data
    end

    # 
    # connect PUT requests to proxy of Node
    # @param name name of the NodeProxyOptions
    # @param path path to the resource
    # @param [Hash] opts the optional parameters
    # @option opts [String] :path2 Path is the URL path to use for the current proxy request to node.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def connect_put_node_proxy_with_path_with_http_info(name, path, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.connect_put_node_proxy_with_path ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.connect_put_node_proxy_with_path"
      end
      # verify the required parameter 'path' is set
      if @api_client.config.client_side_validation && path.nil?
        fail ArgumentError, "Missing the required parameter 'path' when calling CoreV1Api.connect_put_node_proxy_with_path"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/proxy/{path}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'path' + '}', path.to_s)

      # query parameters
      query_params = {}
      query_params[:'path'] = opts[:'path2'] if !opts[:'path2'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['*/*'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#connect_put_node_proxy_with_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Namespace]
    def create_namespace(body, opts = {})
      data, _status_code, _headers = create_namespace_with_http_info(body, opts)
      return data
    end

    # 
    # create a Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def create_namespace_with_http_info(body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespace ..."
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespace"
      end
      # resource path
      local_var_path = "/api/v1/namespaces"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a Binding
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Binding]
    def create_namespaced_binding(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_binding_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a Binding
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Binding, Fixnum, Hash)>] V1Binding data, response status code and response headers
    def create_namespaced_binding_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_binding ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_binding"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_binding"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/bindings".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Binding')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_binding\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ConfigMap]
    def create_namespaced_config_map(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_config_map_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ConfigMap, Fixnum, Hash)>] V1ConfigMap data, response status code and response headers
    def create_namespaced_config_map_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_config_map ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_config_map"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_config_map"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/configmaps".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ConfigMap')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_config_map\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Endpoints]
    def create_namespaced_endpoints(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_endpoints_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Endpoints, Fixnum, Hash)>] V1Endpoints data, response status code and response headers
    def create_namespaced_endpoints_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_endpoints ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_endpoints"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_endpoints"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/endpoints".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Endpoints')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create an Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Event]
    def create_namespaced_event(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_event_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create an Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Event, Fixnum, Hash)>] V1Event data, response status code and response headers
    def create_namespaced_event_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_event ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_event"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_event"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/events".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Event')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1LimitRange]
    def create_namespaced_limit_range(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_limit_range_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1LimitRange, Fixnum, Hash)>] V1LimitRange data, response status code and response headers
    def create_namespaced_limit_range_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_limit_range ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_limit_range"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_limit_range"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/limitranges".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1LimitRange')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_limit_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolumeClaim]
    def create_namespaced_persistent_volume_claim(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_persistent_volume_claim_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolumeClaim, Fixnum, Hash)>] V1PersistentVolumeClaim data, response status code and response headers
    def create_namespaced_persistent_volume_claim_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_persistent_volume_claim ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_persistent_volume_claim"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_persistent_volume_claim"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaim')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_persistent_volume_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Pod]
    def create_namespaced_pod(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_pod_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Pod, Fixnum, Hash)>] V1Pod data, response status code and response headers
    def create_namespaced_pod_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_pod ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_pod"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_pod"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Pod')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_pod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create binding of a Pod
    # @param name name of the Binding
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Binding]
    def create_namespaced_pod_binding(name, namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_pod_binding_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # create binding of a Pod
    # @param name name of the Binding
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Binding, Fixnum, Hash)>] V1Binding data, response status code and response headers
    def create_namespaced_pod_binding_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_pod_binding ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.create_namespaced_pod_binding"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_pod_binding"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_pod_binding"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/binding".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Binding')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_pod_binding\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create eviction of a Pod
    # @param name name of the Eviction
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1beta1Eviction]
    def create_namespaced_pod_eviction(name, namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_pod_eviction_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # create eviction of a Pod
    # @param name name of the Eviction
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1beta1Eviction, Fixnum, Hash)>] V1beta1Eviction data, response status code and response headers
    def create_namespaced_pod_eviction_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_pod_eviction ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.create_namespaced_pod_eviction"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_pod_eviction"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_pod_eviction"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/eviction".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1beta1Eviction')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_pod_eviction\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PodTemplate]
    def create_namespaced_pod_template(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_pod_template_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PodTemplate, Fixnum, Hash)>] V1PodTemplate data, response status code and response headers
    def create_namespaced_pod_template_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_pod_template ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_pod_template"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_pod_template"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/podtemplates".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodTemplate')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_pod_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ReplicationController]
    def create_namespaced_replication_controller(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_replication_controller_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ReplicationController, Fixnum, Hash)>] V1ReplicationController data, response status code and response headers
    def create_namespaced_replication_controller_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_replication_controller ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_replication_controller"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_replication_controller"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationController')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_replication_controller\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ResourceQuota]
    def create_namespaced_resource_quota(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_resource_quota_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ResourceQuota, Fixnum, Hash)>] V1ResourceQuota data, response status code and response headers
    def create_namespaced_resource_quota_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_resource_quota ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_resource_quota"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_resource_quota"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuota')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_resource_quota\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Secret]
    def create_namespaced_secret(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_secret_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Secret, Fixnum, Hash)>] V1Secret data, response status code and response headers
    def create_namespaced_secret_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_secret ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_secret"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_secret"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/secrets".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Secret')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Service]
    def create_namespaced_service(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_service_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Service, Fixnum, Hash)>] V1Service data, response status code and response headers
    def create_namespaced_service_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_service ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_service"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_service"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Service')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_service\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ServiceAccount]
    def create_namespaced_service_account(namespace, body, opts = {})
      data, _status_code, _headers = create_namespaced_service_account_with_http_info(namespace, body, opts)
      return data
    end

    # 
    # create a ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ServiceAccount, Fixnum, Hash)>] V1ServiceAccount data, response status code and response headers
    def create_namespaced_service_account_with_http_info(namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_namespaced_service_account ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.create_namespaced_service_account"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_namespaced_service_account"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/serviceaccounts".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceAccount')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_namespaced_service_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Node]
    def create_node(body, opts = {})
      data, _status_code, _headers = create_node_with_http_info(body, opts)
      return data
    end

    # 
    # create a Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Node, Fixnum, Hash)>] V1Node data, response status code and response headers
    def create_node_with_http_info(body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_node ..."
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_node"
      end
      # resource path
      local_var_path = "/api/v1/nodes"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Node')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # create a PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolume]
    def create_persistent_volume(body, opts = {})
      data, _status_code, _headers = create_persistent_volume_with_http_info(body, opts)
      return data
    end

    # 
    # create a PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolume, Fixnum, Hash)>] V1PersistentVolume data, response status code and response headers
    def create_persistent_volume_with_http_info(body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.create_persistent_volume ..."
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.create_persistent_volume"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolume')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#create_persistent_volume\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_config_map(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_config_map_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_config_map_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_config_map ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_config_map"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/configmaps".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_config_map\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_endpoints(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_endpoints_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_endpoints_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_endpoints ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_endpoints"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/endpoints".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_event(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_event_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_event_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_event ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_event"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/events".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_limit_range(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_limit_range_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_limit_range_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_limit_range ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_limit_range"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/limitranges".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_limit_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_persistent_volume_claim(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_persistent_volume_claim_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_persistent_volume_claim_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_persistent_volume_claim ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_persistent_volume_claim"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_persistent_volume_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_pod(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_pod_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_pod_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_pod ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_pod"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_pod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_pod_template(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_pod_template_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_pod_template_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_pod_template ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_pod_template"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/podtemplates".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_pod_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_replication_controller(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_replication_controller_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_replication_controller_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_replication_controller ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_replication_controller"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_replication_controller\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_resource_quota(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_resource_quota_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_resource_quota_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_resource_quota ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_resource_quota"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_resource_quota\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_secret(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_secret_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_secret_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_secret ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_secret"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/secrets".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_namespaced_service_account(namespace, opts = {})
      data, _status_code, _headers = delete_collection_namespaced_service_account_with_http_info(namespace, opts)
      return data
    end

    # 
    # delete collection of ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_namespaced_service_account_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_namespaced_service_account ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_collection_namespaced_service_account"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/serviceaccounts".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_namespaced_service_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of Node
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_node(opts = {})
      data, _status_code, _headers = delete_collection_node_with_http_info(opts)
      return data
    end

    # 
    # delete collection of Node
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_node_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_node ..."
      end
      # resource path
      local_var_path = "/api/v1/nodes"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete collection of PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1Status]
    def delete_collection_persistent_volume(opts = {})
      data, _status_code, _headers = delete_collection_persistent_volume_with_http_info(opts)
      return data
    end

    # 
    # delete collection of PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_collection_persistent_volume_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_collection_persistent_volume ..."
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_collection_persistent_volume\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a Namespace
    # @param name name of the Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespace(name, opts = {})
      data, _status_code, _headers = delete_namespace_with_http_info(name, opts)
      return data
    end

    # 
    # delete a Namespace
    # @param name name of the Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespace_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespace ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespace"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_config_map(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_config_map_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_config_map_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_config_map ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_config_map"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_config_map"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/configmaps/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_config_map\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_endpoints(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_endpoints_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_endpoints_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_endpoints ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_endpoints"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_endpoints"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/endpoints/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete an Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_event(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_event_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete an Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_event_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_event ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_event"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_event"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/events/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_limit_range(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_limit_range_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_limit_range_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_limit_range ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_limit_range"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_limit_range"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/limitranges/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_limit_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_persistent_volume_claim(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_persistent_volume_claim_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_persistent_volume_claim_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_persistent_volume_claim ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_persistent_volume_claim"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_persistent_volume_claim"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_persistent_volume_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_pod(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_pod_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_pod_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_pod ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_pod"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_pod"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_pod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_pod_template(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_pod_template_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_pod_template_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_pod_template ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_pod_template"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_pod_template"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/podtemplates/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_pod_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_replication_controller(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_replication_controller_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_replication_controller_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_replication_controller ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_replication_controller"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_replication_controller"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_replication_controller\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_resource_quota(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_resource_quota_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_resource_quota_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_resource_quota ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_resource_quota"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_resource_quota"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_resource_quota\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_secret(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_secret_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_secret_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_secret ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_secret"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_secret"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/secrets/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_service(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_service_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_service_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_service ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_service"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_service"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_service\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_namespaced_service_account(name, namespace, opts = {})
      data, _status_code, _headers = delete_namespaced_service_account_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # delete a ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_namespaced_service_account_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_namespaced_service_account ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_namespaced_service_account"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.delete_namespaced_service_account"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/serviceaccounts/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_namespaced_service_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a Node
    # @param name name of the Node
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_node(name, opts = {})
      data, _status_code, _headers = delete_node_with_http_info(name, opts)
      return data
    end

    # 
    # delete a Node
    # @param name name of the Node
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_node_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_node ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_node"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # delete a PersistentVolume
    # @param name name of the PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [V1Status]
    def delete_persistent_volume(name, opts = {})
      data, _status_code, _headers = delete_persistent_volume_with_http_info(name, opts)
      return data
    end

    # 
    # delete a PersistentVolume
    # @param name name of the PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [V1DeleteOptions] :body 
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [Integer] :grace_period_seconds 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.
    # @option opts [BOOLEAN] :orphan_dependents Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \&quot;orphan\&quot; finalizer will be added to/removed from the object&#39;s finalizers list. Either this field or PropagationPolicy may be set, but not both.
    # @option opts [String] :propagation_policy 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: &#39;Orphan&#39; - orphan the dependents; &#39;Background&#39; - allow the garbage collector to delete the dependents in the background; &#39;Foreground&#39; - a cascading policy that deletes all dependents in the foreground.
    # @return [Array<(V1Status, Fixnum, Hash)>] V1Status data, response status code and response headers
    def delete_persistent_volume_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.delete_persistent_volume ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.delete_persistent_volume"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'gracePeriodSeconds'] = opts[:'grace_period_seconds'] if !opts[:'grace_period_seconds'].nil?
      query_params[:'orphanDependents'] = opts[:'orphan_dependents'] if !opts[:'orphan_dependents'].nil?
      query_params[:'propagationPolicy'] = opts[:'propagation_policy'] if !opts[:'propagation_policy'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(opts[:'body'])
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Status')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#delete_persistent_volume\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # get available resources
    # @param [Hash] opts the optional parameters
    # @return [V1APIResourceList]
    def get_api_resources(opts = {})
      data, _status_code, _headers = get_api_resources_with_http_info(opts)
      return data
    end

    # 
    # get available resources
    # @param [Hash] opts the optional parameters
    # @return [Array<(V1APIResourceList, Fixnum, Hash)>] V1APIResourceList data, response status code and response headers
    def get_api_resources_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.get_api_resources ..."
      end
      # resource path
      local_var_path = "/api/v1/"

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1APIResourceList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#get_api_resources\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list objects of kind ComponentStatus
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ComponentStatusList]
    def list_component_status(opts = {})
      data, _status_code, _headers = list_component_status_with_http_info(opts)
      return data
    end

    # 
    # list objects of kind ComponentStatus
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ComponentStatusList, Fixnum, Hash)>] V1ComponentStatusList data, response status code and response headers
    def list_component_status_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_component_status ..."
      end
      # resource path
      local_var_path = "/api/v1/componentstatuses"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ComponentStatusList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_component_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ConfigMap
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ConfigMapList]
    def list_config_map_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_config_map_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind ConfigMap
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ConfigMapList, Fixnum, Hash)>] V1ConfigMapList data, response status code and response headers
    def list_config_map_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_config_map_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/configmaps"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ConfigMapList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_config_map_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Endpoints
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1EndpointsList]
    def list_endpoints_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_endpoints_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind Endpoints
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1EndpointsList, Fixnum, Hash)>] V1EndpointsList data, response status code and response headers
    def list_endpoints_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_endpoints_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/endpoints"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1EndpointsList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_endpoints_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Event
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1EventList]
    def list_event_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_event_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind Event
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1EventList, Fixnum, Hash)>] V1EventList data, response status code and response headers
    def list_event_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_event_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/events"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1EventList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_event_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind LimitRange
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1LimitRangeList]
    def list_limit_range_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_limit_range_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind LimitRange
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1LimitRangeList, Fixnum, Hash)>] V1LimitRangeList data, response status code and response headers
    def list_limit_range_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_limit_range_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/limitranges"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1LimitRangeList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_limit_range_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1NamespaceList]
    def list_namespace(opts = {})
      data, _status_code, _headers = list_namespace_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1NamespaceList, Fixnum, Hash)>] V1NamespaceList data, response status code and response headers
    def list_namespace_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespace ..."
      end
      # resource path
      local_var_path = "/api/v1/namespaces"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1NamespaceList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ConfigMapList]
    def list_namespaced_config_map(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_config_map_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ConfigMapList, Fixnum, Hash)>] V1ConfigMapList data, response status code and response headers
    def list_namespaced_config_map_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_config_map ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_config_map"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/configmaps".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ConfigMapList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_config_map\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1EndpointsList]
    def list_namespaced_endpoints(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_endpoints_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1EndpointsList, Fixnum, Hash)>] V1EndpointsList data, response status code and response headers
    def list_namespaced_endpoints_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_endpoints ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_endpoints"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/endpoints".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1EndpointsList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1EventList]
    def list_namespaced_event(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_event_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1EventList, Fixnum, Hash)>] V1EventList data, response status code and response headers
    def list_namespaced_event_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_event ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_event"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/events".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1EventList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1LimitRangeList]
    def list_namespaced_limit_range(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_limit_range_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1LimitRangeList, Fixnum, Hash)>] V1LimitRangeList data, response status code and response headers
    def list_namespaced_limit_range_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_limit_range ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_limit_range"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/limitranges".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1LimitRangeList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_limit_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1PersistentVolumeClaimList]
    def list_namespaced_persistent_volume_claim(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_persistent_volume_claim_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1PersistentVolumeClaimList, Fixnum, Hash)>] V1PersistentVolumeClaimList data, response status code and response headers
    def list_namespaced_persistent_volume_claim_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_persistent_volume_claim ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_persistent_volume_claim"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaimList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_persistent_volume_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1PodList]
    def list_namespaced_pod(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_pod_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1PodList, Fixnum, Hash)>] V1PodList data, response status code and response headers
    def list_namespaced_pod_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_pod ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_pod"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_pod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1PodTemplateList]
    def list_namespaced_pod_template(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_pod_template_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1PodTemplateList, Fixnum, Hash)>] V1PodTemplateList data, response status code and response headers
    def list_namespaced_pod_template_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_pod_template ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_pod_template"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/podtemplates".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodTemplateList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_pod_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ReplicationControllerList]
    def list_namespaced_replication_controller(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_replication_controller_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ReplicationControllerList, Fixnum, Hash)>] V1ReplicationControllerList data, response status code and response headers
    def list_namespaced_replication_controller_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_replication_controller ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_replication_controller"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationControllerList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_replication_controller\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ResourceQuotaList]
    def list_namespaced_resource_quota(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_resource_quota_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ResourceQuotaList, Fixnum, Hash)>] V1ResourceQuotaList data, response status code and response headers
    def list_namespaced_resource_quota_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_resource_quota ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_resource_quota"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuotaList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_resource_quota\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1SecretList]
    def list_namespaced_secret(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_secret_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1SecretList, Fixnum, Hash)>] V1SecretList data, response status code and response headers
    def list_namespaced_secret_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_secret ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_secret"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/secrets".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1SecretList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ServiceList]
    def list_namespaced_service(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_service_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If IncludeUninitialized is specified, the object may be returned without completing initialization.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ServiceList, Fixnum, Hash)>] V1ServiceList data, response status code and response headers
    def list_namespaced_service_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_service ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_service"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_service\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ServiceAccountList]
    def list_namespaced_service_account(namespace, opts = {})
      data, _status_code, _headers = list_namespaced_service_account_with_http_info(namespace, opts)
      return data
    end

    # 
    # list or watch objects of kind ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ServiceAccountList, Fixnum, Hash)>] V1ServiceAccountList data, response status code and response headers
    def list_namespaced_service_account_with_http_info(namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_namespaced_service_account ..."
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.list_namespaced_service_account"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/serviceaccounts".sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceAccountList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_namespaced_service_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Node
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1NodeList]
    def list_node(opts = {})
      data, _status_code, _headers = list_node_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind Node
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1NodeList, Fixnum, Hash)>] V1NodeList data, response status code and response headers
    def list_node_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_node ..."
      end
      # resource path
      local_var_path = "/api/v1/nodes"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1NodeList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1PersistentVolumeList]
    def list_persistent_volume(opts = {})
      data, _status_code, _headers = list_persistent_volume_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1PersistentVolumeList, Fixnum, Hash)>] V1PersistentVolumeList data, response status code and response headers
    def list_persistent_volume_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_persistent_volume ..."
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes"

      # query parameters
      query_params = {}
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_persistent_volume\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind PersistentVolumeClaim
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1PersistentVolumeClaimList]
    def list_persistent_volume_claim_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_persistent_volume_claim_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind PersistentVolumeClaim
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1PersistentVolumeClaimList, Fixnum, Hash)>] V1PersistentVolumeClaimList data, response status code and response headers
    def list_persistent_volume_claim_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_persistent_volume_claim_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumeclaims"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaimList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_persistent_volume_claim_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Pod
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1PodList]
    def list_pod_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_pod_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind Pod
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1PodList, Fixnum, Hash)>] V1PodList data, response status code and response headers
    def list_pod_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_pod_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/pods"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_pod_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind PodTemplate
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1PodTemplateList]
    def list_pod_template_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_pod_template_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind PodTemplate
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1PodTemplateList, Fixnum, Hash)>] V1PodTemplateList data, response status code and response headers
    def list_pod_template_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_pod_template_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/podtemplates"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodTemplateList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_pod_template_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ReplicationController
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ReplicationControllerList]
    def list_replication_controller_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_replication_controller_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind ReplicationController
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ReplicationControllerList, Fixnum, Hash)>] V1ReplicationControllerList data, response status code and response headers
    def list_replication_controller_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_replication_controller_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/replicationcontrollers"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationControllerList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_replication_controller_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ResourceQuota
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ResourceQuotaList]
    def list_resource_quota_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_resource_quota_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind ResourceQuota
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ResourceQuotaList, Fixnum, Hash)>] V1ResourceQuotaList data, response status code and response headers
    def list_resource_quota_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_resource_quota_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/resourcequotas"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuotaList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_resource_quota_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Secret
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1SecretList]
    def list_secret_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_secret_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind Secret
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1SecretList, Fixnum, Hash)>] V1SecretList data, response status code and response headers
    def list_secret_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_secret_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/secrets"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1SecretList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_secret_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind ServiceAccount
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ServiceAccountList]
    def list_service_account_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_service_account_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind ServiceAccount
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ServiceAccountList, Fixnum, Hash)>] V1ServiceAccountList data, response status code and response headers
    def list_service_account_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_service_account_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/serviceaccounts"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceAccountList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_service_account_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # list or watch objects of kind Service
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [V1ServiceList]
    def list_service_for_all_namespaces(opts = {})
      data, _status_code, _headers = list_service_for_all_namespaces_with_http_info(opts)
      return data
    end

    # 
    # list or watch objects of kind Service
    # @param [Hash] opts the optional parameters
    # @option opts [String] :continue The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \&quot;next key\&quot;.  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.
    # @option opts [String] :field_selector A selector to restrict the list of returned objects by their fields. Defaults to everything.
    # @option opts [BOOLEAN] :include_uninitialized If true, partially initialized resources are included in the response.
    # @option opts [String] :label_selector A selector to restrict the list of returned objects by their labels. Defaults to everything.
    # @option opts [Integer] :limit limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :resource_version 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&#39;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.
    # @option opts [Integer] :timeout_seconds Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
    # @option opts [BOOLEAN] :watch Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
    # @return [Array<(V1ServiceList, Fixnum, Hash)>] V1ServiceList data, response status code and response headers
    def list_service_for_all_namespaces_with_http_info(opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.list_service_for_all_namespaces ..."
      end
      # resource path
      local_var_path = "/api/v1/services"

      # query parameters
      query_params = {}
      query_params[:'continue'] = opts[:'continue'] if !opts[:'continue'].nil?
      query_params[:'fieldSelector'] = opts[:'field_selector'] if !opts[:'field_selector'].nil?
      query_params[:'includeUninitialized'] = opts[:'include_uninitialized'] if !opts[:'include_uninitialized'].nil?
      query_params[:'labelSelector'] = opts[:'label_selector'] if !opts[:'label_selector'].nil?
      query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'resourceVersion'] = opts[:'resource_version'] if !opts[:'resource_version'].nil?
      query_params[:'timeoutSeconds'] = opts[:'timeout_seconds'] if !opts[:'timeout_seconds'].nil?
      query_params[:'watch'] = opts[:'watch'] if !opts[:'watch'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/json;stream=watch', 'application/vnd.kubernetes.protobuf;stream=watch'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#list_service_for_all_namespaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Namespace]
    def patch_namespace(name, body, opts = {})
      data, _status_code, _headers = patch_namespace_with_http_info(name, body, opts)
      return data
    end

    # 
    # partially update the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def patch_namespace_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespace ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespace"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespace"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Namespace]
    def patch_namespace_status(name, body, opts = {})
      data, _status_code, _headers = patch_namespace_status_with_http_info(name, body, opts)
      return data
    end

    # 
    # partially update status of the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def patch_namespace_status_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespace_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespace_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespace_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespace_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ConfigMap]
    def patch_namespaced_config_map(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_config_map_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ConfigMap, Fixnum, Hash)>] V1ConfigMap data, response status code and response headers
    def patch_namespaced_config_map_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_config_map ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_config_map"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_config_map"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_config_map"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/configmaps/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ConfigMap')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_config_map\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Endpoints]
    def patch_namespaced_endpoints(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_endpoints_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Endpoints, Fixnum, Hash)>] V1Endpoints data, response status code and response headers
    def patch_namespaced_endpoints_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_endpoints ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_endpoints"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_endpoints"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_endpoints"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/endpoints/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Endpoints')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Event]
    def patch_namespaced_event(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_event_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Event, Fixnum, Hash)>] V1Event data, response status code and response headers
    def patch_namespaced_event_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_event ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_event"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_event"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_event"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/events/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Event')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1LimitRange]
    def patch_namespaced_limit_range(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_limit_range_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1LimitRange, Fixnum, Hash)>] V1LimitRange data, response status code and response headers
    def patch_namespaced_limit_range_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_limit_range ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_limit_range"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_limit_range"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_limit_range"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/limitranges/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1LimitRange')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_limit_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolumeClaim]
    def patch_namespaced_persistent_volume_claim(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_persistent_volume_claim_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolumeClaim, Fixnum, Hash)>] V1PersistentVolumeClaim data, response status code and response headers
    def patch_namespaced_persistent_volume_claim_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_persistent_volume_claim ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_persistent_volume_claim"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_persistent_volume_claim"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_persistent_volume_claim"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaim')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_persistent_volume_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolumeClaim]
    def patch_namespaced_persistent_volume_claim_status(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_persistent_volume_claim_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update status of the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolumeClaim, Fixnum, Hash)>] V1PersistentVolumeClaim data, response status code and response headers
    def patch_namespaced_persistent_volume_claim_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_persistent_volume_claim_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_persistent_volume_claim_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_persistent_volume_claim_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_persistent_volume_claim_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaim')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_persistent_volume_claim_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Pod]
    def patch_namespaced_pod(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_pod_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Pod, Fixnum, Hash)>] V1Pod data, response status code and response headers
    def patch_namespaced_pod_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_pod ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_pod"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_pod"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_pod"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Pod')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_pod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Pod]
    def patch_namespaced_pod_status(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_pod_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update status of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Pod, Fixnum, Hash)>] V1Pod data, response status code and response headers
    def patch_namespaced_pod_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_pod_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_pod_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_pod_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_pod_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Pod')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_pod_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PodTemplate]
    def patch_namespaced_pod_template(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_pod_template_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PodTemplate, Fixnum, Hash)>] V1PodTemplate data, response status code and response headers
    def patch_namespaced_pod_template_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_pod_template ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_pod_template"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_pod_template"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_pod_template"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/podtemplates/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodTemplate')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_pod_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ReplicationController]
    def patch_namespaced_replication_controller(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_replication_controller_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ReplicationController, Fixnum, Hash)>] V1ReplicationController data, response status code and response headers
    def patch_namespaced_replication_controller_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_replication_controller ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_replication_controller"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_replication_controller"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_replication_controller"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationController')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_replication_controller\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update scale of the specified ReplicationController
    # @param name name of the Scale
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Scale]
    def patch_namespaced_replication_controller_scale(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_replication_controller_scale_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update scale of the specified ReplicationController
    # @param name name of the Scale
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Scale, Fixnum, Hash)>] V1Scale data, response status code and response headers
    def patch_namespaced_replication_controller_scale_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_replication_controller_scale ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_replication_controller_scale"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_replication_controller_scale"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_replication_controller_scale"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Scale')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_replication_controller_scale\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ReplicationController]
    def patch_namespaced_replication_controller_status(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_replication_controller_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update status of the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ReplicationController, Fixnum, Hash)>] V1ReplicationController data, response status code and response headers
    def patch_namespaced_replication_controller_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_replication_controller_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_replication_controller_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_replication_controller_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_replication_controller_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationController')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_replication_controller_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ResourceQuota]
    def patch_namespaced_resource_quota(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_resource_quota_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ResourceQuota, Fixnum, Hash)>] V1ResourceQuota data, response status code and response headers
    def patch_namespaced_resource_quota_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_resource_quota ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_resource_quota"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_resource_quota"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_resource_quota"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuota')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_resource_quota\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ResourceQuota]
    def patch_namespaced_resource_quota_status(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_resource_quota_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update status of the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ResourceQuota, Fixnum, Hash)>] V1ResourceQuota data, response status code and response headers
    def patch_namespaced_resource_quota_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_resource_quota_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_resource_quota_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_resource_quota_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_resource_quota_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuota')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_resource_quota_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Secret]
    def patch_namespaced_secret(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_secret_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Secret, Fixnum, Hash)>] V1Secret data, response status code and response headers
    def patch_namespaced_secret_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_secret ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_secret"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_secret"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_secret"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/secrets/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Secret')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Service]
    def patch_namespaced_service(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_service_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Service, Fixnum, Hash)>] V1Service data, response status code and response headers
    def patch_namespaced_service_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_service ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_service"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_service"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_service"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Service')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_service\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ServiceAccount]
    def patch_namespaced_service_account(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_service_account_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update the specified ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ServiceAccount, Fixnum, Hash)>] V1ServiceAccount data, response status code and response headers
    def patch_namespaced_service_account_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_service_account ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_service_account"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_service_account"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_service_account"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/serviceaccounts/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceAccount')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_service_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Service]
    def patch_namespaced_service_status(name, namespace, body, opts = {})
      data, _status_code, _headers = patch_namespaced_service_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # partially update status of the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Service, Fixnum, Hash)>] V1Service data, response status code and response headers
    def patch_namespaced_service_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_namespaced_service_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_namespaced_service_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.patch_namespaced_service_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_namespaced_service_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Service')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_namespaced_service_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Node]
    def patch_node(name, body, opts = {})
      data, _status_code, _headers = patch_node_with_http_info(name, body, opts)
      return data
    end

    # 
    # partially update the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Node, Fixnum, Hash)>] V1Node data, response status code and response headers
    def patch_node_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_node ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_node"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_node"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Node')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Node]
    def patch_node_status(name, body, opts = {})
      data, _status_code, _headers = patch_node_status_with_http_info(name, body, opts)
      return data
    end

    # 
    # partially update status of the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Node, Fixnum, Hash)>] V1Node data, response status code and response headers
    def patch_node_status_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_node_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_node_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_node_status"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Node')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_node_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolume]
    def patch_persistent_volume(name, body, opts = {})
      data, _status_code, _headers = patch_persistent_volume_with_http_info(name, body, opts)
      return data
    end

    # 
    # partially update the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolume, Fixnum, Hash)>] V1PersistentVolume data, response status code and response headers
    def patch_persistent_volume_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_persistent_volume ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_persistent_volume"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_persistent_volume"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolume')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_persistent_volume\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # partially update status of the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolume]
    def patch_persistent_volume_status(name, body, opts = {})
      data, _status_code, _headers = patch_persistent_volume_status_with_http_info(name, body, opts)
      return data
    end

    # 
    # partially update status of the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolume, Fixnum, Hash)>] V1PersistentVolume data, response status code and response headers
    def patch_persistent_volume_status_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.patch_persistent_volume_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.patch_persistent_volume_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.patch_persistent_volume_status"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolume')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#patch_persistent_volume_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified ComponentStatus
    # @param name name of the ComponentStatus
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1ComponentStatus]
    def read_component_status(name, opts = {})
      data, _status_code, _headers = read_component_status_with_http_info(name, opts)
      return data
    end

    # 
    # read the specified ComponentStatus
    # @param name name of the ComponentStatus
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1ComponentStatus, Fixnum, Hash)>] V1ComponentStatus data, response status code and response headers
    def read_component_status_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_component_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_component_status"
      end
      # resource path
      local_var_path = "/api/v1/componentstatuses/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ComponentStatus')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_component_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified Namespace
    # @param name name of the Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1Namespace]
    def read_namespace(name, opts = {})
      data, _status_code, _headers = read_namespace_with_http_info(name, opts)
      return data
    end

    # 
    # read the specified Namespace
    # @param name name of the Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def read_namespace_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespace ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespace"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified Namespace
    # @param name name of the Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Namespace]
    def read_namespace_status(name, opts = {})
      data, _status_code, _headers = read_namespace_status_with_http_info(name, opts)
      return data
    end

    # 
    # read status of the specified Namespace
    # @param name name of the Namespace
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def read_namespace_status_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespace_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespace_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespace_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1ConfigMap]
    def read_namespaced_config_map(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_config_map_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1ConfigMap, Fixnum, Hash)>] V1ConfigMap data, response status code and response headers
    def read_namespaced_config_map_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_config_map ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_config_map"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_config_map"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/configmaps/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ConfigMap')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_config_map\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1Endpoints]
    def read_namespaced_endpoints(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_endpoints_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1Endpoints, Fixnum, Hash)>] V1Endpoints data, response status code and response headers
    def read_namespaced_endpoints_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_endpoints ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_endpoints"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_endpoints"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/endpoints/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Endpoints')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1Event]
    def read_namespaced_event(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_event_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1Event, Fixnum, Hash)>] V1Event data, response status code and response headers
    def read_namespaced_event_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_event ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_event"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_event"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/events/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Event')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1LimitRange]
    def read_namespaced_limit_range(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_limit_range_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1LimitRange, Fixnum, Hash)>] V1LimitRange data, response status code and response headers
    def read_namespaced_limit_range_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_limit_range ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_limit_range"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_limit_range"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/limitranges/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1LimitRange')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_limit_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1PersistentVolumeClaim]
    def read_namespaced_persistent_volume_claim(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_persistent_volume_claim_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1PersistentVolumeClaim, Fixnum, Hash)>] V1PersistentVolumeClaim data, response status code and response headers
    def read_namespaced_persistent_volume_claim_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_persistent_volume_claim ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_persistent_volume_claim"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_persistent_volume_claim"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaim')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_persistent_volume_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1PersistentVolumeClaim]
    def read_namespaced_persistent_volume_claim_status(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_persistent_volume_claim_status_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read status of the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1PersistentVolumeClaim, Fixnum, Hash)>] V1PersistentVolumeClaim data, response status code and response headers
    def read_namespaced_persistent_volume_claim_status_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_persistent_volume_claim_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_persistent_volume_claim_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_persistent_volume_claim_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaim')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_persistent_volume_claim_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1Pod]
    def read_namespaced_pod(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_pod_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1Pod, Fixnum, Hash)>] V1Pod data, response status code and response headers
    def read_namespaced_pod_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_pod ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_pod"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_pod"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Pod')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_pod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read log of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :container The container for which to stream logs. Defaults to only container if there is one container in the pod.
    # @option opts [BOOLEAN] :follow Follow the log stream of the pod. Defaults to false.
    # @option opts [Integer] :limit_bytes 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :previous Return previous terminated container logs. Defaults to false.
    # @option opts [Integer] :since_seconds 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.
    # @option opts [Integer] :tail_lines 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
    # @option opts [BOOLEAN] :timestamps If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.
    # @return [String]
    def read_namespaced_pod_log(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_pod_log_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read log of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :container The container for which to stream logs. Defaults to only container if there is one container in the pod.
    # @option opts [BOOLEAN] :follow Follow the log stream of the pod. Defaults to false.
    # @option opts [Integer] :limit_bytes 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.
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :previous Return previous terminated container logs. Defaults to false.
    # @option opts [Integer] :since_seconds 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.
    # @option opts [Integer] :tail_lines 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
    # @option opts [BOOLEAN] :timestamps If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.
    # @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
    def read_namespaced_pod_log_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_pod_log ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_pod_log"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_pod_log"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/log".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'container'] = opts[:'container'] if !opts[:'container'].nil?
      query_params[:'follow'] = opts[:'follow'] if !opts[:'follow'].nil?
      query_params[:'limitBytes'] = opts[:'limit_bytes'] if !opts[:'limit_bytes'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'previous'] = opts[:'previous'] if !opts[:'previous'].nil?
      query_params[:'sinceSeconds'] = opts[:'since_seconds'] if !opts[:'since_seconds'].nil?
      query_params[:'tailLines'] = opts[:'tail_lines'] if !opts[:'tail_lines'].nil?
      query_params[:'timestamps'] = opts[:'timestamps'] if !opts[:'timestamps'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['text/plain', 'application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'String')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_pod_log\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Pod]
    def read_namespaced_pod_status(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_pod_status_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read status of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Pod, Fixnum, Hash)>] V1Pod data, response status code and response headers
    def read_namespaced_pod_status_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_pod_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_pod_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_pod_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Pod')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_pod_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1PodTemplate]
    def read_namespaced_pod_template(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_pod_template_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1PodTemplate, Fixnum, Hash)>] V1PodTemplate data, response status code and response headers
    def read_namespaced_pod_template_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_pod_template ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_pod_template"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_pod_template"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/podtemplates/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodTemplate')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_pod_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1ReplicationController]
    def read_namespaced_replication_controller(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_replication_controller_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1ReplicationController, Fixnum, Hash)>] V1ReplicationController data, response status code and response headers
    def read_namespaced_replication_controller_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_replication_controller ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_replication_controller"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_replication_controller"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationController')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_replication_controller\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read scale of the specified ReplicationController
    # @param name name of the Scale
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Scale]
    def read_namespaced_replication_controller_scale(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_replication_controller_scale_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read scale of the specified ReplicationController
    # @param name name of the Scale
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Scale, Fixnum, Hash)>] V1Scale data, response status code and response headers
    def read_namespaced_replication_controller_scale_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_replication_controller_scale ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_replication_controller_scale"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_replication_controller_scale"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Scale')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_replication_controller_scale\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1ReplicationController]
    def read_namespaced_replication_controller_status(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_replication_controller_status_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read status of the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1ReplicationController, Fixnum, Hash)>] V1ReplicationController data, response status code and response headers
    def read_namespaced_replication_controller_status_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_replication_controller_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_replication_controller_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_replication_controller_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationController')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_replication_controller_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1ResourceQuota]
    def read_namespaced_resource_quota(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_resource_quota_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1ResourceQuota, Fixnum, Hash)>] V1ResourceQuota data, response status code and response headers
    def read_namespaced_resource_quota_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_resource_quota ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_resource_quota"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_resource_quota"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuota')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_resource_quota\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1ResourceQuota]
    def read_namespaced_resource_quota_status(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_resource_quota_status_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read status of the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1ResourceQuota, Fixnum, Hash)>] V1ResourceQuota data, response status code and response headers
    def read_namespaced_resource_quota_status_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_resource_quota_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_resource_quota_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_resource_quota_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuota')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_resource_quota_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1Secret]
    def read_namespaced_secret(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_secret_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1Secret, Fixnum, Hash)>] V1Secret data, response status code and response headers
    def read_namespaced_secret_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_secret ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_secret"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_secret"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/secrets/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Secret')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1Service]
    def read_namespaced_service(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_service_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1Service, Fixnum, Hash)>] V1Service data, response status code and response headers
    def read_namespaced_service_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_service ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_service"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_service"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Service')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_service\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1ServiceAccount]
    def read_namespaced_service_account(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_service_account_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read the specified ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1ServiceAccount, Fixnum, Hash)>] V1ServiceAccount data, response status code and response headers
    def read_namespaced_service_account_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_service_account ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_service_account"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_service_account"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/serviceaccounts/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceAccount')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_service_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Service]
    def read_namespaced_service_status(name, namespace, opts = {})
      data, _status_code, _headers = read_namespaced_service_status_with_http_info(name, namespace, opts)
      return data
    end

    # 
    # read status of the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Service, Fixnum, Hash)>] V1Service data, response status code and response headers
    def read_namespaced_service_status_with_http_info(name, namespace, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_namespaced_service_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_namespaced_service_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.read_namespaced_service_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Service')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_namespaced_service_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified Node
    # @param name name of the Node
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1Node]
    def read_node(name, opts = {})
      data, _status_code, _headers = read_node_with_http_info(name, opts)
      return data
    end

    # 
    # read the specified Node
    # @param name name of the Node
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1Node, Fixnum, Hash)>] V1Node data, response status code and response headers
    def read_node_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_node ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_node"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Node')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified Node
    # @param name name of the Node
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Node]
    def read_node_status(name, opts = {})
      data, _status_code, _headers = read_node_status_with_http_info(name, opts)
      return data
    end

    # 
    # read status of the specified Node
    # @param name name of the Node
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Node, Fixnum, Hash)>] V1Node data, response status code and response headers
    def read_node_status_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_node_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_node_status"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Node')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_node_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [V1PersistentVolume]
    def read_persistent_volume(name, opts = {})
      data, _status_code, _headers = read_persistent_volume_with_http_info(name, opts)
      return data
    end

    # 
    # read the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [BOOLEAN] :exact Should the export be exact.  Exact export maintains cluster-specific fields like &#39;Namespace&#39;.
    # @option opts [BOOLEAN] :export Should this value be exported.  Export strips fields that a user can not specify.
    # @return [Array<(V1PersistentVolume, Fixnum, Hash)>] V1PersistentVolume data, response status code and response headers
    def read_persistent_volume_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_persistent_volume ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_persistent_volume"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'exact'] = opts[:'exact'] if !opts[:'exact'].nil?
      query_params[:'export'] = opts[:'export'] if !opts[:'export'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolume')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_persistent_volume\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # read status of the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1PersistentVolume]
    def read_persistent_volume_status(name, opts = {})
      data, _status_code, _headers = read_persistent_volume_status_with_http_info(name, opts)
      return data
    end

    # 
    # read status of the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1PersistentVolume, Fixnum, Hash)>] V1PersistentVolume data, response status code and response headers
    def read_persistent_volume_status_with_http_info(name, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.read_persistent_volume_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.read_persistent_volume_status"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolume')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#read_persistent_volume_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Namespace]
    def replace_namespace(name, body, opts = {})
      data, _status_code, _headers = replace_namespace_with_http_info(name, body, opts)
      return data
    end

    # 
    # replace the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def replace_namespace_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespace ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespace"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespace"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace finalize of the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [V1Namespace]
    def replace_namespace_finalize(name, body, opts = {})
      data, _status_code, _headers = replace_namespace_finalize_with_http_info(name, body, opts)
      return data
    end

    # 
    # replace finalize of the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def replace_namespace_finalize_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespace_finalize ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespace_finalize"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespace_finalize"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}/finalize".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespace_finalize\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Namespace]
    def replace_namespace_status(name, body, opts = {})
      data, _status_code, _headers = replace_namespace_status_with_http_info(name, body, opts)
      return data
    end

    # 
    # replace status of the specified Namespace
    # @param name name of the Namespace
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Namespace, Fixnum, Hash)>] V1Namespace data, response status code and response headers
    def replace_namespace_status_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespace_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespace_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespace_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Namespace')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespace_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ConfigMap]
    def replace_namespaced_config_map(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_config_map_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified ConfigMap
    # @param name name of the ConfigMap
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ConfigMap, Fixnum, Hash)>] V1ConfigMap data, response status code and response headers
    def replace_namespaced_config_map_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_config_map ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_config_map"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_config_map"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_config_map"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/configmaps/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ConfigMap')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_config_map\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Endpoints]
    def replace_namespaced_endpoints(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_endpoints_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified Endpoints
    # @param name name of the Endpoints
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Endpoints, Fixnum, Hash)>] V1Endpoints data, response status code and response headers
    def replace_namespaced_endpoints_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_endpoints ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_endpoints"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_endpoints"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_endpoints"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/endpoints/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Endpoints')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Event]
    def replace_namespaced_event(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_event_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified Event
    # @param name name of the Event
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Event, Fixnum, Hash)>] V1Event data, response status code and response headers
    def replace_namespaced_event_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_event ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_event"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_event"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_event"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/events/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Event')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1LimitRange]
    def replace_namespaced_limit_range(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_limit_range_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified LimitRange
    # @param name name of the LimitRange
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1LimitRange, Fixnum, Hash)>] V1LimitRange data, response status code and response headers
    def replace_namespaced_limit_range_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_limit_range ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_limit_range"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_limit_range"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_limit_range"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/limitranges/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1LimitRange')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_limit_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolumeClaim]
    def replace_namespaced_persistent_volume_claim(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_persistent_volume_claim_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolumeClaim, Fixnum, Hash)>] V1PersistentVolumeClaim data, response status code and response headers
    def replace_namespaced_persistent_volume_claim_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_persistent_volume_claim ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_persistent_volume_claim"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_persistent_volume_claim"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_persistent_volume_claim"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaim')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_persistent_volume_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolumeClaim]
    def replace_namespaced_persistent_volume_claim_status(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_persistent_volume_claim_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace status of the specified PersistentVolumeClaim
    # @param name name of the PersistentVolumeClaim
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolumeClaim, Fixnum, Hash)>] V1PersistentVolumeClaim data, response status code and response headers
    def replace_namespaced_persistent_volume_claim_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_persistent_volume_claim_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_persistent_volume_claim_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_persistent_volume_claim_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_persistent_volume_claim_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolumeClaim')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_persistent_volume_claim_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Pod]
    def replace_namespaced_pod(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_pod_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Pod, Fixnum, Hash)>] V1Pod data, response status code and response headers
    def replace_namespaced_pod_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_pod ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_pod"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_pod"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_pod"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Pod')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_pod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Pod]
    def replace_namespaced_pod_status(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_pod_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace status of the specified Pod
    # @param name name of the Pod
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Pod, Fixnum, Hash)>] V1Pod data, response status code and response headers
    def replace_namespaced_pod_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_pod_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_pod_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_pod_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_pod_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/pods/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Pod')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_pod_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PodTemplate]
    def replace_namespaced_pod_template(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_pod_template_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified PodTemplate
    # @param name name of the PodTemplate
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PodTemplate, Fixnum, Hash)>] V1PodTemplate data, response status code and response headers
    def replace_namespaced_pod_template_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_pod_template ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_pod_template"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_pod_template"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_pod_template"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/podtemplates/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PodTemplate')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_pod_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ReplicationController]
    def replace_namespaced_replication_controller(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_replication_controller_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ReplicationController, Fixnum, Hash)>] V1ReplicationController data, response status code and response headers
    def replace_namespaced_replication_controller_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_replication_controller ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_replication_controller"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_replication_controller"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_replication_controller"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationController')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_replication_controller\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace scale of the specified ReplicationController
    # @param name name of the Scale
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Scale]
    def replace_namespaced_replication_controller_scale(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_replication_controller_scale_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace scale of the specified ReplicationController
    # @param name name of the Scale
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Scale, Fixnum, Hash)>] V1Scale data, response status code and response headers
    def replace_namespaced_replication_controller_scale_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_replication_controller_scale ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_replication_controller_scale"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_replication_controller_scale"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_replication_controller_scale"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Scale')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_replication_controller_scale\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ReplicationController]
    def replace_namespaced_replication_controller_status(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_replication_controller_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace status of the specified ReplicationController
    # @param name name of the ReplicationController
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ReplicationController, Fixnum, Hash)>] V1ReplicationController data, response status code and response headers
    def replace_namespaced_replication_controller_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_replication_controller_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_replication_controller_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_replication_controller_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_replication_controller_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ReplicationController')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_replication_controller_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ResourceQuota]
    def replace_namespaced_resource_quota(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_resource_quota_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ResourceQuota, Fixnum, Hash)>] V1ResourceQuota data, response status code and response headers
    def replace_namespaced_resource_quota_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_resource_quota ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_resource_quota"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_resource_quota"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_resource_quota"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuota')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_resource_quota\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ResourceQuota]
    def replace_namespaced_resource_quota_status(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_resource_quota_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace status of the specified ResourceQuota
    # @param name name of the ResourceQuota
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ResourceQuota, Fixnum, Hash)>] V1ResourceQuota data, response status code and response headers
    def replace_namespaced_resource_quota_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_resource_quota_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_resource_quota_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_resource_quota_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_resource_quota_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/resourcequotas/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ResourceQuota')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_resource_quota_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Secret]
    def replace_namespaced_secret(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_secret_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified Secret
    # @param name name of the Secret
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Secret, Fixnum, Hash)>] V1Secret data, response status code and response headers
    def replace_namespaced_secret_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_secret ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_secret"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_secret"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_secret"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/secrets/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Secret')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Service]
    def replace_namespaced_service(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_service_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Service, Fixnum, Hash)>] V1Service data, response status code and response headers
    def replace_namespaced_service_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_service ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_service"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_service"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_service"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Service')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_service\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1ServiceAccount]
    def replace_namespaced_service_account(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_service_account_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace the specified ServiceAccount
    # @param name name of the ServiceAccount
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1ServiceAccount, Fixnum, Hash)>] V1ServiceAccount data, response status code and response headers
    def replace_namespaced_service_account_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_service_account ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_service_account"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_service_account"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_service_account"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/serviceaccounts/{name}".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1ServiceAccount')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_service_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Service]
    def replace_namespaced_service_status(name, namespace, body, opts = {})
      data, _status_code, _headers = replace_namespaced_service_status_with_http_info(name, namespace, body, opts)
      return data
    end

    # 
    # replace status of the specified Service
    # @param name name of the Service
    # @param namespace object name and auth scope, such as for teams and projects
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Service, Fixnum, Hash)>] V1Service data, response status code and response headers
    def replace_namespaced_service_status_with_http_info(name, namespace, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_namespaced_service_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_namespaced_service_status"
      end
      # verify the required parameter 'namespace' is set
      if @api_client.config.client_side_validation && namespace.nil?
        fail ArgumentError, "Missing the required parameter 'namespace' when calling CoreV1Api.replace_namespaced_service_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_namespaced_service_status"
      end
      # resource path
      local_var_path = "/api/v1/namespaces/{namespace}/services/{name}/status".sub('{' + 'name' + '}', name.to_s).sub('{' + 'namespace' + '}', namespace.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Service')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_namespaced_service_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Node]
    def replace_node(name, body, opts = {})
      data, _status_code, _headers = replace_node_with_http_info(name, body, opts)
      return data
    end

    # 
    # replace the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Node, Fixnum, Hash)>] V1Node data, response status code and response headers
    def replace_node_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_node ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_node"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_node"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Node')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1Node]
    def replace_node_status(name, body, opts = {})
      data, _status_code, _headers = replace_node_status_with_http_info(name, body, opts)
      return data
    end

    # 
    # replace status of the specified Node
    # @param name name of the Node
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1Node, Fixnum, Hash)>] V1Node data, response status code and response headers
    def replace_node_status_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_node_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_node_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_node_status"
      end
      # resource path
      local_var_path = "/api/v1/nodes/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1Node')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_node_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolume]
    def replace_persistent_volume(name, body, opts = {})
      data, _status_code, _headers = replace_persistent_volume_with_http_info(name, body, opts)
      return data
    end

    # 
    # replace the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolume, Fixnum, Hash)>] V1PersistentVolume data, response status code and response headers
    def replace_persistent_volume_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_persistent_volume ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_persistent_volume"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_persistent_volume"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes/{name}".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolume')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_persistent_volume\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # 
    # replace status of the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [V1PersistentVolume]
    def replace_persistent_volume_status(name, body, opts = {})
      data, _status_code, _headers = replace_persistent_volume_status_with_http_info(name, body, opts)
      return data
    end

    # 
    # replace status of the specified PersistentVolume
    # @param name name of the PersistentVolume
    # @param body 
    # @param [Hash] opts the optional parameters
    # @option opts [String] :pretty If &#39;true&#39;, then the output is pretty printed.
    # @option opts [String] :dry_run When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    # @return [Array<(V1PersistentVolume, Fixnum, Hash)>] V1PersistentVolume data, response status code and response headers
    def replace_persistent_volume_status_with_http_info(name, body, opts = {})
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: CoreV1Api.replace_persistent_volume_status ..."
      end
      # verify the required parameter 'name' is set
      if @api_client.config.client_side_validation && name.nil?
        fail ArgumentError, "Missing the required parameter 'name' when calling CoreV1Api.replace_persistent_volume_status"
      end
      # verify the required parameter 'body' is set
      if @api_client.config.client_side_validation && body.nil?
        fail ArgumentError, "Missing the required parameter 'body' when calling CoreV1Api.replace_persistent_volume_status"
      end
      # resource path
      local_var_path = "/api/v1/persistentvolumes/{name}/status".sub('{' + 'name' + '}', name.to_s)

      # query parameters
      query_params = {}
      query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
      query_params[:'dryRun'] = opts[:'dry_run'] if !opts[:'dry_run'].nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf'])
      # HTTP header 'Content-Type'
      header_params['Content-Type'] = @api_client.select_header_content_type(['*/*'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(body)
      auth_names = ['BearerToken']
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'V1PersistentVolume')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: CoreV1Api#replace_persistent_volume_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end
  end
end
