Class: SSOReady::Management::AsyncSCIMDirectoriesClient

Inherits:
Object
  • Object
show all
Defined in:
lib/ssoready/management/scim_directories/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request_client:) ⇒ SSOReady::Management::AsyncSCIMDirectoriesClient

Parameters:



214
215
216
# File 'lib/ssoready/management/scim_directories/client.rb', line 214

def initialize(request_client:)
  @request_client = request_client
end

Instance Attribute Details

#request_clientSSOReady::AsyncRequestClient (readonly)



210
211
212
# File 'lib/ssoready/management/scim_directories/client.rb', line 210

def request_client
  @request_client
end

Instance Method Details

#create_scim_directory(request:, request_options: nil) ⇒ SSOReady::CreateSCIMDirectoryResponse

Creates a SCIM directory.

Examples:

api = SSOReady::Client.new(
  base_url: "https://api.example.com",
  environment: SSOReady::Environment::DEFAULT,
  api_key: "YOUR_AUTH_TOKEN"
)
api.management.scim_directories.create_scim_directory(request: {  })

Parameters:

  • request (Hash)

    Request of type SSOReady::SCIMDirectory, as a Hash

    • :id (String)

    • :organization_id (String)

    • :primary (Boolean)

    • :scim_base_url (String)

    • :has_client_bearer_token (Boolean)

  • request_options (SSOReady::RequestOptions) (defaults to: nil)

Returns:



272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
# File 'lib/ssoready/management/scim_directories/client.rb', line 272

def create_scim_directory(request:, request_options: nil)
  Async do
    response = @request_client.conn.post do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
      req.url "#{@request_client.get_url(request_options: request_options)}/v1/scim-directories"
    end
    SSOReady::CreateSCIMDirectoryResponse.from_json(json_object: response.body)
  end
end

#get_scim_directory(id:, request_options: nil) ⇒ SSOReady::GetSCIMDirectoryResponse

Gets a SCIM directory.

Examples:

api = SSOReady::Client.new(
  base_url: "https://api.example.com",
  environment: SSOReady::Environment::DEFAULT,
  api_key: "YOUR_AUTH_TOKEN"
)
api.management.scim_directories.get_scim_directory(id: "id")

Parameters:

Returns:



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
# File 'lib/ssoready/management/scim_directories/client.rb', line 304

def get_scim_directory(id:, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/v1/scim-directories/#{id}"
    end
    SSOReady::GetSCIMDirectoryResponse.from_json(json_object: response.body)
  end
end

#list_scim_directories(organization_id: nil, page_token: nil, request_options: nil) ⇒ SSOReady::ListSCIMDirectoriesResponse

Gets a list of SCIM directories in an organization.

Examples:

api = SSOReady::Client.new(
  base_url: "https://api.example.com",
  environment: SSOReady::Environment::DEFAULT,
  api_key: "YOUR_AUTH_TOKEN"
)
api.management.scim_directories.list_scim_directories

Parameters:

  • organization_id (String) (defaults to: nil)

    The organization the SCIM directories belong to.

  • page_token (String) (defaults to: nil)

    Pagination token. Leave empty to get the first page of results.

  • request_options (SSOReady::RequestOptions) (defaults to: nil)

Returns:



231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
# File 'lib/ssoready/management/scim_directories/client.rb', line 231

def list_scim_directories(organization_id: nil, page_token: nil, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      req.params = {
        **(request_options&.additional_query_parameters || {}),
        "organizationId": organization_id,
        "pageToken": page_token
      }.compact
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/v1/scim-directories"
    end
    SSOReady::ListSCIMDirectoriesResponse.from_json(json_object: response.body)
  end
end

#rotate_scim_directory_bearer_token(id:, request_options: nil) ⇒ SSOReady::RotateSCIMDirectoryBearerTokenResponse

Rotates a SCIM directory’s bearer token.

Every SCIM directory has a bearer token that SSOReady uses to authenticate
requests sent from your customer's
Identity Provider. These bearer tokens are assigned by SSOReady, and are secret.
Newly-created SCIM directories do
not have any bearer token at all; you must use this endpoint to get an initial
value.
Rotating a SCIM directory bearer token immediately invalidates the previous
bearer token, if any. Your customer
will need to update their SCIM configuration with the new value to make SCIM
syncing work again.
SSOReady only stores the hash of these bearer tokens. If your customer has lost
their copy, you must use this
endpoint to generate a new one.

Examples:

api = SSOReady::Client.new(
  base_url: "https://api.example.com",
  environment: SSOReady::Environment::DEFAULT,
  api_key: "YOUR_AUTH_TOKEN"
)
api.management.scim_directories.rotate_scim_directory_bearer_token(id: "id")

Parameters:

  • id (String)

    The ID of the SCIM directory whose bearer token to rotate.

  • request_options (SSOReady::RequestOptions) (defaults to: nil)

Returns:



389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'lib/ssoready/management/scim_directories/client.rb', line 389

def rotate_scim_directory_bearer_token(id:, request_options: nil)
  Async do
    response = @request_client.conn.post do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/v1/scim-directories/#{id}/rotate-bearer-token"
    end
    SSOReady::RotateSCIMDirectoryBearerTokenResponse.from_json(json_object: response.body)
  end
end

#update_scim_directory(id:, request:, request_options: nil) ⇒ SSOReady::UpdateSCIMDirectoryResponse

Updates a SCIM directory.

Examples:

api = SSOReady::Client.new(
  base_url: "https://api.example.com",
  environment: SSOReady::Environment::DEFAULT,
  api_key: "YOUR_AUTH_TOKEN"
)
api.management.scim_directories.update_scim_directory(id: "id", request: {  })

Parameters:

  • id (String)

    The ID of the SCIM directory to update.

  • request (Hash)

    Request of type SSOReady::SCIMDirectory, as a Hash

    • :id (String)

    • :organization_id (String)

    • :primary (Boolean)

    • :scim_base_url (String)

    • :has_client_bearer_token (Boolean)

  • request_options (SSOReady::RequestOptions) (defaults to: nil)

Returns:



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
# File 'lib/ssoready/management/scim_directories/client.rb', line 344

def update_scim_directory(id:, request:, request_options: nil)
  Async do
    response = @request_client.conn.patch do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers = {
    **(req.headers || {}),
    **@request_client.get_headers,
    **(request_options&.additional_headers || {})
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
      req.url "#{@request_client.get_url(request_options: request_options)}/v1/scim-directories/#{id}"
    end
    SSOReady::UpdateSCIMDirectoryResponse.from_json(json_object: response.body)
  end
end