Push a new kernel version.  Can be used to create a new kernel and update an existing one.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.kernel_push(kernel_push_request, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param KernelPushRequest kernel_push_request: Information for pushing a new kernel version (required)
        :return: Result
                 If the method is called asynchronously,
                 returns the request thread.

def kernel_push(self, kernel_push_request, **kwargs):  # noqa: E501
        """Push a new kernel version.  Can be used to create a new kernel and update an existing one.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.kernel_push(kernel_push_request, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param KernelPushRequest kernel_push_request: Information for pushing a new kernel version (required)
        :return: Result
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async_req'):
            return self.kernel_push_with_http_info(kernel_push_request, **kwargs)  # noqa: E501
        else:
            (data) = self.kernel_push_with_http_info(kernel_push_request, **kwargs)  # noqa: E501
            return data