Class: SSOReady::Management::SCIMDirectoriesClient

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::SCIMDirectoriesClient

Parameters:



20
21
22
# File 'lib/ssoready/management/scim_directories/client.rb', line 20

def initialize(request_client:)
  @request_client = request_client
end

Instance Attribute Details

#request_clientSSOReady::RequestClient (readonly)



16
17
18
# File 'lib/ssoready/management/scim_directories/client.rb', line 16

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:



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/ssoready/management/scim_directories/client.rb', line 76

def create_scim_directory(request:, request_options: nil)
  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

#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:



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/ssoready/management/scim_directories/client.rb', line 106

def get_scim_directory(id:, request_options: nil)
  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

#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:



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/ssoready/management/scim_directories/client.rb', line 37

def list_scim_directories(organization_id: nil, page_token: nil, request_options: nil)
  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

#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:



187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
# File 'lib/ssoready/management/scim_directories/client.rb', line 187

def rotate_scim_directory_bearer_token(id:, request_options: nil)
  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

#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:



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# File 'lib/ssoready/management/scim_directories/client.rb', line 144

def update_scim_directory(id:, request:, request_options: nil)
  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