Class: DuoApi::Admin
- Inherits:
-
DuoApi
- Object
- DuoApi
- DuoApi::Admin
- Defined in:
- lib/duo_api/admin.rb
Overview
Duo Admin API (https://duo.com/docs/adminapi)
Instance Method Summary collapse
- #add_administrative_unit_admin(admin_unit_id:, admin_id:) ⇒ Object
- #add_administrative_unit_group(admin_unit_id:, group_id:) ⇒ Object
- #add_administrative_unit_integration(admin_unit_id:, integration_key:) ⇒ Object
- #add_custom_branding_draft_user(user_id:) ⇒ Object
- #add_user_group(user_id:, group_id:) ⇒ Object
- #add_user_hardware_token(user_id:, token_id:) ⇒ Object
- #add_user_phone(user_id:, phone_id:) ⇒ Object
- #block_registered_device(compkey:) ⇒ Object
- #block_registered_devices(registered_device_key_list:) ⇒ Object
- #bulk_create_users(users:) ⇒ Object
-
#bulk_operations(operations:) ⇒ Object
Bulk Operations.
- #bulk_restore_users(user_id_list:) ⇒ Object
- #bulk_trash_users(user_id_list:) ⇒ Object
- #calculate_policy(user_id:, integration_key:) ⇒ Object
- #clear_admin_inactivity(admin_id:) ⇒ Object
- #copy_policy(policy_key:, **optional_params) ⇒ Object
- #create_activation_url(phone_id:, **optional_params) ⇒ Object
- #create_admin(email:, name:, **optional_params) ⇒ Object
- #create_administrative_unit(name:, description:, restrict_by_groups:, **optional_params) ⇒ Object
- #create_existing_admin_activation_link(admin_id:) ⇒ Object
- #create_group(name:, **optional_params) ⇒ Object
- #create_integration(name:, type:, **optional_params) ⇒ Object
- #create_new_admin_activation_link(email:, **optional_params) ⇒ Object
- #create_phone(**optional_params) ⇒ Object
- #create_policy(policy_name:, **optional_params) ⇒ Object
- #create_shared_desktop_authenticator(group_id_list:, trusted_endpoint_integration_id_list:, **optional_params) ⇒ Object
- #create_token(type:, serial:, **optional_params) ⇒ Object
- #create_user(username:, **optional_params) ⇒ Object
- #create_user_bypass_codes(user_id:, **optional_params) ⇒ Object
- #delete_admin(admin_id:) ⇒ Object
- #delete_administrative_unit(admin_unit_id:) ⇒ Object
- #delete_bypass_code(bypass_code_id:) ⇒ Object
- #delete_desktop_authenticator(dakey:) ⇒ Object
- #delete_existing_admin_activation_link(admin_id:) ⇒ Object
- #delete_group(group_id:) ⇒ Object
- #delete_integration(integration_key:) ⇒ Object
- #delete_logo ⇒ Object
- #delete_new_admin_pending_activations(admin_activation_id:) ⇒ Object
- #delete_phone(phone_id:) ⇒ Object
- #delete_policy(policy_key:) ⇒ Object
- #delete_registered_device(compkey:) ⇒ Object
- #delete_shared_desktop_authenticator(shared_device_key:) ⇒ Object
- #delete_token(token_id:) ⇒ Object
- #delete_user(user_id:) ⇒ Object
- #delete_webauthncredential(webauthnkey:) ⇒ Object
- #email_existing_admin_activation_link(admin_id:) ⇒ Object
- #enroll_user(username:, email:, **optional_params) ⇒ Object
-
#get_account_info_summary ⇒ Object
Account Info.
- #get_activity_logs(mintime:, maxtime:, **optional_params) ⇒ Object
- #get_admin(admin_id:) ⇒ Object
- #get_admin_allowed_auth_factors ⇒ Object
- #get_admin_logs(**optional_params) ⇒ Object
- #get_admin_password_mgmt_status(admin_id:) ⇒ Object
- #get_admin_password_mgmt_statuses ⇒ Object
- #get_administrative_unit(admin_unit_id:) ⇒ Object
-
#get_administrative_units(**optional_params) ⇒ Object
Administrative Units.
-
#get_admins ⇒ Object
Administrators.
- #get_authentication_attempts_report(**optional_params) ⇒ Object
-
#get_authentication_logs(mintime:, maxtime:, **optional_params) ⇒ Object
Logs.
- #get_blocked_registered_device(compkey:) ⇒ Object
- #get_blocked_registered_devices ⇒ Object
- #get_bypass_code(bypass_code_id:) ⇒ Object
-
#get_bypass_codes ⇒ Object
Bypass Codes.
-
#get_custom_branding ⇒ Object
Custom Branding.
- #get_custom_branding_draft ⇒ Object
- #get_custom_branding_messaging ⇒ Object
- #get_desktop_authenticator(dakey:) ⇒ Object
-
#get_desktop_authenticators ⇒ Object
Desktop Authenticators.
- #get_endpoint(epkey:) ⇒ Object
-
#get_endpoints ⇒ Object
Endpoints.
- #get_global_policy ⇒ Object
- #get_group(group_id:) ⇒ Object
- #get_group_users(group_id:) ⇒ Object
-
#get_groups(**optional_params) ⇒ Object
Groups.
- #get_integration(integration_key:) ⇒ Object
- #get_integration_secret_key(integration_key:) ⇒ Object
-
#get_integrations ⇒ Object
Integrations.
- #get_logo ⇒ Object
- #get_new_admin_pending_activations ⇒ Object
- #get_oauth_integration_client_secret(integration_key:, client_id:) ⇒ Object
- #get_offline_enrollment_logs(**optional_params) ⇒ Object
- #get_oidc_integration_client_secret(integration_key:) ⇒ Object
-
#get_passport_config ⇒ Object
Passport.
- #get_phone(phone_id:) ⇒ Object
-
#get_phones(**optional_params) ⇒ Object
Phones.
- #get_policies ⇒ Object
-
#get_policies_summary ⇒ Object
Policies.
- #get_policy(policy_key:) ⇒ Object
- #get_registered_device(compkey:) ⇒ Object
-
#get_registered_devices ⇒ Object
Registered Devices.
-
#get_settings ⇒ Object
Settings.
- #get_shared_desktop_authenticator(shared_device_key:) ⇒ Object
- #get_shared_desktop_authenticators ⇒ Object
- #get_telephony_credits_used_report(**optional_params) ⇒ Object
- #get_telephony_logs(mintime:, maxtime:, **optional_params) ⇒ Object
- #get_token(token_id:) ⇒ Object
-
#get_tokens(**optional_params) ⇒ Object
Tokens.
-
#get_trust_monitor_events(mintime:, maxtime:, **optional_params) ⇒ Object
Trust Monitor.
- #get_user(user_id:) ⇒ Object
- #get_user_authentication_attempts_report(**optional_params) ⇒ Object
- #get_user_bypass_codes(user_id:) ⇒ Object
- #get_user_desktop_authenticators(user_id:) ⇒ Object
- #get_user_groups(user_id:) ⇒ Object
- #get_user_hardware_tokens(user_id:) ⇒ Object
- #get_user_phones(user_id:) ⇒ Object
- #get_user_webauthn_credentials(user_id:) ⇒ Object
-
#get_users(**optional_params) ⇒ Object
Users.
- #get_verification_push_response(user_id:, push_id:) ⇒ Object
- #get_webauthncredential(webauthnkey:) ⇒ Object
-
#get_webauthncredentials ⇒ Object
WebAuthn Credentials.
- #publish_custom_branding_draft ⇒ Object
- #remove_administrative_unit_admin(admin_unit_id:, admin_id:) ⇒ Object
- #remove_administrative_unit_group(admin_unit_id:, group_id:) ⇒ Object
- #remove_administrative_unit_integration(admin_unit_id:, integration_key:) ⇒ Object
- #remove_custom_branding_draft_user(user_id:) ⇒ Object
- #remove_user_group(user_id:, group_id:) ⇒ Object
- #remove_user_hardware_token(user_id:, token_id:) ⇒ Object
- #remove_user_phone(user_id:, phone_id:) ⇒ Object
- #reset_admin_auth_attempts(admin_id:) ⇒ Object
- #reset_oauth_integration_client_secret(integration_key:, client_id:) ⇒ Object
- #reset_oidc_integration_client_secret(integration_key:) ⇒ Object
- #resync_token(token_id:, code1:, code2:, code3:) ⇒ Object
- #send_sms_activation(phone_id:, **optional_params) ⇒ Object
- #send_sms_installation(phone_id:, **optional_params) ⇒ Object
- #send_sms_passcodes(phone_id:) ⇒ Object
- #send_verification_push(user_id:, phone_id:) ⇒ Object
- #sync_admin(directory_key:, email:) ⇒ Object
- #sync_user(username:, directory_key:) ⇒ Object
- #unblock_registered_device(compkey:) ⇒ Object
- #unblock_registered_devices(registered_device_key_list:) ⇒ Object
- #update_admin(admin_id:, **optional_params) ⇒ Object
- #update_admin_allowed_auth_factors(**optional_params) ⇒ Object
- #update_admin_password_mgmt_status(admin_id:, **optional_params) ⇒ Object
- #update_administrative_unit(admin_unit_id:, **optional_params) ⇒ Object
- #update_custom_branding(**optional_params) ⇒ Object
- #update_custom_branding_draft(**optional_params) ⇒ Object
- #update_custom_branding_messaging(**optional_params) ⇒ Object
- #update_group(group_id:, **optional_params) ⇒ Object
- #update_integration(integration_key:, **optional_params) ⇒ Object
- #update_logo(logo:) ⇒ Object
- #update_passport_config(disabled_groups:, enabled_groups:, enabled_status:) ⇒ Object
- #update_phone(phone_id:, **optional_params) ⇒ Object
- #update_policies(policies_to_update:, policy_changes:) ⇒ Object
- #update_policy(policy_key:, **optional_params) ⇒ Object
- #update_settings(**optional_params) ⇒ Object
- #update_shared_desktop_authenticator(shared_device_key:, **optional_params) ⇒ Object
- #update_user(user_id:, **optional_params) ⇒ Object
Instance Method Details
#add_administrative_unit_admin(admin_unit_id:, admin_id:) ⇒ Object
634 635 636 |
# File 'lib/duo_api/admin.rb', line 634 def add_administrative_unit_admin(admin_unit_id:, admin_id:) post("/admin/v1/administrative_units/#{admin_unit_id}/admin/#{admin_id}")[:response] end |
#add_administrative_unit_group(admin_unit_id:, group_id:) ⇒ Object
642 643 644 |
# File 'lib/duo_api/admin.rb', line 642 def add_administrative_unit_group(admin_unit_id:, group_id:) post("/admin/v1/administrative_units/#{admin_unit_id}/group/#{group_id}")[:response] end |
#add_administrative_unit_integration(admin_unit_id:, integration_key:) ⇒ Object
650 651 652 |
# File 'lib/duo_api/admin.rb', line 650 def add_administrative_unit_integration(admin_unit_id:, integration_key:) post("/admin/v1/administrative_units/#{admin_unit_id}/integration/#{integration_key}")[:response] end |
#add_custom_branding_draft_user(user_id:) ⇒ Object
778 779 780 |
# File 'lib/duo_api/admin.rb', line 778 def add_custom_branding_draft_user(user_id:) post("/admin/v1/branding/draft/users/#{user_id}")[:response] end |
#add_user_group(user_id:, group_id:) ⇒ Object
90 91 92 93 |
# File 'lib/duo_api/admin.rb', line 90 def add_user_group(user_id:, group_id:) params = { group_id: group_id } post("/admin/v1/users/#{user_id}/groups", params)[:response] end |
#add_user_hardware_token(user_id:, token_id:) ⇒ Object
116 117 118 119 |
# File 'lib/duo_api/admin.rb', line 116 def add_user_hardware_token(user_id:, token_id:) params = { token_id: token_id } post("/admin/v1/users/#{user_id}/tokens", params)[:response] end |
#add_user_phone(user_id:, phone_id:) ⇒ Object
103 104 105 106 |
# File 'lib/duo_api/admin.rb', line 103 def add_user_phone(user_id:, phone_id:) params = { phone_id: phone_id } post("/admin/v1/users/#{user_id}/phones", params)[:response] end |
#block_registered_device(compkey:) ⇒ Object
494 495 496 |
# File 'lib/duo_api/admin.rb', line 494 def block_registered_device(compkey:) post("/admin/v1/registered_devices/blocked/#{compkey}")[:response] end |
#block_registered_devices(registered_device_key_list:) ⇒ Object
489 490 491 492 |
# File 'lib/duo_api/admin.rb', line 489 def block_registered_devices(registered_device_key_list:) params = { registered_device_key_list: registered_device_key_list } post('/admin/v1/registered_devices/blocked', params)[:response] end |
#bulk_create_users(users:) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/duo_api/admin.rb', line 33 def bulk_create_users(users:) # Each user hash in users array requires :username and supports the following # optional keys: realname, emaiml, status, notes, firstname, lastname params = { users: json_serialized_array(users) } post('/admin/v1/users/bulk_create', params)[:response] end |
#bulk_operations(operations:) ⇒ Object
Bulk Operations
151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/duo_api/admin.rb', line 151 def bulk_operations(operations:) # Each hash in user_operations array requires :method, :path, and :body # Each :body has the same parameter requirements as the individual operation # Supported operations: # Create User: POST /admin/v1/users # Modify User: POST /admin/v1/users/[user_id] # Delete User: DELETE /admin/v1/users/[user_id] # Add User Group: POST /admin/v1/users/[user_id]/groups # Remove User Group: POST /admin/v1/users/[user_id]/groups/[group_id] operations.each{ |o| o[:body][:aliases] = serialized_aliases(o[:body][:aliases]) if o[:body][:aliases] } params = { operations: json_serialized_array(operations) } post('/admin/v1/bulk', params)[:response] end |
#bulk_restore_users(user_id_list:) ⇒ Object
40 41 42 43 |
# File 'lib/duo_api/admin.rb', line 40 def bulk_restore_users(user_id_list:) params = { user_id_list: json_serialized_array(user_id_list) } post('/admin/v1/users/bulk_restore', params)[:response] end |
#bulk_trash_users(user_id_list:) ⇒ Object
45 46 47 48 |
# File 'lib/duo_api/admin.rb', line 45 def bulk_trash_users(user_id_list:) params = { user_id_list: json_serialized_array(user_id_list) } post('/admin/v1/users/bulk_send_to_trash', params)[:response] end |
#calculate_policy(user_id:, integration_key:) ⇒ Object
421 422 423 424 |
# File 'lib/duo_api/admin.rb', line 421 def calculate_policy(user_id:, integration_key:) params = { user_id: user_id, integration_key: integration_key } get('/admin/v2/policies/calculate', params)[:response] end |
#clear_admin_inactivity(admin_id:) ⇒ Object
550 551 552 |
# File 'lib/duo_api/admin.rb', line 550 def clear_admin_inactivity(admin_id:) post("/admin/v1/admins/#{admin_id}/clear_inactivity")[:response] end |
#copy_policy(policy_key:, **optional_params) ⇒ Object
426 427 428 429 430 |
# File 'lib/duo_api/admin.rb', line 426 def copy_policy(policy_key:, **optional_params) # optional_params: new_policy_names_list params = optional_params.merge({ policy_key: policy_key }) post('/admin/v2/policies/copy', params)[:response] end |
#create_activation_url(phone_id:, **optional_params) ⇒ Object
222 223 224 225 |
# File 'lib/duo_api/admin.rb', line 222 def create_activation_url(phone_id:, **optional_params) # optional_params: valid_secs, install post("/admin/v1/phones/#{phone_id}/activation_url", optional_params)[:response] end |
#create_admin(email:, name:, **optional_params) ⇒ Object
527 528 529 530 531 |
# File 'lib/duo_api/admin.rb', line 527 def create_admin(email:, name:, **optional_params) # optional_params: phone, role, restricted_by_admin_units, send_email, token_id, valid_days params = optional_params.merge({ email: email, name: name }) post('/admin/v1/admins', params)[:response] end |
#create_administrative_unit(name:, description:, restrict_by_groups:, **optional_params) ⇒ Object
621 622 623 624 625 626 |
# File 'lib/duo_api/admin.rb', line 621 def create_administrative_unit(name:, description:, restrict_by_groups:, **optional_params) # optional_params: restrict_by_integrations, admins, groups, integrations params = optional_params.merge({ name: name, description: description, restrict_by_groups: restrict_by_groups }) post('/admin/v1/administrative_units', params)[:response] end |
#create_existing_admin_activation_link(admin_id:) ⇒ Object
554 555 556 |
# File 'lib/duo_api/admin.rb', line 554 def create_existing_admin_activation_link(admin_id:) post("/admin/v1/admins/#{admin_id}/activation_link")[:response] end |
#create_group(name:, **optional_params) ⇒ Object
173 174 175 176 177 |
# File 'lib/duo_api/admin.rb', line 173 def create_group(name:, **optional_params) # optional_params: desc, status params = optional_params.merge({ name: name }) post('/admin/v1/groups', params)[:response] end |
#create_integration(name:, type:, **optional_params) ⇒ Object
348 349 350 351 352 353 354 355 356 357 358 359 |
# File 'lib/duo_api/admin.rb', line 348 def create_integration(name:, type:, **optional_params) # optional_params: adminapi_admins, adminapi_admins_read, adminapi_allow_to_set_permissions, # adminapi_info, adminapi_integrations, adminapi_read_log, # adminapi_read_resource, adminapi_settings, adminapi_write_resource, # enroll_policy, greeting, groups_allowed, ip_whitelist, # ip_whitelist_enroll_policy, networks_for_api_access, notes, # trusted_device_days, self_service_allowed, sso, username_normalization_policy # # sso params: https://duo.com/docs/adminapi#sso-parameters params = optional_params.merge({ name: name, type: type }) post('/admin/v3/integrations', params)[:response] end |
#create_new_admin_activation_link(email:, **optional_params) ⇒ Object
566 567 568 569 570 |
# File 'lib/duo_api/admin.rb', line 566 def create_new_admin_activation_link(email:, **optional_params) # optional_params: admin_name, admin_role, send_email, valid_days params = optional_params.merge({ email: email }) post('/admin/v1/admins/activations', params)[:response] end |
#create_phone(**optional_params) ⇒ Object
204 205 206 207 |
# File 'lib/duo_api/admin.rb', line 204 def create_phone(**optional_params) # optional_params: number, name, extension, type, platform, predelay, postdelay post('/admin/v1/phones', optional_params)[:response] end |
#create_policy(policy_name:, **optional_params) ⇒ Object
432 433 434 435 436 |
# File 'lib/duo_api/admin.rb', line 432 def create_policy(policy_name:, **optional_params) # optional_params: apply_to_apps, apply_to_groups_in_apps, sections params = optional_params.merge({ policy_name: policy_name }) post('/admin/v2/policies', params)[:response] end |
#create_shared_desktop_authenticator(group_id_list:, trusted_endpoint_integration_id_list:, **optional_params) ⇒ Object
306 307 308 309 310 311 312 313 314 |
# File 'lib/duo_api/admin.rb', line 306 def create_shared_desktop_authenticator(group_id_list:, trusted_endpoint_integration_id_list:, **optional_params) # optional_params: active, name params = optional_params.merge({ group_id_list: group_id_list, trusted_endpoint_integration_id_list: trusted_endpoint_integration_id_list }) post('/admin/v1/desktop_authenticators/shared_device_auth', params)[:response] end |
#create_token(type:, serial:, **optional_params) ⇒ Object
249 250 251 252 253 |
# File 'lib/duo_api/admin.rb', line 249 def create_token(type:, serial:, **optional_params) # optional_params: secret, counter, private_id, aes_key params = optional_params.merge({ type: type, serial: serial }) post('/admin/v1/tokens', params)[:response] end |
#create_user(username:, **optional_params) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/duo_api/admin.rb', line 23 def create_user(username:, **optional_params) # optional_params: alias1, alias2, alias3, alias4, aliases, realname, email, # enable_auto_prompt, status, notes, firstname, lastname optional_params.tap do |p| p[:aliases] = serialized_aliases(p[:aliases]) if p[:aliases] end params = optional_params.merge({ username: username }) post('/admin/v1/users', params)[:response] end |
#create_user_bypass_codes(user_id:, **optional_params) ⇒ Object
74 75 76 77 78 79 80 |
# File 'lib/duo_api/admin.rb', line 74 def create_user_bypass_codes(user_id:, **optional_params) # optional_params: count, codes, preserve_existing, reuse_count, valid_secs optional_params.tap do |p| p[:codes] = csv_serialized_array(p[:codes]) if p[:codes] end post("/admin/v1/users/#{user_id}/bypass_codes", optional_params)[:response] end |
#delete_admin(admin_id:) ⇒ Object
542 543 544 |
# File 'lib/duo_api/admin.rb', line 542 def delete_admin(admin_id:) delete("/admin/v1/admins/#{admin_id}")[:response] end |
#delete_administrative_unit(admin_unit_id:) ⇒ Object
658 659 660 |
# File 'lib/duo_api/admin.rb', line 658 def delete_administrative_unit(admin_unit_id:) delete("/admin/v1/administrative_units/#{admin_unit_id}")[:response] end |
#delete_bypass_code(bypass_code_id:) ⇒ Object
337 338 339 |
# File 'lib/duo_api/admin.rb', line 337 def delete_bypass_code(bypass_code_id:) delete("/admin/v1/bypass_codes/#{bypass_code_id}")[:response] end |
#delete_desktop_authenticator(dakey:) ⇒ Object
294 295 296 |
# File 'lib/duo_api/admin.rb', line 294 def delete_desktop_authenticator(dakey:) delete("/admin/v1/desktop_authenticators/#{dakey}")[:response] end |
#delete_existing_admin_activation_link(admin_id:) ⇒ Object
558 559 560 |
# File 'lib/duo_api/admin.rb', line 558 def delete_existing_admin_activation_link(admin_id:) delete("/admin/v1/admins/#{admin_id}/activation_link")[:response] end |
#delete_group(group_id:) ⇒ Object
192 193 194 |
# File 'lib/duo_api/admin.rb', line 192 def delete_group(group_id:) delete("/admin/v1/groups/#{group_id}")[:response] end |
#delete_integration(integration_key:) ⇒ Object
378 379 380 |
# File 'lib/duo_api/admin.rb', line 378 def delete_integration(integration_key:) delete("/admin/v3/integrations/#{integration_key}")[:response] end |
#delete_logo ⇒ Object
751 752 753 |
# File 'lib/duo_api/admin.rb', line 751 def delete_logo delete('/admin/v1/logo')[:response] end |
#delete_new_admin_pending_activations(admin_activation_id:) ⇒ Object
576 577 578 |
# File 'lib/duo_api/admin.rb', line 576 def delete_new_admin_pending_activations(admin_activation_id:) delete("/admin/v1/admins/activations/#{admin_activation_id}")[:response] end |
#delete_phone(phone_id:) ⇒ Object
218 219 220 |
# File 'lib/duo_api/admin.rb', line 218 def delete_phone(phone_id:) delete("/admin/v1/phones/#{phone_id}")[:response] end |
#delete_policy(policy_key:) ⇒ Object
451 452 453 |
# File 'lib/duo_api/admin.rb', line 451 def delete_policy(policy_key:) delete("/admin/v2/policies/#{policy_key}")[:response] end |
#delete_registered_device(compkey:) ⇒ Object
477 478 479 |
# File 'lib/duo_api/admin.rb', line 477 def delete_registered_device(compkey:) delete("/admin/v1/registered_devices/#{compkey}")[:response] end |
#delete_shared_desktop_authenticator(shared_device_key:) ⇒ Object
322 323 324 |
# File 'lib/duo_api/admin.rb', line 322 def delete_shared_desktop_authenticator(shared_device_key:) delete("/admin/v1/desktop_authenticators/shared_device_auth/#{shared_device_key}")[:response] end |
#delete_token(token_id:) ⇒ Object
264 265 266 |
# File 'lib/duo_api/admin.rb', line 264 def delete_token(token_id:) delete("/admin/v1/tokens/#{token_id}")[:response] end |
#delete_user(user_id:) ⇒ Object
64 65 66 |
# File 'lib/duo_api/admin.rb', line 64 def delete_user(user_id:) delete("/admin/v1/users/#{user_id}")[:response] end |
#delete_webauthncredential(webauthnkey:) ⇒ Object
279 280 281 |
# File 'lib/duo_api/admin.rb', line 279 def delete_webauthncredential(webauthnkey:) delete("/admin/v1/webauthncredentials/#{webauthnkey}")[:response] end |
#email_existing_admin_activation_link(admin_id:) ⇒ Object
562 563 564 |
# File 'lib/duo_api/admin.rb', line 562 def email_existing_admin_activation_link(admin_id:) post("/admin/v1/admins/#{admin_id}/activation_link/email")[:response] end |
#enroll_user(username:, email:, **optional_params) ⇒ Object
68 69 70 71 72 |
# File 'lib/duo_api/admin.rb', line 68 def enroll_user(username:, email:, **optional_params) # optional_params: valid_secs params = optional_params.merge({ username: username, email: email }) post('/admin/v1/users/enroll', params)[:response] end |
#get_account_info_summary ⇒ Object
Account Info
802 803 804 |
# File 'lib/duo_api/admin.rb', line 802 def get_account_info_summary get('/admin/v1/info/summary')[:response] end |
#get_activity_logs(mintime:, maxtime:, **optional_params) ⇒ Object
677 678 679 680 681 682 683 684 |
# File 'lib/duo_api/admin.rb', line 677 def get_activity_logs(mintime:, maxtime:, **optional_params) # optional_params: sort params = optional_params.merge({ mintime: mintime, maxtime: maxtime }) data_array_path = %i[response items] = %i[response metadata] get_all('/admin/v2/logs/activity', params, data_array_path: data_array_path, metadata_path: ).dig(*data_array_path) end |
#get_admin(admin_id:) ⇒ Object
533 534 535 |
# File 'lib/duo_api/admin.rb', line 533 def get_admin(admin_id:) get("/admin/v1/admins/#{admin_id}")[:response] end |
#get_admin_allowed_auth_factors ⇒ Object
598 599 600 |
# File 'lib/duo_api/admin.rb', line 598 def get_admin_allowed_auth_factors get('/admin/v1/admins/allowed_auth_methods')[:response] end |
#get_admin_logs(**optional_params) ⇒ Object
686 687 688 689 |
# File 'lib/duo_api/admin.rb', line 686 def get_admin_logs(**optional_params) # optional_params: mintime get('/admin/v1/logs/administrator', optional_params)[:response] end |
#get_admin_password_mgmt_status(admin_id:) ⇒ Object
589 590 591 |
# File 'lib/duo_api/admin.rb', line 589 def get_admin_password_mgmt_status(admin_id:) get("/admin/v1/admins/#{admin_id}/password_mgmt")[:response] end |
#get_admin_password_mgmt_statuses ⇒ Object
585 586 587 |
# File 'lib/duo_api/admin.rb', line 585 def get_admin_password_mgmt_statuses get_all('/admin/v1/admins/password_mgmt')[:response] end |
#get_administrative_unit(admin_unit_id:) ⇒ Object
617 618 619 |
# File 'lib/duo_api/admin.rb', line 617 def get_administrative_unit(admin_unit_id:) get("/admin/v1/administrative_units/#{admin_unit_id}")[:response] end |
#get_administrative_units(**optional_params) ⇒ Object
Administrative Units
612 613 614 615 |
# File 'lib/duo_api/admin.rb', line 612 def get_administrative_units(**optional_params) # optional_params: admin_id, group_id, integration_key get_all('/admin/v1/administrative_units', optional_params)[:response] end |
#get_admins ⇒ Object
Administrators
523 524 525 |
# File 'lib/duo_api/admin.rb', line 523 def get_admins get_all('/admin/v1/admins')[:response] end |
#get_authentication_attempts_report(**optional_params) ⇒ Object
811 812 813 |
# File 'lib/duo_api/admin.rb', line 811 def get_authentication_attempts_report(**optional_params) get('/admin/v1/info/authentication_attempts', optional_params)[:response] end |
#get_authentication_logs(mintime:, maxtime:, **optional_params) ⇒ Object
Logs
665 666 667 668 669 670 671 672 673 674 675 |
# File 'lib/duo_api/admin.rb', line 665 def get_authentication_logs(mintime:, maxtime:, **optional_params) # optional_params: applications, users, assessment, detections, event_types, factors, formatter, # groups, phone_numbers, reasons, results, tokens, sort # # more info: https://duo.com/docs/adminapi#authentication-logs params = optional_params.merge({ mintime: mintime, maxtime: maxtime }) data_array_path = %i[response authlogs] = %i[response metadata] get_all('/admin/v2/logs/authentication', params, data_array_path: data_array_path, metadata_path: ).dig(*data_array_path) end |
#get_blocked_registered_device(compkey:) ⇒ Object
485 486 487 |
# File 'lib/duo_api/admin.rb', line 485 def get_blocked_registered_device(compkey:) get("/admin/v1/registered_devices/blocked/#{compkey}")[:response] end |
#get_blocked_registered_devices ⇒ Object
481 482 483 |
# File 'lib/duo_api/admin.rb', line 481 def get_blocked_registered_devices get_all('/admin/v1/registered_devices/blocked')[:response] end |
#get_bypass_code(bypass_code_id:) ⇒ Object
333 334 335 |
# File 'lib/duo_api/admin.rb', line 333 def get_bypass_code(bypass_code_id:) get("/admin/v1/bypass_codes/#{bypass_code_id}")[:response] end |
#get_bypass_codes ⇒ Object
Bypass Codes
329 330 331 |
# File 'lib/duo_api/admin.rb', line 329 def get_bypass_codes get_all('/admin/v1/bypass_codes')[:response] end |
#get_custom_branding ⇒ Object
Custom Branding
758 759 760 |
# File 'lib/duo_api/admin.rb', line 758 def get_custom_branding get('/admin/v1/branding')[:response] end |
#get_custom_branding_draft ⇒ Object
768 769 770 |
# File 'lib/duo_api/admin.rb', line 768 def get_custom_branding_draft get('/admin/v1/branding/draft')[:response] end |
#get_custom_branding_messaging ⇒ Object
790 791 792 |
# File 'lib/duo_api/admin.rb', line 790 def get_custom_branding_messaging get('/admin/v1/branding/custom_messaging')[:response] end |
#get_desktop_authenticator(dakey:) ⇒ Object
290 291 292 |
# File 'lib/duo_api/admin.rb', line 290 def get_desktop_authenticator(dakey:) get("/admin/v1/desktop_authenticators/#{dakey}")[:response] end |
#get_desktop_authenticators ⇒ Object
Desktop Authenticators
286 287 288 |
# File 'lib/duo_api/admin.rb', line 286 def get_desktop_authenticators get_all('/admin/v1/desktop_authenticators')[:response] end |
#get_endpoint(epkey:) ⇒ Object
462 463 464 |
# File 'lib/duo_api/admin.rb', line 462 def get_endpoint(epkey:) get("/admin/v1/endpoints/#{epkey}")[:response] end |
#get_endpoints ⇒ Object
Endpoints
458 459 460 |
# File 'lib/duo_api/admin.rb', line 458 def get_endpoints get_all('/admin/v1/endpoints')[:response] end |
#get_global_policy ⇒ Object
413 414 415 |
# File 'lib/duo_api/admin.rb', line 413 def get_global_policy get('/admin/v2/policies/global')[:response] end |
#get_group(group_id:) ⇒ Object
179 180 181 |
# File 'lib/duo_api/admin.rb', line 179 def get_group(group_id:) get("/admin/v2/groups/#{group_id}")[:response] end |
#get_group_users(group_id:) ⇒ Object
183 184 185 |
# File 'lib/duo_api/admin.rb', line 183 def get_group_users(group_id:) get_all("/admin/v2/groups/#{group_id}/users")[:response] end |
#get_groups(**optional_params) ⇒ Object
Groups
168 169 170 171 |
# File 'lib/duo_api/admin.rb', line 168 def get_groups(**optional_params) # optional_params: group_id_list get_all('/admin/v1/groups', optional_params)[:response] end |
#get_integration(integration_key:) ⇒ Object
361 362 363 |
# File 'lib/duo_api/admin.rb', line 361 def get_integration(integration_key:) get("/admin/v3/integrations/#{integration_key}")[:response] end |
#get_integration_secret_key(integration_key:) ⇒ Object
382 383 384 |
# File 'lib/duo_api/admin.rb', line 382 def get_integration_secret_key(integration_key:) get("/admin/v1/integrations/#{integration_key}/skey")[:response] end |
#get_integrations ⇒ Object
Integrations
344 345 346 |
# File 'lib/duo_api/admin.rb', line 344 def get_integrations get_all('/admin/v3/integrations')[:response] end |
#get_logo ⇒ Object
740 741 742 |
# File 'lib/duo_api/admin.rb', line 740 def get_logo get_image('/admin/v1/logo') end |
#get_new_admin_pending_activations ⇒ Object
572 573 574 |
# File 'lib/duo_api/admin.rb', line 572 def get_new_admin_pending_activations get_all('/admin/v1/admins/activations')[:response] end |
#get_oauth_integration_client_secret(integration_key:, client_id:) ⇒ Object
386 387 388 |
# File 'lib/duo_api/admin.rb', line 386 def get_oauth_integration_client_secret(integration_key:, client_id:) get("/admin/v2/integrations/oauth_cc/#{integration_key}/client_secret/#{client_id}")[:response] end |
#get_offline_enrollment_logs(**optional_params) ⇒ Object
700 701 702 703 |
# File 'lib/duo_api/admin.rb', line 700 def get_offline_enrollment_logs(**optional_params) # optional_params: mintime get('/admin/v1/logs/offline_enrollment', optional_params)[:response] end |
#get_oidc_integration_client_secret(integration_key:) ⇒ Object
394 395 396 |
# File 'lib/duo_api/admin.rb', line 394 def get_oidc_integration_client_secret(integration_key:) get("/admin/v2/integrations/oidc/#{integration_key}/client_secret")[:response] end |
#get_passport_config ⇒ Object
Passport
510 511 512 |
# File 'lib/duo_api/admin.rb', line 510 def get_passport_config get('/admin/v2/passport/config')[:response] end |
#get_phone(phone_id:) ⇒ Object
209 210 211 |
# File 'lib/duo_api/admin.rb', line 209 def get_phone(phone_id:) get("/admin/v1/phones/#{phone_id}")[:response] end |
#get_phones(**optional_params) ⇒ Object
Phones
199 200 201 202 |
# File 'lib/duo_api/admin.rb', line 199 def get_phones(**optional_params) # optional_params: number, extension get_all('/admin/v1/phones', optional_params)[:response] end |
#get_policies ⇒ Object
409 410 411 |
# File 'lib/duo_api/admin.rb', line 409 def get_policies get_all('/admin/v2/policies')[:response] end |
#get_policies_summary ⇒ Object
Policies
405 406 407 |
# File 'lib/duo_api/admin.rb', line 405 def get_policies_summary get('/admin/v2/policies/summary')[:response] end |
#get_policy(policy_key:) ⇒ Object
417 418 419 |
# File 'lib/duo_api/admin.rb', line 417 def get_policy(policy_key:) get("/admin/v2/policies/#{policy_key}")[:response] end |
#get_registered_device(compkey:) ⇒ Object
473 474 475 |
# File 'lib/duo_api/admin.rb', line 473 def get_registered_device(compkey:) get("/admin/v1/registered_devices/#{compkey}")[:response] end |
#get_registered_devices ⇒ Object
Registered Devices
469 470 471 |
# File 'lib/duo_api/admin.rb', line 469 def get_registered_devices get_all('/admin/v1/registered_devices')[:response] end |
#get_settings ⇒ Object
Settings
721 722 723 |
# File 'lib/duo_api/admin.rb', line 721 def get_settings get('/admin/v1/settings')[:response] end |
#get_shared_desktop_authenticator(shared_device_key:) ⇒ Object
302 303 304 |
# File 'lib/duo_api/admin.rb', line 302 def get_shared_desktop_authenticator(shared_device_key:) get("/admin/v1/desktop_authenticators/shared_device_auth/#{shared_device_key}")[:response] end |
#get_shared_desktop_authenticators ⇒ Object
298 299 300 |
# File 'lib/duo_api/admin.rb', line 298 def get_shared_desktop_authenticators get_all('/admin/v1/desktop_authenticators/shared_device_auth')[:response] end |
#get_telephony_credits_used_report(**optional_params) ⇒ Object
806 807 808 809 |
# File 'lib/duo_api/admin.rb', line 806 def get_telephony_credits_used_report(**optional_params) # optional_params: maxtime, mintime get('/admin/v1/info/telephony_credits_used', optional_params)[:response] end |
#get_telephony_logs(mintime:, maxtime:, **optional_params) ⇒ Object
691 692 693 694 695 696 697 698 |
# File 'lib/duo_api/admin.rb', line 691 def get_telephony_logs(mintime:, maxtime:, **optional_params) # optional_params: sort params = optional_params.merge({ mintime: mintime, maxtime: maxtime }) data_array_path = %i[response items] = %i[response metadata] get_all('/admin/v2/logs/telephony', params, data_array_path: data_array_path, metadata_path: ).dig(*data_array_path) end |
#get_token(token_id:) ⇒ Object
255 256 257 |
# File 'lib/duo_api/admin.rb', line 255 def get_token(token_id:) get("/admin/v1/tokens/#{token_id}")[:response] end |
#get_tokens(**optional_params) ⇒ Object
Tokens
244 245 246 247 |
# File 'lib/duo_api/admin.rb', line 244 def get_tokens(**optional_params) # optional_params: type, serial get_all('/admin/v1/tokens', optional_params)[:response] end |
#get_trust_monitor_events(mintime:, maxtime:, **optional_params) ⇒ Object
Trust Monitor
708 709 710 711 712 713 714 715 716 |
# File 'lib/duo_api/admin.rb', line 708 def get_trust_monitor_events(mintime:, maxtime:, **optional_params) # optional_params: formatter, type params = optional_params.merge({ mintime: mintime, maxtime: maxtime }) params[:limit] = 200 if !params[:limit] || (params[:limit].to_i > 200) data_array_path = %i[response events] = %i[response metadata] get_all('/admin/v1/trust_monitor/events', params, data_array_path: data_array_path, metadata_path: ).dig(*data_array_path) end |
#get_user(user_id:) ⇒ Object
50 51 52 |
# File 'lib/duo_api/admin.rb', line 50 def get_user(user_id:) get("/admin/v1/users/#{user_id}")[:response] end |
#get_user_authentication_attempts_report(**optional_params) ⇒ Object
815 816 817 |
# File 'lib/duo_api/admin.rb', line 815 def get_user_authentication_attempts_report(**optional_params) get('/admin/v1/info/user_authentication_attempts', optional_params)[:response] end |
#get_user_bypass_codes(user_id:) ⇒ Object
82 83 84 |
# File 'lib/duo_api/admin.rb', line 82 def get_user_bypass_codes(user_id:) get_all("/admin/v1/users/#{user_id}/bypass_codes")[:response] end |
#get_user_desktop_authenticators(user_id:) ⇒ Object
129 130 131 |
# File 'lib/duo_api/admin.rb', line 129 def get_user_desktop_authenticators(user_id:) get_all("/admin/v1/users/#{user_id}/desktopauthenticators")[:response] end |
#get_user_groups(user_id:) ⇒ Object
86 87 88 |
# File 'lib/duo_api/admin.rb', line 86 def get_user_groups(user_id:) get_all("/admin/v1/users/#{user_id}/groups")[:response] end |
#get_user_hardware_tokens(user_id:) ⇒ Object
112 113 114 |
# File 'lib/duo_api/admin.rb', line 112 def get_user_hardware_tokens(user_id:) get_all("/admin/v1/users/#{user_id}/tokens")[:response] end |
#get_user_phones(user_id:) ⇒ Object
99 100 101 |
# File 'lib/duo_api/admin.rb', line 99 def get_user_phones(user_id:) get_all("/admin/v1/users/#{user_id}/phones")[:response] end |
#get_user_webauthn_credentials(user_id:) ⇒ Object
125 126 127 |
# File 'lib/duo_api/admin.rb', line 125 def get_user_webauthn_credentials(user_id:) get_all("/admin/v1/users/#{user_id}/webauthncredentials")[:response] end |
#get_users(**optional_params) ⇒ Object
Users
14 15 16 17 18 19 20 21 |
# File 'lib/duo_api/admin.rb', line 14 def get_users(**optional_params) # optional_params: username, email, user_id_list, username_list optional_params.tap do |p| p[:user_id_list] = json_serialized_array(p[:user_id_list]) if p[:user_id_list] p[:username_list] = json_serialized_array(p[:username_list]) if p[:username_list] end get_all('/admin/v1/users', optional_params)[:response] end |
#get_verification_push_response(user_id:, push_id:) ⇒ Object
143 144 145 146 |
# File 'lib/duo_api/admin.rb', line 143 def get_verification_push_response(user_id:, push_id:) params = { push_id: push_id } get("/admin/v1/users/#{user_id}/verification_push_response", params)[:response] end |
#get_webauthncredential(webauthnkey:) ⇒ Object
275 276 277 |
# File 'lib/duo_api/admin.rb', line 275 def get_webauthncredential(webauthnkey:) get("/admin/v1/webauthncredentials/#{webauthnkey}")[:response] end |
#get_webauthncredentials ⇒ Object
WebAuthn Credentials
271 272 273 |
# File 'lib/duo_api/admin.rb', line 271 def get_webauthncredentials get_all('/admin/v1/webauthncredentials')[:response] end |
#publish_custom_branding_draft ⇒ Object
786 787 788 |
# File 'lib/duo_api/admin.rb', line 786 def publish_custom_branding_draft post('/admin/v1/branding/draft/publish')[:response] end |
#remove_administrative_unit_admin(admin_unit_id:, admin_id:) ⇒ Object
638 639 640 |
# File 'lib/duo_api/admin.rb', line 638 def remove_administrative_unit_admin(admin_unit_id:, admin_id:) delete("/admin/v1/administrative_units/#{admin_unit_id}/admin/#{admin_id}")[:response] end |
#remove_administrative_unit_group(admin_unit_id:, group_id:) ⇒ Object
646 647 648 |
# File 'lib/duo_api/admin.rb', line 646 def remove_administrative_unit_group(admin_unit_id:, group_id:) delete("/admin/v1/administrative_units/#{admin_unit_id}/group/#{group_id}")[:response] end |
#remove_administrative_unit_integration(admin_unit_id:, integration_key:) ⇒ Object
654 655 656 |
# File 'lib/duo_api/admin.rb', line 654 def remove_administrative_unit_integration(admin_unit_id:, integration_key:) delete("/admin/v1/administrative_units/#{admin_unit_id}/integration/#{integration_key}")[:response] end |
#remove_custom_branding_draft_user(user_id:) ⇒ Object
782 783 784 |
# File 'lib/duo_api/admin.rb', line 782 def remove_custom_branding_draft_user(user_id:) delete("/admin/v1/branding/draft/users/#{user_id}")[:response] end |
#remove_user_group(user_id:, group_id:) ⇒ Object
95 96 97 |
# File 'lib/duo_api/admin.rb', line 95 def remove_user_group(user_id:, group_id:) delete("/admin/v1/users/#{user_id}/groups/#{group_id}")[:response] end |
#remove_user_hardware_token(user_id:, token_id:) ⇒ Object
121 122 123 |
# File 'lib/duo_api/admin.rb', line 121 def remove_user_hardware_token(user_id:, token_id:) delete("/admin/v1/users/#{user_id}/tokens/#{token_id}")[:response] end |
#remove_user_phone(user_id:, phone_id:) ⇒ Object
108 109 110 |
# File 'lib/duo_api/admin.rb', line 108 def remove_user_phone(user_id:, phone_id:) delete("/admin/v1/users/#{user_id}/phones/#{phone_id}")[:response] end |
#reset_admin_auth_attempts(admin_id:) ⇒ Object
546 547 548 |
# File 'lib/duo_api/admin.rb', line 546 def reset_admin_auth_attempts(admin_id:) post("/admin/v1/admins/#{admin_id}/reset")[:response] end |
#reset_oauth_integration_client_secret(integration_key:, client_id:) ⇒ Object
390 391 392 |
# File 'lib/duo_api/admin.rb', line 390 def reset_oauth_integration_client_secret(integration_key:, client_id:) post("/admin/v2/integrations/oauth_cc/#{integration_key}/client_secret/#{client_id}")[:response] end |
#reset_oidc_integration_client_secret(integration_key:) ⇒ Object
398 399 400 |
# File 'lib/duo_api/admin.rb', line 398 def reset_oidc_integration_client_secret(integration_key:) post("/admin/v2/integrations/oidc/#{integration_key}/client_secret")[:response] end |
#resync_token(token_id:, code1:, code2:, code3:) ⇒ Object
259 260 261 262 |
# File 'lib/duo_api/admin.rb', line 259 def resync_token(token_id:, code1:, code2:, code3:) params = { code1: code1, code2: code2, code3: code3 } post("/admin/v1/tokens/#{token_id}/resync", params)[:response] end |
#send_sms_activation(phone_id:, **optional_params) ⇒ Object
227 228 229 230 |
# File 'lib/duo_api/admin.rb', line 227 def send_sms_activation(phone_id:, **optional_params) # optional_params: valid_secs, install, installation_msg, activation_msg post("/admin/v1/phones/#{phone_id}/send_sms_activation", optional_params)[:response] end |
#send_sms_installation(phone_id:, **optional_params) ⇒ Object
232 233 234 235 |
# File 'lib/duo_api/admin.rb', line 232 def send_sms_installation(phone_id:, **optional_params) # optional_params: installation_msg post("/admin/v1/phones/#{phone_id}/send_sms_installation", optional_params)[:response] end |
#send_sms_passcodes(phone_id:) ⇒ Object
237 238 239 |
# File 'lib/duo_api/admin.rb', line 237 def send_sms_passcodes(phone_id:) post("/admin/v1/phones/#{phone_id}/send_sms_passcodes")[:response] end |
#send_verification_push(user_id:, phone_id:) ⇒ Object
138 139 140 141 |
# File 'lib/duo_api/admin.rb', line 138 def send_verification_push(user_id:, phone_id:) params = { phone_id: phone_id } post("/admin/v1/users/#{user_id}/send_verification_push", params)[:response] end |
#sync_admin(directory_key:, email:) ⇒ Object
580 581 582 583 |
# File 'lib/duo_api/admin.rb', line 580 def sync_admin(directory_key:, email:) params = { email: email } post("/admin/v1/admins/directorysync/#{directory_key}/syncadmin", params)[:response] end |
#sync_user(username:, directory_key:) ⇒ Object
133 134 135 136 |
# File 'lib/duo_api/admin.rb', line 133 def sync_user(username:, directory_key:) params = { username: username } post("/admin/v1/users/directorysync/#{directory_key}/syncuser", params)[:response] end |
#unblock_registered_device(compkey:) ⇒ Object
503 504 505 |
# File 'lib/duo_api/admin.rb', line 503 def unblock_registered_device(compkey:) delete("/admin/v1/registered_devices/blocked/#{compkey}")[:response] end |
#unblock_registered_devices(registered_device_key_list:) ⇒ Object
498 499 500 501 |
# File 'lib/duo_api/admin.rb', line 498 def unblock_registered_devices(registered_device_key_list:) params = { registered_device_key_list: registered_device_key_list } delete('/admin/v1/registered_devices/blocked', params)[:response] end |
#update_admin(admin_id:, **optional_params) ⇒ Object
537 538 539 540 |
# File 'lib/duo_api/admin.rb', line 537 def update_admin(admin_id:, **optional_params) # optional_params: phone, role, restricted_by_admin_units, token_id, name, status post("/admin/v1/admins/#{admin_id}", optional_params)[:response] end |
#update_admin_allowed_auth_factors(**optional_params) ⇒ Object
602 603 604 605 606 607 |
# File 'lib/duo_api/admin.rb', line 602 def update_admin_allowed_auth_factors(**optional_params) # optional_params: hardware_token_enabled, mobile_otp_enabled, push_enabled, sms_enabled, # verified_push_enabled, verified_push_length, voice_enabled, webauthn_enabled, # yubikey_enabled post('/admin/v1/admins/allowed_auth_methods', optional_params)[:response] end |
#update_admin_password_mgmt_status(admin_id:, **optional_params) ⇒ Object
593 594 595 596 |
# File 'lib/duo_api/admin.rb', line 593 def update_admin_password_mgmt_status(admin_id:, **optional_params) # optional_params: has_external_password_mgmt, password post("/admin/v1/admins/#{admin_id}/password_mgmt", optional_params)[:response] end |
#update_administrative_unit(admin_unit_id:, **optional_params) ⇒ Object
628 629 630 631 632 |
# File 'lib/duo_api/admin.rb', line 628 def update_administrative_unit(admin_unit_id:, **optional_params) # optional_params: restrict_by_integrations, admins, groups, integrations, # name, description, restrict_by_groups post("/admin/v1/administrative_units/#{admin_unit_id}", optional_params)[:response] end |
#update_custom_branding(**optional_params) ⇒ Object
762 763 764 765 766 |
# File 'lib/duo_api/admin.rb', line 762 def update_custom_branding(**optional_params) # optional_params: background_img, card_accent_color, logo, page_background_color, # powered_by_duo, sso_custom_username_label post('/admin/v1/branding', optional_params)[:response] end |
#update_custom_branding_draft(**optional_params) ⇒ Object
772 773 774 775 776 |
# File 'lib/duo_api/admin.rb', line 772 def update_custom_branding_draft(**optional_params) # optional_params: background_img, card_accent_color, logo, page_background_color, # powered_by_duo, sso_custom_username_label, user_ids post('/admin/v1/branding/draft', optional_params)[:response] end |
#update_custom_branding_messaging(**optional_params) ⇒ Object
794 795 796 797 |
# File 'lib/duo_api/admin.rb', line 794 def update_custom_branding_messaging(**optional_params) # optional_params: help_links, help_text, locale post('/admin/v1/branding/custom_messaging', optional_params)[:response] end |
#update_group(group_id:, **optional_params) ⇒ Object
187 188 189 190 |
# File 'lib/duo_api/admin.rb', line 187 def update_group(group_id:, **optional_params) # optional_params: desc, status, name post("/admin/v1/groups/#{group_id}", optional_params)[:response] end |
#update_integration(integration_key:, **optional_params) ⇒ Object
365 366 367 368 369 370 371 372 373 374 375 376 |
# File 'lib/duo_api/admin.rb', line 365 def update_integration(integration_key:, **optional_params) # optional_params: adminapi_admins, adminapi_admins_read, adminapi_allow_to_set_permissions, # adminapi_info, adminapi_integrations, adminapi_read_log, # adminapi_read_resource, adminapi_settings, adminapi_write_resource, # enroll_policy, greeting, groups_allowed, ip_whitelist, # ip_whitelist_enroll_policy, networks_for_api_access, notes, # trusted_device_days, self_service_allowed, sso, username_normalization_policy, # name, policy_key, prompt_v4_enabled, reset_secret_key # # sso params: https://duo.com/docs/adminapi#sso-parameters post("/admin/v3/integrations/#{integration_key}", optional_params)[:response] end |
#update_logo(logo:) ⇒ Object
744 745 746 747 748 749 |
# File 'lib/duo_api/admin.rb', line 744 def update_logo(logo:) # logo should be raw png data or base64 strict encoded raw png data encoded_logo = base64?(logo) ? logo : Base64.strict_encode64(logo) params = { logo: encoded_logo } post('/admin/v1/logo', params)[:response] end |
#update_passport_config(disabled_groups:, enabled_groups:, enabled_status:) ⇒ Object
514 515 516 517 518 |
# File 'lib/duo_api/admin.rb', line 514 def update_passport_config(disabled_groups:, enabled_groups:, enabled_status:) params = { disabled_groups: disabled_groups, enabled_groups: enabled_groups, enabled_status: enabled_status } post('/admin/v2/passport/config', params)[:response] end |
#update_phone(phone_id:, **optional_params) ⇒ Object
213 214 215 216 |
# File 'lib/duo_api/admin.rb', line 213 def update_phone(phone_id:, **optional_params) # optional_params: number, name, extension, type, platform, predelay, postdelay post("/admin/v1/phones/#{phone_id}", optional_params)[:response] end |
#update_policies(policies_to_update:, policy_changes:) ⇒ Object
438 439 440 441 442 |
# File 'lib/duo_api/admin.rb', line 438 def update_policies(policies_to_update:, policy_changes:) # parameter formatting: https://duo.com/docs/adminapi#update-policies params = { policies_to_update: policies_to_update, policy_changes: policy_changes } put('/admin/v2/policies/update', params)[:response] end |
#update_policy(policy_key:, **optional_params) ⇒ Object
444 445 446 447 448 449 |
# File 'lib/duo_api/admin.rb', line 444 def update_policy(policy_key:, **optional_params) # optional_params: apply_to_apps, apply_to_groups_in_apps, sections, # policy_name, sections_to_delete params = optional_params.merge({ policy_key: policy_key }) put("/admin/v2/policies/#{policy_key}", params)[:response] end |
#update_settings(**optional_params) ⇒ Object
725 726 727 728 729 730 731 732 733 734 735 736 737 738 |
# File 'lib/duo_api/admin.rb', line 725 def update_settings(**optional_params) # optional_params: caller_id, duo_mobile_otp_type, email_activity_notification_enabled, # enrollment_universal_prompt_enabled, fraud_email, fraud_email_enabled, # global_ssp_policy_enforced, helpdesk_bypass, helpdesk_bypass_expiration, # helpdesk_can_send_enroll_email, inactive_user_expiration, keypress_confirm, # keypress_fraud, language, lockout_expire_duration, lockout_threshold, # log_retention_days, minimum_password_length, name, # password_requires_lower_alpha, password_requires_numeric, # password_requires_special, password_requires_upper_alpha, # push_activity_notification_enabled, sms_batch, sms_expiration, sms_message, # sms_refresh, telephony_warning_min, timezone, unenrolled_user_lockout_threshold, # user_managers_can_put_users_in_bypass, user_telephony_cost_max post('/admin/v1/settings', optional_params)[:response] end |
#update_shared_desktop_authenticator(shared_device_key:, **optional_params) ⇒ Object
316 317 318 319 320 |
# File 'lib/duo_api/admin.rb', line 316 def update_shared_desktop_authenticator(shared_device_key:, **optional_params) # optional_params: active, name, group_id_list, trusted_endpoint_integration_id_list put("/admin/v1/desktop_authenticators/shared_device_auth/#{shared_device_key}", optional_params)[:response] end |
#update_user(user_id:, **optional_params) ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/duo_api/admin.rb', line 54 def update_user(user_id:, **optional_params) # optional_params: alias1, alias2, alias3, alias4, aliases, realname, email, # enable_auto_prompt, status, notes, firstname, lastname, # username optional_params.tap do |p| p[:aliases] = serialized_aliases(p[:aliases]) if p[:aliases] end post("/admin/v1/users/#{user_id}", optional_params)[:response] end |