Class: MistApi::Client
- Inherits:
-
Object
- Object
- MistApi::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/mist_api/client.rb
Overview
mist_api client class.
Instance Attribute Summary collapse
-
#auth_managers ⇒ Object
readonly
Returns the value of attribute auth_managers.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Class Method Summary collapse
-
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
Instance Method Summary collapse
-
#admins ⇒ Admins
Access to admins controller.
-
#admins_login ⇒ AdminsLogin
Access to admins_login controller.
-
#admins_login_o_auth2 ⇒ AdminsLoginOAuth2
Access to admins_login_o_auth2 controller.
-
#admins_logout ⇒ AdminsLogout
Access to admins_logout controller.
-
#admins_lookup ⇒ AdminsLookup
Access to admins_lookup controller.
-
#constants_definitions ⇒ ConstantsDefinitions
Access to constants_definitions controller.
-
#constants_events ⇒ ConstantsEvents
Access to constants_events controller.
-
#constants_models ⇒ ConstantsModels
Access to constants_models controller.
-
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::MIST_GLOBAL_01, api_token_credentials: nil, basic_auth_credentials: nil, csrf_token_credentials: nil, accept: 'application/json, application/vnd.api+json', config: nil) ⇒ Client
constructor
A new instance of Client.
-
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
-
#installer ⇒ Installer
Access to installer controller.
-
#ms_ps ⇒ MSPs
Access to ms_ps controller.
-
#ms_ps_admins ⇒ MSPsAdmins
Access to ms_ps_admins controller.
-
#ms_ps_inventory ⇒ MSPsInventory
Access to ms_ps_inventory controller.
-
#ms_ps_licenses ⇒ MSPsLicenses
Access to ms_ps_licenses controller.
-
#ms_ps_logo ⇒ MSPsLogo
Access to ms_ps_logo controller.
-
#ms_ps_logs ⇒ MSPsLogs
Access to ms_ps_logs controller.
-
#ms_ps_marvis ⇒ MSPsMarvis
Access to ms_ps_marvis controller.
-
#ms_ps_org_groups ⇒ MSPsOrgGroups
Access to ms_ps_org_groups controller.
-
#ms_ps_orgs ⇒ MSPsOrgs
Access to ms_ps_orgs controller.
-
#ms_ps_sl_es ⇒ MSPsSLEs
Access to ms_ps_sl_es controller.
-
#ms_ps_sso ⇒ MSPsSSO
Access to ms_ps_sso controller.
-
#ms_ps_sso_roles ⇒ MSPsSSORoles
Access to ms_ps_sso_roles controller.
-
#ms_ps_tickets ⇒ MSPsTickets
Access to ms_ps_tickets controller.
-
#orgs_sdk_invites ⇒ OrgsSDKInvites
Access to orgs_sdk_invites controller.
- #user_agent_detail ⇒ Object
-
#utilities_wi_fi ⇒ UtilitiesWiFi
Access to utilities_wi_fi controller.
Constructor Details
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::MIST_GLOBAL_01, api_token_credentials: nil, basic_auth_credentials: nil, csrf_token_credentials: nil, accept: 'application/json, application/vnd.api+json', config: nil) ⇒ Client
Returns a new instance of Client.
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/mist_api/client.rb', line 160 def initialize( connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put], http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::MIST_GLOBAL_01, api_token_credentials: nil, basic_auth_credentials: nil, csrf_token_credentials: nil, accept: 'application/json, application/vnd.api+json', config: nil ) @config = if config.nil? Configuration.new( connection: connection, adapter: adapter, timeout: timeout, max_retries: max_retries, retry_interval: retry_interval, backoff_factor: backoff_factor, retry_statuses: retry_statuses, retry_methods: retry_methods, http_callback: http_callback, proxy_settings: proxy_settings, logging_configuration: logging_configuration, environment: environment, api_token_credentials: api_token_credentials, basic_auth_credentials: basic_auth_credentials, csrf_token_credentials: csrf_token_credentials, accept: accept ) else config end @global_configuration = GlobalConfiguration.new(client_configuration: @config) .base_uri_executor(@config.method(:get_base_uri)) .global_errors(BaseController::GLOBAL_ERRORS) .user_agent(BaseController.user_agent) .global_header('Accept', @config.accept) initialize_auth_managers(@global_configuration) @global_configuration = @global_configuration.auth_managers(@auth_managers) end |
Instance Attribute Details
#auth_managers ⇒ Object (readonly)
Returns the value of attribute auth_managers.
10 11 12 |
# File 'lib/mist_api/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/mist_api/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
211 212 213 214 215 |
# File 'lib/mist_api/client.rb', line 211 def self.from_env(**overrides) default_config = Configuration.build_default_config_from_env new_config = default_config.clone_with(**overrides) new(config: new_config) end |
Instance Method Details
#admins ⇒ Admins
Access to admins controller.
18 19 20 |
# File 'lib/mist_api/client.rb', line 18 def admins @admins ||= Admins.new @global_configuration end |
#admins_login ⇒ AdminsLogin
Access to admins_login controller.
24 25 26 |
# File 'lib/mist_api/client.rb', line 24 def admins_login @admins_login ||= AdminsLogin.new @global_configuration end |
#admins_login_o_auth2 ⇒ AdminsLoginOAuth2
Access to admins_login_o_auth2 controller.
42 43 44 |
# File 'lib/mist_api/client.rb', line 42 def admins_login_o_auth2 @admins_login_o_auth2 ||= AdminsLoginOAuth2.new @global_configuration end |
#admins_logout ⇒ AdminsLogout
Access to admins_logout controller.
30 31 32 |
# File 'lib/mist_api/client.rb', line 30 def admins_logout @admins_logout ||= AdminsLogout.new @global_configuration end |
#admins_lookup ⇒ AdminsLookup
Access to admins_lookup controller.
36 37 38 |
# File 'lib/mist_api/client.rb', line 36 def admins_lookup @admins_lookup ||= AdminsLookup.new @global_configuration end |
#constants_definitions ⇒ ConstantsDefinitions
Access to constants_definitions controller.
138 139 140 |
# File 'lib/mist_api/client.rb', line 138 def constants_definitions @constants_definitions ||= ConstantsDefinitions.new @global_configuration end |
#constants_events ⇒ ConstantsEvents
Access to constants_events controller.
144 145 146 |
# File 'lib/mist_api/client.rb', line 144 def constants_events @constants_events ||= ConstantsEvents.new @global_configuration end |
#constants_models ⇒ ConstantsModels
Access to constants_models controller.
150 151 152 |
# File 'lib/mist_api/client.rb', line 150 def constants_models @constants_models ||= ConstantsModels.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
201 202 203 204 205 206 207 208 |
# File 'lib/mist_api/client.rb', line 201 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[apiToken basicAuth csrfToken].each { |auth| @auth_managers[auth] = nil } @auth_managers['apiToken'] = ApiToken.new(http_client_config.api_token_credentials) @auth_managers['basicAuth'] = BasicAuth.new(http_client_config.basic_auth_credentials) @auth_managers['csrfToken'] = CsrfToken.new(http_client_config.csrf_token_credentials) end |
#installer ⇒ Installer
Access to installer controller.
48 49 50 |
# File 'lib/mist_api/client.rb', line 48 def installer @installer ||= Installer.new @global_configuration end |
#ms_ps ⇒ MSPs
Access to ms_ps controller.
54 55 56 |
# File 'lib/mist_api/client.rb', line 54 def ms_ps @ms_ps ||= MSPs.new @global_configuration end |
#ms_ps_admins ⇒ MSPsAdmins
Access to ms_ps_admins controller.
60 61 62 |
# File 'lib/mist_api/client.rb', line 60 def ms_ps_admins @ms_ps_admins ||= MSPsAdmins.new @global_configuration end |
#ms_ps_inventory ⇒ MSPsInventory
Access to ms_ps_inventory controller.
66 67 68 |
# File 'lib/mist_api/client.rb', line 66 def ms_ps_inventory @ms_ps_inventory ||= MSPsInventory.new @global_configuration end |
#ms_ps_licenses ⇒ MSPsLicenses
Access to ms_ps_licenses controller.
84 85 86 |
# File 'lib/mist_api/client.rb', line 84 def ms_ps_licenses @ms_ps_licenses ||= MSPsLicenses.new @global_configuration end |
#ms_ps_logo ⇒ MSPsLogo
Access to ms_ps_logo controller.
72 73 74 |
# File 'lib/mist_api/client.rb', line 72 def ms_ps_logo @ms_ps_logo ||= MSPsLogo.new @global_configuration end |
#ms_ps_logs ⇒ MSPsLogs
Access to ms_ps_logs controller.
78 79 80 |
# File 'lib/mist_api/client.rb', line 78 def ms_ps_logs @ms_ps_logs ||= MSPsLogs.new @global_configuration end |
#ms_ps_marvis ⇒ MSPsMarvis
Access to ms_ps_marvis controller.
90 91 92 |
# File 'lib/mist_api/client.rb', line 90 def ms_ps_marvis @ms_ps_marvis ||= MSPsMarvis.new @global_configuration end |
#ms_ps_org_groups ⇒ MSPsOrgGroups
Access to ms_ps_org_groups controller.
96 97 98 |
# File 'lib/mist_api/client.rb', line 96 def ms_ps_org_groups @ms_ps_org_groups ||= MSPsOrgGroups.new @global_configuration end |
#ms_ps_orgs ⇒ MSPsOrgs
Access to ms_ps_orgs controller.
102 103 104 |
# File 'lib/mist_api/client.rb', line 102 def ms_ps_orgs @ms_ps_orgs ||= MSPsOrgs.new @global_configuration end |
#ms_ps_sl_es ⇒ MSPsSLEs
Access to ms_ps_sl_es controller.
108 109 110 |
# File 'lib/mist_api/client.rb', line 108 def ms_ps_sl_es @ms_ps_sl_es ||= MSPsSLEs.new @global_configuration end |
#ms_ps_sso ⇒ MSPsSSO
Access to ms_ps_sso controller.
120 121 122 |
# File 'lib/mist_api/client.rb', line 120 def ms_ps_sso @ms_ps_sso ||= MSPsSSO.new @global_configuration end |
#ms_ps_sso_roles ⇒ MSPsSSORoles
Access to ms_ps_sso_roles controller.
114 115 116 |
# File 'lib/mist_api/client.rb', line 114 def ms_ps_sso_roles @ms_ps_sso_roles ||= MSPsSSORoles.new @global_configuration end |
#ms_ps_tickets ⇒ MSPsTickets
Access to ms_ps_tickets controller.
126 127 128 |
# File 'lib/mist_api/client.rb', line 126 def ms_ps_tickets @ms_ps_tickets ||= MSPsTickets.new @global_configuration end |
#orgs_sdk_invites ⇒ OrgsSDKInvites
Access to orgs_sdk_invites controller.
132 133 134 |
# File 'lib/mist_api/client.rb', line 132 def orgs_sdk_invites @orgs_sdk_invites ||= OrgsSDKInvites.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/mist_api/client.rb', line 12 def user_agent_detail config.user_agent_detail end |
#utilities_wi_fi ⇒ UtilitiesWiFi
Access to utilities_wi_fi controller.
156 157 158 |
# File 'lib/mist_api/client.rb', line 156 def utilities_wi_fi @utilities_wi_fi ||= UtilitiesWiFi.new @global_configuration end |