Class: Octokit::EnterpriseManagementConsoleClient
Relationships & Source Files | |
Namespace Children | |
Modules:
| |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
|
|
Inherits: | Object |
Defined in: | lib/octokit/enterprise_management_console_client.rb, lib/octokit/enterprise_management_console_client/management_console.rb |
Overview
EnterpriseManagementConsoleClient
is only meant to be used by GitHub Enterprise Admins
and provides access to the management console API endpoints.
Constant Summary
Class Method Summary
Instance Attribute Summary
Authentication
- Included
#application_authenticated? | Indicates if the client has OAuth Application client_id and secret credentials to make anonymous requests at a higher rate limit. |
#basic_authenticated? | Indicates if the client was supplied Basic Auth username and password. |
#bearer_authenticated? | Indicates if the client was supplied a bearer token. |
#token_authenticated? | Indicates if the client was supplied an OAuth access token. |
#user_authenticated? | Indicates if the client was supplied an OAuth access token or Basic Auth username and password. |
Configurable
- Included
Instance Method Summary
-
#faraday_configuration
private
We fall back to raw Faraday for handling the licenses because I'm suspicious that Sawyer isn't handling binary POSTs correctly: https://github.com/lostisland/sawyer/blob/03fca4c020f465ec42856d0486ec3991859b0aed/lib/sawyer/agent.rb#L85.
- #password_hash private
ManagementConsole
- Included
#add_authorized_key | Add an authorized SSH keys on the Enterprise install. |
#authorized_keys | Fetch the authorized SSH keys on the Enterprise install. |
#config_check | Alias for ManagementConsole#config_status. |
#config_status | Get information about the Enterprise installation. |
#delete_authorized_key | Alias for ManagementConsole#remove_authorized_key. |
#edit_maintenance_status | Alias for ManagementConsole#set_maintenance_status. |
#edit_settings | Modify the Enterprise settings. |
#get_authorized_keys | Alias for ManagementConsole#authorized_keys. |
#get_maintenance_status | Alias for ManagementConsole#maintenance_status. |
#get_settings | Alias for ManagementConsole#settings. |
#maintenance_status | Get information about the Enterprise maintenance status. |
#remove_authorized_key | Removes an authorized SSH keys from the Enterprise install. |
#set_maintenance_status | Start (or turn off) the Enterprise maintenance mode. |
#settings | Get information about the Enterprise installation. |
#start_configuration | Start a configuration process. |
#upgrade | Upgrade an Enterprise installation. |
#upload_license | Uploads a license for the first time. |
Warnable
- Included
#octokit_warn | Wrapper around Kernel#warn to print warnings unless OCTOKIT_SILENT is set to true. |
Connection
- Included
#agent | Hypermedia agent for the GitHub API. |
#delete | Make a HTTP DELETE request. |
#get | Make a HTTP GET request. |
#head | Make a HTTP HEAD request. |
#last_response |
|
#paginate | Make one or more HTTP GET requests, optionally fetching the next page of results from URL in Link response header based on value in |
#patch | Make a HTTP PATCH request. |
#post | Make a HTTP POST request. |
#put | Make a HTTP PUT request. |
#root | Fetch the root resource for the API. |
#boolean_from_response | Executes the request, checking if it was successful. |
#parse_query_and_convenience_headers, #request, #reset_agent, #response_data_correctly_encoded, #sawyer_options |
Authentication
- Included
Configurable
- Included
#configure | Set configuration options using a block. |
#reset! | Reset configuration options to default values. |
#same_options? | Compares client options to a Hash of requested options. |
#setup | Alias for Configurable#reset!. |
#fetch_client_id_and_secret, #options |
Constructor Details
.new(options = {}) ⇒ EnterpriseManagementConsoleClient
# File 'lib/octokit/enterprise_management_console_client.rb', line 21
def initialize( = {}) # Use options passed in, but fall back to module defaults # rubocop:disable Style/HashEachMethods # # This may look like a `.keys.each` which should be replaced with `#each_key`, but # this doesn't actually work, since `#keys` is just a method we've defined ourselves. # The class doesn't fulfill the whole `Enumerable` contract. Octokit::Configurable.keys.each do |key| # rubocop:enable Style/HashEachMethods instance_variable_set(:"@#{key}", [key] || Octokit.instance_variable_get(:"@#{key}")) end end
Instance Method Details
#faraday_configuration (private)
We fall back to raw Faraday for handling the licenses because I'm suspicious that Sawyer isn't handling binary POSTs correctly: https://github.com/lostisland/sawyer/blob/03fca4c020f465ec42856d0486ec3991859b0aed/lib/sawyer/agent.rb#L85
# File 'lib/octokit/enterprise_management_console_client/management_console.rb', line 171
def faraday_configuration @faraday_configuration ||= Faraday.new(url: @management_console_endpoint) do |http| http.headers[:user_agent] = user_agent begin http.request :multipart rescue Faraday::Error raise Faraday::Error, <<~ERROR The `faraday-multipart` gem is required to upload a license. Please add `gem "faraday-multipart"` to your Gemfile. ERROR end http.request :url_encoded # Disabling SSL is essential for certain self-hosted Enterprise instances if [:ssl] && ! [:ssl][:verify] http.ssl[:verify] = false end http.use Octokit::Response::RaiseError http.adapter Faraday.default_adapter end end
#password_hash (private)
[ GitHub ]# File 'lib/octokit/enterprise_management_console_client/management_console.rb', line 165
def password_hash { query: { api_key: @management_console_password } } end