pub struct KanidmClient { /* private fields */ }

Implementations§

source§

impl KanidmClient

source

pub async fn idm_group_purge_attr( &self, id: &str, attr: &str ) -> Result<(), ClientError>

source

pub async fn group_account_policy_enable( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn group_account_policy_authsession_expiry_set( &self, id: &str, expiry: u32 ) -> Result<(), ClientError>

source

pub async fn group_account_policy_credential_type_minimum_set( &self, id: &str, value: &str ) -> Result<(), ClientError>

source

pub async fn group_account_policy_password_minimum_length_set( &self, id: &str, length: u32 ) -> Result<(), ClientError>

source

pub async fn group_account_policy_privilege_expiry_set( &self, id: &str, expiry: u32 ) -> Result<(), ClientError>

source

pub async fn group_account_policy_webauthn_attestation_set( &self, id: &str, att_ca_list: &str ) -> Result<(), ClientError>

source

pub async fn group_account_policy_limit_search_max_results( &self, id: &str, maximum: u32 ) -> Result<(), ClientError>

source

pub async fn group_account_policy_limit_search_max_filter_test( &self, id: &str, maximum: u32 ) -> Result<(), ClientError>

source

pub async fn idm_group_purge_mail(&self, id: &str) -> Result<(), ClientError>

source

pub async fn idm_group_set_mail<T: Serialize>( &self, id: &str, values: &[T] ) -> Result<(), ClientError>

source

pub async fn idm_group_get_mail( &self, id: &str ) -> Result<Option<Vec<String>>, ClientError>

source§

impl KanidmClient

source

pub async fn idm_oauth2_rs_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_oauth2_rs_basic_create( &self, name: &str, displayname: &str, origin: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_public_create( &self, name: &str, displayname: &str, origin: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn idm_oauth2_rs_get_basic_secret( &self, id: &str ) -> Result<Option<String>, ClientError>

source

pub async fn idm_oauth2_rs_update( &self, id: &str, name: Option<&str>, displayname: Option<&str>, origin: Option<&str>, landing: Option<&str>, reset_secret: bool, reset_token_key: bool, reset_sign_key: bool ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_update_scope_map( &self, id: &str, group: &str, scopes: Vec<&str> ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_delete_scope_map( &self, id: &str, group: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_update_sup_scope_map( &self, id: &str, group: &str, scopes: Vec<&str> ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_delete_sup_scope_map( &self, id: &str, group: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_delete(&self, id: &str) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_delete_image( &self, id: &str ) -> Result<(), ClientError>

Want to delete the image associated with a resource server? Here’s your thing!

source

pub async fn idm_oauth2_rs_update_image( &self, id: &str, image: ImageValue ) -> Result<(), ClientError>

Want to add/update the image associated with a resource server? Here’s your thing!

source

pub async fn idm_oauth2_rs_enable_pkce( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_disable_pkce( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_enable_legacy_crypto( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_disable_legacy_crypto( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_prefer_short_username( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_prefer_spn_username( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_enable_public_localhost_redirect( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_disable_public_localhost_redirect( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_update_claim_map( &self, id: &str, claim_name: &str, group_id: &str, values: &[String] ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_update_claim_map_join( &self, id: &str, claim_name: &str, join: Oauth2ClaimMapJoin ) -> Result<(), ClientError>

source

pub async fn idm_oauth2_rs_delete_claim_map( &self, id: &str, claim_name: &str, group_id: &str ) -> Result<(), ClientError>

source§

impl KanidmClient

source

pub async fn idm_person_account_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_person_account_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn idm_person_account_create( &self, name: &str, displayname: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_account_update( &self, id: &str, newname: Option<&str>, displayname: Option<&str>, legalname: Option<&str>, mail: Option<&[String]> ) -> Result<(), ClientError>

source

pub async fn idm_person_account_delete( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_account_add_attr( &self, id: &str, attr: &str, values: &[&str] ) -> Result<(), ClientError>

source

pub async fn idm_person_account_set_attr( &self, id: &str, attr: &str, values: &[&str] ) -> Result<(), ClientError>

source

pub async fn idm_person_account_get_attr( &self, id: &str, attr: &str ) -> Result<Option<Vec<String>>, ClientError>

source

pub async fn idm_person_account_purge_attr( &self, id: &str, attr: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_account_get_credential_status( &self, id: &str ) -> Result<CredentialStatus, ClientError>

source

pub async fn idm_person_account_primary_credential_set_password( &self, id: &str, pw: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_account_post_ssh_pubkey( &self, id: &str, tag: &str, pubkey: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_account_delete_ssh_pubkey( &self, id: &str, tag: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_account_unix_extend( &self, id: &str, gidnumber: Option<u32>, shell: Option<&str> ) -> Result<(), ClientError>

source

pub async fn idm_person_account_unix_cred_put( &self, id: &str, cred: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_account_unix_cred_delete( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_person_identify_user( &self, id: &str, request: IdentifyUserRequest ) -> Result<IdentifyUserResponse, ClientError>

source

pub async fn idm_account_radius_credential_get( &self, id: &str ) -> Result<Option<String>, ClientError>

source

pub async fn idm_account_radius_credential_regenerate( &self, id: &str ) -> Result<String, ClientError>

source

pub async fn idm_account_radius_credential_delete( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_account_list_user_auth_token( &self, id: &str ) -> Result<Vec<UatStatus>, ClientError>

source

pub async fn idm_account_destroy_user_auth_token( &self, id: &str, token_id: Uuid ) -> Result<(), ClientError>

source§

impl KanidmClient

source

pub async fn scim_v1_sync_status(&self) -> Result<ScimSyncState, ClientError>

source

pub async fn scim_v1_sync_update( &self, scim_sync_request: &ScimSyncRequest ) -> Result<(), ClientError>

source§

impl KanidmClient

source

pub async fn idm_service_account_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_service_account_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn idm_service_account_create( &self, name: &str, displayname: &str, entry_managed_by: &str ) -> Result<(), ClientError>

Handles creating a service account

source

pub async fn idm_service_account_delete( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_service_account_update( &self, id: &str, newname: Option<&str>, displayname: Option<&str>, entry_managed_by: Option<&str>, mail: Option<&[String]> ) -> Result<(), ClientError>

source

pub async fn idm_service_account_add_attr( &self, id: &str, attr: &str, values: &[&str] ) -> Result<(), ClientError>

source

pub async fn idm_service_account_set_attr( &self, id: &str, attr: &str, values: &[&str] ) -> Result<(), ClientError>

source

pub async fn idm_service_account_get_attr( &self, id: &str, attr: &str ) -> Result<Option<Vec<String>>, ClientError>

source

pub async fn idm_service_account_purge_attr( &self, id: &str, attr: &str ) -> Result<(), ClientError>

source

pub async fn idm_service_account_post_ssh_pubkey( &self, id: &str, tag: &str, pubkey: &str ) -> Result<(), ClientError>

source

pub async fn idm_service_account_delete_ssh_pubkey( &self, id: &str, tag: &str ) -> Result<(), ClientError>

source

pub async fn idm_service_account_unix_extend( &self, id: &str, gidnumber: Option<u32>, shell: Option<&str> ) -> Result<(), ClientError>

source

pub async fn idm_service_account_into_person( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_service_account_get_credential_status( &self, id: &str ) -> Result<CredentialStatus, ClientError>

source

pub async fn idm_service_account_generate_password( &self, id: &str ) -> Result<String, ClientError>

source

pub async fn idm_service_account_list_api_token( &self, id: &str ) -> Result<Vec<ApiToken>, ClientError>

source

pub async fn idm_service_account_generate_api_token( &self, id: &str, label: &str, expiry: Option<OffsetDateTime>, read_write: bool ) -> Result<String, ClientError>

source

pub async fn idm_service_account_destroy_api_token( &self, id: &str, token_id: Uuid ) -> Result<(), ClientError>

source§

impl KanidmClient

source

pub async fn idm_sync_account_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_sync_account_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn idm_sync_account_set_credential_portal( &self, id: &str, url: Option<&Url> ) -> Result<(), ClientError>

source

pub async fn idm_sync_account_get_credential_portal( &self, id: &str ) -> Result<Option<Url>, ClientError>

source

pub async fn idm_sync_account_set_yield_attributes( &self, id: &str, attrs: &Vec<String> ) -> Result<(), ClientError>

source

pub async fn idm_sync_account_create( &self, name: &str, description: Option<&str> ) -> Result<(), ClientError>

source

pub async fn idm_sync_account_generate_token( &self, id: &str, label: &str ) -> Result<String, ClientError>

Creates a sync token for a given sync account

source

pub async fn idm_sync_account_destroy_token( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_sync_account_force_refresh( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_sync_account_finalise( &self, id: &str ) -> Result<(), ClientError>

source

pub async fn idm_sync_account_terminate( &self, id: &str ) -> Result<(), ClientError>

source§

impl KanidmClient

source§

impl KanidmClient

source

pub fn get_origin(&self) -> &Url

source

pub fn get_url(&self) -> Url

Returns the base URL of the server

source

pub fn make_url(&self, endpoint: &str) -> Url

Get a URL based on adding an endpoint to the base URL of the server

source

pub async fn set_token(&self, new_token: String)

source

pub async fn get_token(&self) -> Option<String>

source

pub fn new_session(&self) -> Result<Self, ClientError>

source

pub async fn logout(&self) -> Result<(), ClientError>

source

pub fn get_token_cache_path(&self) -> String

source

pub fn handle_response_error(&self, error: Error) -> ClientError

You’ve got the response from a reqwest and you want to turn it into a ClientError

source

pub async fn perform_post_request<R: Serialize, T: DeserializeOwned>( &self, dest: &str, request: R ) -> Result<T, ClientError>

source

pub async fn perform_patch_request<R: Serialize, T: DeserializeOwned>( &self, dest: &str, request: R ) -> Result<T, ClientError>

source

pub async fn perform_get_request<T: DeserializeOwned>( &self, dest: &str ) -> Result<T, ClientError>

source

pub async fn auth_step_init( &self, ident: &str ) -> Result<Set<AuthMech>, ClientError>

source

pub async fn auth_step_begin( &self, mech: AuthMech ) -> Result<Vec<AuthAllowed>, ClientError>

source

pub async fn auth_step_anonymous(&self) -> Result<AuthResponse, ClientError>

source

pub async fn auth_step_password( &self, password: &str ) -> Result<AuthResponse, ClientError>

source

pub async fn auth_step_backup_code( &self, backup_code: &str ) -> Result<AuthResponse, ClientError>

source

pub async fn auth_step_totp( &self, totp: u32 ) -> Result<AuthResponse, ClientError>

source

pub async fn auth_step_securitykey_complete( &self, pkc: Box<PublicKeyCredential> ) -> Result<AuthResponse, ClientError>

source

pub async fn auth_step_passkey_complete( &self, pkc: Box<PublicKeyCredential> ) -> Result<AuthResponse, ClientError>

source

pub async fn auth_anonymous(&self) -> Result<(), ClientError>

source

pub async fn auth_simple_password( &self, ident: &str, password: &str ) -> Result<(), ClientError>

source

pub async fn auth_password_totp( &self, ident: &str, password: &str, totp: u32 ) -> Result<(), ClientError>

source

pub async fn auth_password_backup_code( &self, ident: &str, password: &str, backup_code: &str ) -> Result<(), ClientError>

source

pub async fn auth_passkey_begin( &self, ident: &str ) -> Result<RequestChallengeResponse, ClientError>

source

pub async fn auth_passkey_complete( &self, pkc: Box<PublicKeyCredential> ) -> Result<(), ClientError>

source

pub async fn reauth_begin(&self) -> Result<Vec<AuthAllowed>, ClientError>

source

pub async fn reauth_simple_password( &self, password: &str ) -> Result<(), ClientError>

source

pub async fn reauth_password_totp( &self, password: &str, totp: u32 ) -> Result<(), ClientError>

source

pub async fn reauth_passkey_begin( &self ) -> Result<RequestChallengeResponse, ClientError>

source

pub async fn reauth_passkey_complete( &self, pkc: Box<PublicKeyCredential> ) -> Result<(), ClientError>

source

pub async fn auth_valid(&self) -> Result<(), ClientError>

source

pub async fn get_public_jwk(&self, key_id: &str) -> Result<Jwk, ClientError>

source

pub async fn whoami(&self) -> Result<Option<Entry>, ClientError>

source

pub async fn search(&self, filter: Filter) -> Result<Vec<Entry>, ClientError>

source

pub async fn create(&self, entries: Vec<Entry>) -> Result<(), ClientError>

source

pub async fn modify( &self, filter: Filter, modlist: ModifyList ) -> Result<(), ClientError>

source

pub async fn delete(&self, filter: Filter) -> Result<(), ClientError>

source

pub async fn idm_group_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_group_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn idm_group_get_members( &self, id: &str ) -> Result<Option<Vec<String>>, ClientError>

source

pub async fn idm_group_create( &self, name: &str, entry_managed_by: Option<&str> ) -> Result<(), ClientError>

source

pub async fn idm_group_set_entry_managed_by( &self, id: &str, entry_manager: &str ) -> Result<(), ClientError>

source

pub async fn idm_group_set_members( &self, id: &str, members: &[&str] ) -> Result<(), ClientError>

source

pub async fn idm_group_add_members( &self, id: &str, members: &[&str] ) -> Result<(), ClientError>

source

pub async fn idm_group_remove_members( &self, group: &str, members: &[&str] ) -> Result<(), ClientError>

source

pub async fn idm_group_purge_members(&self, id: &str) -> Result<(), ClientError>

source

pub async fn idm_group_unix_extend( &self, id: &str, gidnumber: Option<u32> ) -> Result<(), ClientError>

source

pub async fn idm_group_unix_token_get( &self, id: &str ) -> Result<UnixGroupToken, ClientError>

source

pub async fn idm_group_delete(&self, id: &str) -> Result<(), ClientError>

source

pub async fn idm_account_unix_token_get( &self, id: &str ) -> Result<UnixUserToken, ClientError>

source

pub async fn idm_person_account_credential_update_intent( &self, id: &str, ttl: Option<u32> ) -> Result<CUIntentToken, ClientError>

source

pub async fn idm_account_credential_update_begin( &self, id: &str ) -> Result<(CUSessionToken, CUStatus), ClientError>

source

pub async fn idm_account_credential_update_exchange( &self, intent_token: CUIntentToken ) -> Result<(CUSessionToken, CUStatus), ClientError>

source

pub async fn idm_account_credential_update_status( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_set_password( &self, session_token: &CUSessionToken, pw: &str ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_cancel_mfareg( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_init_totp( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_check_totp( &self, session_token: &CUSessionToken, totp_chal: u32, label: &str ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_accept_sha1_totp( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_remove_totp( &self, session_token: &CUSessionToken, label: &str ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_backup_codes_generate( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_primary_remove( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_passkey_init( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_passkey_finish( &self, session_token: &CUSessionToken, label: String, registration: RegisterPublicKeyCredential ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_passkey_remove( &self, session_token: &CUSessionToken, uuid: Uuid ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_attested_passkey_init( &self, session_token: &CUSessionToken ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_attested_passkey_finish( &self, session_token: &CUSessionToken, label: String, registration: RegisterPublicKeyCredential ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_attested_passkey_remove( &self, session_token: &CUSessionToken, uuid: Uuid ) -> Result<CUStatus, ClientError>

source

pub async fn idm_account_credential_update_commit( &self, session_token: &CUSessionToken ) -> Result<(), ClientError>

source

pub async fn idm_account_radius_token_get( &self, id: &str ) -> Result<RadiusAuthToken, ClientError>

source

pub async fn idm_account_unix_cred_verify( &self, id: &str, cred: &str ) -> Result<Option<UnixUserToken>, ClientError>

source

pub async fn idm_account_get_ssh_pubkey( &self, id: &str, tag: &str ) -> Result<Option<String>, ClientError>

source

pub async fn idm_account_get_ssh_pubkeys( &self, id: &str ) -> Result<Vec<String>, ClientError>

source

pub async fn idm_domain_get(&self) -> Result<Entry, ClientError>

source

pub async fn idm_domain_set_display_name( &self, new_display_name: &str ) -> Result<(), ClientError>

Sets the domain display name using a PUT request

source

pub async fn idm_domain_set_ldap_basedn( &self, new_basedn: &str ) -> Result<(), ClientError>

source

pub async fn idm_set_ldap_allow_unix_password_bind( &self, enable: bool ) -> Result<(), ClientError>

source

pub async fn idm_domain_get_ssid(&self) -> Result<String, ClientError>

source

pub async fn idm_domain_set_ssid(&self, ssid: &str) -> Result<(), ClientError>

source

pub async fn idm_domain_revoke_key( &self, key_id: &str ) -> Result<(), ClientError>

source

pub async fn idm_schema_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_schema_attributetype_list( &self ) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_schema_attributetype_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn idm_schema_classtype_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn idm_schema_classtype_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn recycle_bin_list(&self) -> Result<Vec<Entry>, ClientError>

source

pub async fn recycle_bin_get( &self, id: &str ) -> Result<Option<Entry>, ClientError>

source

pub async fn recycle_bin_revive(&self, id: &str) -> Result<(), ClientError>

Trait Implementations§

source§

impl Debug for KanidmClient

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more