Skip to main content

PolicyDefinition

Trait PolicyDefinition 

Source
pub(crate) trait PolicyDefinition:
    Send
    + Sync
    + 'static {
    type Data: Default + DeserializeOwned;

    // Required methods
    fn policy_type(&self) -> PolicyType;
    fn to_erased(&self, data: Self::Data) -> PolicyDataType;

    // Provided methods
    fn exempt_roles(&self) -> &[OrganizationUserType] { ... }
    fn exempt_providers(&self) -> bool { ... }
    fn enforced_statuses(&self) -> &[OrganizationUserStatusType] { ... }
}
Expand description

Strongly typed representation of a specific policy type in rust.

By implementing this, you define:

  • basic characteristics, such as the associated PolicyType and PolicyDataType, and the configuration data struct (if any)
  • enforcement behavior, such as role exemptions.

The defaults match the most common Bitwarden policy: Provider users, owners and administrators are exempt, and policies only apply to Accepted and Confirmed members.

Required Associated Types§

Source

type Data: Default + DeserializeOwned

The strongly-typed data for this policy. The Default value is the fall-back whenever the policy is not enforced or the raw data could not be parsed.

Required Methods§

Source

fn policy_type(&self) -> PolicyType

Returns the policy type this definition handles.

Source

fn to_erased(&self, data: Self::Data) -> PolicyDataType

Erases the strongly-typed Data into the FFI-friendly PolicyDataType.

Provided Methods§

Source

fn exempt_roles(&self) -> &[OrganizationUserType]

Returns the organization roles that are exempt from this policy.

Defaults to Owner and Admin.

Source

fn exempt_providers(&self) -> bool

Returns whether provider users are exempt from this policy.

Defaults to true.

Source

fn enforced_statuses(&self) -> &[OrganizationUserStatusType]

Returns the membership statuses that this policy should be enforced against.

Defaults to Accepted and Confirmed.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl PolicyDefinition for ActivateAutofillPolicy

Source§

impl PolicyDefinition for AutomaticAppLogInPolicy

Source§

impl PolicyDefinition for AutomaticUserConfirmationPolicy

Source§

impl PolicyDefinition for AutotypeDefaultSettingPolicy

Source§

impl PolicyDefinition for BlockClaimedDomainAccountCreationPolicy

Source§

impl PolicyDefinition for DisablePersonalVaultExportPolicy

Source§

impl PolicyDefinition for DisableSendPolicy

Source§

impl PolicyDefinition for FillAssistPolicy

Source§

impl PolicyDefinition for FreeFamiliesSponsorshipPolicy

Source§

impl PolicyDefinition for MasterPasswordPolicy

Source§

impl PolicyDefinition for MaximumVaultTimeoutPolicy

Source§

impl PolicyDefinition for OrganizationDataOwnershipPolicy

Source§

impl PolicyDefinition for OrganizationUserNotificationPolicy

Source§

impl PolicyDefinition for PasswordGeneratorPolicy

Source§

impl PolicyDefinition for RemoveUnlockWithPinPolicy

Source§

impl PolicyDefinition for RequireSsoPolicy

Source§

impl PolicyDefinition for ResetPasswordPolicy

Source§

impl PolicyDefinition for RestrictedItemTypesPolicy

Source§

impl PolicyDefinition for SendControlsPolicy

Source§

impl PolicyDefinition for SendOptionsPolicy

Source§

impl PolicyDefinition for SingleOrgPolicy

Source§

impl PolicyDefinition for TwoFactorAuthenticationPolicy

Source§

impl PolicyDefinition for UriMatchDefaultsPolicy