Class: MistApi::Client

Inherits:
Object
  • Object
show all
Includes:
CoreLibrary
Defined in:
lib/mist_api/client.rb

Overview

mist_api client class.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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_managersObject (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

#configObject (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

#adminsAdmins

Access to admins controller.

Returns:

  • (Admins)

    Returns the controller instance.



18
19
20
# File 'lib/mist_api/client.rb', line 18

def admins
  @admins ||= Admins.new @global_configuration
end

#admins_loginAdminsLogin

Access to admins_login controller.

Returns:



24
25
26
# File 'lib/mist_api/client.rb', line 24

def 
  @admins_login ||= AdminsLogin.new @global_configuration
end

#admins_login_o_auth2AdminsLoginOAuth2

Access to admins_login_o_auth2 controller.

Returns:



42
43
44
# File 'lib/mist_api/client.rb', line 42

def 
  @admins_login_o_auth2 ||= AdminsLoginOAuth2.new @global_configuration
end

#admins_logoutAdminsLogout

Access to admins_logout controller.

Returns:



30
31
32
# File 'lib/mist_api/client.rb', line 30

def admins_logout
  @admins_logout ||= AdminsLogout.new @global_configuration
end

#admins_lookupAdminsLookup

Access to admins_lookup controller.

Returns:



36
37
38
# File 'lib/mist_api/client.rb', line 36

def admins_lookup
  @admins_lookup ||= AdminsLookup.new @global_configuration
end

#constants_definitionsConstantsDefinitions

Access to constants_definitions controller.

Returns:



138
139
140
# File 'lib/mist_api/client.rb', line 138

def constants_definitions
  @constants_definitions ||= ConstantsDefinitions.new @global_configuration
end

#constants_eventsConstantsEvents

Access to constants_events controller.

Returns:



144
145
146
# File 'lib/mist_api/client.rb', line 144

def constants_events
  @constants_events ||= ConstantsEvents.new @global_configuration
end

#constants_modelsConstantsModels

Access to constants_models controller.

Returns:



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.

Parameters:

  • global_config (GlobalConfiguration)

    The global configuration of the SDK)



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

#installerInstaller

Access to installer controller.

Returns:

  • (Installer)

    Returns the controller instance.



48
49
50
# File 'lib/mist_api/client.rb', line 48

def installer
  @installer ||= Installer.new @global_configuration
end

#ms_psMSPs

Access to ms_ps controller.

Returns:

  • (MSPs)

    Returns the controller instance.



54
55
56
# File 'lib/mist_api/client.rb', line 54

def ms_ps
  @ms_ps ||= MSPs.new @global_configuration
end

#ms_ps_adminsMSPsAdmins

Access to ms_ps_admins controller.

Returns:

  • (MSPsAdmins)

    Returns the controller instance.



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_inventoryMSPsInventory

Access to ms_ps_inventory controller.

Returns:



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_licensesMSPsLicenses

Access to ms_ps_licenses controller.

Returns:



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_logoMSPsLogo

Access to ms_ps_logo controller.

Returns:

  • (MSPsLogo)

    Returns the controller instance.



72
73
74
# File 'lib/mist_api/client.rb', line 72

def 
  @ms_ps_logo ||= MSPsLogo.new @global_configuration
end

#ms_ps_logsMSPsLogs

Access to ms_ps_logs controller.

Returns:

  • (MSPsLogs)

    Returns the controller instance.



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_marvisMSPsMarvis

Access to ms_ps_marvis controller.

Returns:

  • (MSPsMarvis)

    Returns the controller instance.



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_groupsMSPsOrgGroups

Access to ms_ps_org_groups controller.

Returns:



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_orgsMSPsOrgs

Access to ms_ps_orgs controller.

Returns:

  • (MSPsOrgs)

    Returns the controller instance.



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_esMSPsSLEs

Access to ms_ps_sl_es controller.

Returns:

  • (MSPsSLEs)

    Returns the controller instance.



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_ssoMSPsSSO

Access to ms_ps_sso controller.

Returns:

  • (MSPsSSO)

    Returns the controller instance.



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_rolesMSPsSSORoles

Access to ms_ps_sso_roles controller.

Returns:



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_ticketsMSPsTickets

Access to ms_ps_tickets controller.

Returns:



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_invitesOrgsSDKInvites

Access to orgs_sdk_invites controller.

Returns:



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_detailObject



12
13
14
# File 'lib/mist_api/client.rb', line 12

def user_agent_detail
  config.user_agent_detail
end

#utilities_wi_fiUtilitiesWiFi

Access to utilities_wi_fi controller.

Returns:



156
157
158
# File 'lib/mist_api/client.rb', line 156

def utilities_wi_fi
  @utilities_wi_fi ||= UtilitiesWiFi.new @global_configuration
end