Struct ironoxide::IronOxide [−][src]
pub struct IronOxide { /* fields omitted */ }
Primary SDK Object
Struct that is used to make authenticated requests to the IronCore API. Instantiated with the details of an account’s various ids, device, and signing keys. Once instantiated all operations will be performed in the context of the account provided.
Implementations
impl IronOxide
[src]
impl IronOxide
[src]pub fn device(&self) -> &DeviceContext
[src]
pub fn device(&self) -> &DeviceContext
[src]DeviceContext that was used to create this SDK instance
pub fn clear_policy_cache(&self) -> usize
[src]
pub fn clear_policy_cache(&self) -> usize
[src]Clears all entries from the policy cache.
Returns the number of entries cleared from the cache.
pub async fn rotate_all(
&self,
rotations: &PrivateKeyRotationCheckResult,
password: &str,
timeout: Option<Duration>
) -> Result<(Option<UserUpdatePrivateKeyResult>, Option<Vec<GroupUpdatePrivateKeyResult>>)>
[src]
pub async fn rotate_all(
&self,
rotations: &PrivateKeyRotationCheckResult,
password: &str,
timeout: Option<Duration>
) -> Result<(Option<UserUpdatePrivateKeyResult>, Option<Vec<GroupUpdatePrivateKeyResult>>)>
[src]Rotate the private key of the calling user and all groups they are an administrator of where needs_rotation is true. Note that this function has the potential to take much longer than other functions, as rotation will be done individually on each user/group. If rotation is only needed for a specific group, it is strongly recommended to call user_rotate_private_key or group_rotate_private_key instead.
Arguments
rotations
- PrivateKeyRotationCheckResult that holds all users and groups to be rotatedpassword
- Password to unlock the current user’s user master keytimeout
- timeout for rotate_all. This is a separate timeout from the SDK-wide timeout as it is expected that this operation might take significantly longer than other operations.
Trait Implementations
impl BlindIndexSearchInitialize for IronOxide
[src]
impl BlindIndexSearchInitialize for IronOxide
[src]fn create_blind_index<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 GroupId
) -> Pin<Box<dyn Future<Output = Result<EncryptedBlindIndexSalt>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn create_blind_index<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 GroupId
) -> Pin<Box<dyn Future<Output = Result<EncryptedBlindIndexSalt>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Create an index and encrypt it to the provided group_id.
impl DocumentAdvancedOps for IronOxide
[src]
impl DocumentAdvancedOps for IronOxide
[src]fn document_encrypt_unmanaged<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
data: &'life1 [u8],
encrypt_opts: &'life2 DocumentEncryptOpts
) -> Pin<Box<dyn Future<Output = Result<DocumentEncryptUnmanagedResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn document_encrypt_unmanaged<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
data: &'life1 [u8],
encrypt_opts: &'life2 DocumentEncryptOpts
) -> Pin<Box<dyn Future<Output = Result<DocumentEncryptUnmanagedResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Encrypts the provided document bytes without being managed by the IronCore service. Read more
fn document_decrypt_unmanaged<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
encrypted_data: &'life1 [u8],
encrypted_deks: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<DocumentDecryptUnmanagedResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn document_decrypt_unmanaged<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
encrypted_data: &'life1 [u8],
encrypted_deks: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<DocumentDecryptUnmanagedResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Decrypts a document not managed by the IronCore service. Read more
impl DocumentOps for IronOxide
[src]
impl DocumentOps for IronOxide
[src]fn document_encrypt<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
document_data: &'life1 [u8],
encrypt_opts: &'life2 DocumentEncryptOpts
) -> Pin<Box<dyn Future<Output = Result<DocumentEncryptResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn document_encrypt<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
document_data: &'life1 [u8],
encrypt_opts: &'life2 DocumentEncryptOpts
) -> Pin<Box<dyn Future<Output = Result<DocumentEncryptResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Encrypts the provided document bytes. Read more
fn document_decrypt<'life0, 'life1, 'async_trait>(
&'life0 self,
encrypted_document: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<DocumentDecryptResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn document_decrypt<'life0, 'life1, 'async_trait>(
&'life0 self,
encrypted_document: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<DocumentDecryptResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Decrypts an IronCore encrypted document. Read more
fn document_list<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<DocumentListResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
fn document_list<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<DocumentListResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]Lists metadata for all of the encrypted documents that the calling user can read or decrypt. Read more
fn document_get_metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId
) -> Pin<Box<dyn Future<Output = Result<DocumentMetadataResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn document_get_metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId
) -> Pin<Box<dyn Future<Output = Result<DocumentMetadataResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Returns the metadata for an encrypted document. Read more
fn document_get_id_from_bytes(
&self,
encrypted_document: &[u8]
) -> Result<DocumentId>
[src]
fn document_get_id_from_bytes(
&self,
encrypted_document: &[u8]
) -> Result<DocumentId>
[src]Returns the document ID from the bytes of an encrypted document. Read more
fn document_update_bytes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
new_document_data: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<DocumentEncryptResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn document_update_bytes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
new_document_data: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<DocumentEncryptResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Updates the contents of an existing IronCore encrypted document. Read more
fn document_update_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
name: Option<&'life2 DocumentName>
) -> Pin<Box<dyn Future<Output = Result<DocumentMetadataResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn document_update_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
name: Option<&'life2 DocumentName>
) -> Pin<Box<dyn Future<Output = Result<DocumentMetadataResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Modifies or removes a document’s name. Read more
fn document_grant_access<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
grant_list: &'life2 Vec<UserOrGroup>
) -> Pin<Box<dyn Future<Output = Result<DocumentAccessResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn document_grant_access<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
grant_list: &'life2 Vec<UserOrGroup>
) -> Pin<Box<dyn Future<Output = Result<DocumentAccessResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Grants decryption access to a document for the provided users and/or groups. Read more
fn document_revoke_access<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
revoke_list: &'life2 Vec<UserOrGroup>
) -> Pin<Box<dyn Future<Output = Result<DocumentAccessResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn document_revoke_access<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 DocumentId,
revoke_list: &'life2 Vec<UserOrGroup>
) -> Pin<Box<dyn Future<Output = Result<DocumentAccessResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Revokes decryption access to a document for the provided users and/or groups. Read more
impl GroupOps for IronOxide
[src]
impl GroupOps for IronOxide
[src]fn group_create<'life0, 'life1, 'async_trait>(
&'life0 self,
opts: &'life1 GroupCreateOpts
) -> Pin<Box<dyn Future<Output = Result<GroupCreateResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn group_create<'life0, 'life1, 'async_trait>(
&'life0 self,
opts: &'life1 GroupCreateOpts
) -> Pin<Box<dyn Future<Output = Result<GroupCreateResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Creates a group. Read more
fn group_get_metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 GroupId
) -> Pin<Box<dyn Future<Output = Result<GroupGetResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn group_get_metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 GroupId
) -> Pin<Box<dyn Future<Output = Result<GroupGetResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Gets the full metadata for a group. Read more
fn group_list<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GroupListResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
fn group_list<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GroupListResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]Lists all of the groups that the current user is an admin or a member of. Read more
fn group_update_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
name: Option<&'life2 GroupName>
) -> Pin<Box<dyn Future<Output = Result<GroupMetaResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn group_update_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
name: Option<&'life2 GroupName>
) -> Pin<Box<dyn Future<Output = Result<GroupMetaResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Modifies or removes a group’s name. Read more
fn group_rotate_private_key<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 GroupId
) -> Pin<Box<dyn Future<Output = Result<GroupUpdatePrivateKeyResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn group_rotate_private_key<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 GroupId
) -> Pin<Box<dyn Future<Output = Result<GroupUpdatePrivateKeyResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Rotates a group’s private key while leaving its public key unchanged. Read more
fn group_add_members<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
grant_list: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn group_add_members<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
grant_list: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Adds members to a group. Read more
fn group_remove_members<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
revoke_list: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn group_remove_members<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
revoke_list: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Removes members from a group. Read more
fn group_add_admins<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
users: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn group_add_admins<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
users: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Adds administrators to a group. Read more
fn group_remove_admins<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
revoke_list: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
fn group_remove_admins<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 GroupId,
revoke_list: &'life2 [UserId]
) -> Pin<Box<dyn Future<Output = Result<GroupAccessEditResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]Removes administrators from a group. Read more
impl UserOps for IronOxide
[src]
impl UserOps for IronOxide
[src]fn user_create<'life0, 'life1, 'life2, 'async_trait>(
jwt: &'life0 Jwt,
password: &'life1 str,
user_create_opts: &'life2 UserCreateOpts,
timeout: Option<Duration>
) -> Pin<Box<dyn Future<Output = Result<UserCreateResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
[src]
fn user_create<'life0, 'life1, 'life2, 'async_trait>(
jwt: &'life0 Jwt,
password: &'life1 str,
user_create_opts: &'life2 UserCreateOpts,
timeout: Option<Duration>
) -> Pin<Box<dyn Future<Output = Result<UserCreateResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
[src]Creates a user. Read more
fn generate_new_device<'life0, 'life1, 'life2, 'async_trait>(
jwt: &'life0 Jwt,
password: &'life1 str,
device_create_options: &'life2 DeviceCreateOpts,
timeout: Option<Duration>
) -> Pin<Box<dyn Future<Output = Result<DeviceAddResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
[src]
fn generate_new_device<'life0, 'life1, 'life2, 'async_trait>(
jwt: &'life0 Jwt,
password: &'life1 str,
device_create_options: &'life2 DeviceCreateOpts,
timeout: Option<Duration>
) -> Pin<Box<dyn Future<Output = Result<DeviceAddResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
[src]Generates a new device for the user specified in the JWT. Read more
fn user_verify<'life0, 'async_trait>(
jwt: &'life0 Jwt,
timeout: Option<Duration>
) -> Pin<Box<dyn Future<Output = Result<Option<UserResult>>> + Send + 'async_trait>> where
'life0: 'async_trait,
[src]
fn user_verify<'life0, 'async_trait>(
jwt: &'life0 Jwt,
timeout: Option<Duration>
) -> Pin<Box<dyn Future<Output = Result<Option<UserResult>>> + Send + 'async_trait>> where
'life0: 'async_trait,
[src]Verifies the existence of a user using a JWT to identify their user record. Read more
fn user_list_devices<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<UserDeviceListResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
fn user_list_devices<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<UserDeviceListResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]Lists all of the devices for the current user. Read more
fn user_get_public_key<'life0, 'life1, 'async_trait>(
&'life0 self,
users: &'life1 [UserId]
) -> Pin<Box<dyn Future<Output = Result<HashMap<UserId, PublicKey>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn user_get_public_key<'life0, 'life1, 'async_trait>(
&'life0 self,
users: &'life1 [UserId]
) -> Pin<Box<dyn Future<Output = Result<HashMap<UserId, PublicKey>>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Gets users’ public keys given their IDs. Read more
fn user_rotate_private_key<'life0, 'life1, 'async_trait>(
&'life0 self,
password: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<UserUpdatePrivateKeyResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn user_rotate_private_key<'life0, 'life1, 'async_trait>(
&'life0 self,
password: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<UserUpdatePrivateKeyResult>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Rotates the current user’s private key while leaving their public key the same. Read more
Auto Trait Implementations
impl !RefUnwindSafe for IronOxide
impl Send for IronOxide
impl Sync for IronOxide
impl Unpin for IronOxide
impl UnwindSafe for IronOxide
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,