pub struct RotationConfigView {Show 16 fields
pub id: RotationConfigId,
pub organization_id: OrganizationId,
pub cipher_id: CipherId,
pub target_system_id: TargetSystemId,
pub target_system_name: String,
pub target_system_method: TargetSystemMethod,
pub sealed: Option<RotationConfigSealedFields>,
pub schedule_cron: Option<String>,
pub rotate_on_access_end: bool,
pub enabled: bool,
pub last_rotation_at: Option<DateTime<Utc>>,
pub next_rotation_at: Option<DateTime<Utc>>,
pub has_active_job: bool,
pub awaiting_manual_rotation: bool,
pub creation_date: DateTime<Utc>,
pub revision_date: DateTime<Utc>,
}Expand description
A managed credential: the link between a vault cipher and the target system its credential is rotated against, with its sealed fields unsealed.
Fields§
§id: RotationConfigIdThe config’s unique identifier.
organization_id: OrganizationIdThe organization this config belongs to.
cipher_id: CipherIdThe vault cipher whose credential this config manages. Its name is vault data, so decrypt it from the caller’s own cipher state.
target_system_id: TargetSystemIdThe target system credentials are rotated against.
target_system_name: StringThe target system’s display name, as of this read.
target_system_method: TargetSystemMethodThe target system’s rotation method, which decides the actions the config offers.
sealed: Option<RotationConfigSealedFields>None if the blob is missing, fails to unseal, or disagrees with this row’s IDs.
schedule_cron: Option<String>The Quartz cron expression driving scheduled rotation, or None for no schedule.
rotate_on_access_end: boolWhether the credential is rotated at the end of an access lease over the cipher.
enabled: boolFalse stops new rotation jobs from dispatching; jobs in flight run to completion.
last_rotation_at: Option<DateTime<Utc>>The most recent completed rotation (UTC), or None absent any rotation.
next_rotation_at: Option<DateTime<Utc>>When the config is next due for rotation (UTC), or None when nothing is due.
has_active_job: boolWhether the config has a pending or claimed job, or a timed-out one the sweep has not yet recorded.
awaiting_manual_rotation: boolWhether a manual-method config is waiting for an operator to record an out-of-band rotation.
creation_date: DateTime<Utc>The config’s creation time (UTC).
revision_date: DateTime<Utc>The config’s last-modified time (UTC).
Implementations§
Source§impl RotationConfigView
impl RotationConfigView
Sourcepub fn actions(
&self,
target_status: Option<TargetSystemStatus>,
) -> RotationConfigActions
pub fn actions( &self, target_status: Option<TargetSystemStatus>, ) -> RotationConfigActions
Which actions this config offers, given the status of its target system.
See rotation_config_actions for how an unloaded target system’s target_status is
treated; PendingSeal counts as any other non-Active status.
Trait Implementations§
Source§impl Clone for RotationConfigView
impl Clone for RotationConfigView
Source§fn clone(&self) -> RotationConfigView
fn clone(&self) -> RotationConfigView
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RotationConfigView
impl Debug for RotationConfigView
Source§impl Decryptable<KeySlotIds, SymmetricKeySlotId, RotationConfigView> for RotationConfig
impl Decryptable<KeySlotIds, SymmetricKeySlotId, RotationConfigView> for RotationConfig
Source§fn decrypt(
&self,
ctx: &mut KeyStoreContext<'_, KeySlotIds>,
key: SymmetricKeySlotId,
) -> Result<RotationConfigView, CryptoError>
fn decrypt( &self, ctx: &mut KeyStoreContext<'_, KeySlotIds>, key: SymmetricKeySlotId, ) -> Result<RotationConfigView, CryptoError>
Never fails: a blob that can’t be verified leaves RotationConfigView::sealed None.
Source§impl<'de> Deserialize<'de> for RotationConfigView
impl<'de> Deserialize<'de> for RotationConfigView
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<RotationConfigView> for JsValuewhere
RotationConfigView: Serialize,
impl From<RotationConfigView> for JsValuewhere
RotationConfigView: Serialize,
Source§fn from(value: RotationConfigView) -> Self
fn from(value: RotationConfigView) -> Self
Source§impl FromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
impl FromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
Source§impl IntoWasmAbi for &RotationConfigViewwhere
RotationConfigView: Serialize,
impl IntoWasmAbi for &RotationConfigViewwhere
RotationConfigView: Serialize,
Source§impl IntoWasmAbi for RotationConfigViewwhere
RotationConfigView: Serialize,
impl IntoWasmAbi for RotationConfigViewwhere
RotationConfigView: Serialize,
Source§impl OptionFromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for RotationConfigViewwhere
RotationConfigView: Serialize,
impl OptionIntoWasmAbi for RotationConfigViewwhere
RotationConfigView: Serialize,
Source§impl PartialEq for RotationConfigView
impl PartialEq for RotationConfigView
Source§impl RefFromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
impl RefFromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
Self are recovered from.Source§type Anchor = SelfOwner<RotationConfigView>
type Anchor = SelfOwner<RotationConfigView>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl Serialize for RotationConfigView
impl Serialize for RotationConfigView
impl StructuralPartialEq for RotationConfigView
Source§impl Tsify for RotationConfigView
impl Tsify for RotationConfigView
const DECL: &'static str = "/**\n * A managed credential: the link between a vault cipher and the target system its credential is\n * rotated against, with its sealed fields unsealed.\n */\nexport interface RotationConfigView {\n /**\n * The config\\\'s unique identifier.\n */\n id: RotationConfigId;\n /**\n * The organization this config belongs to.\n */\n organizationId: OrganizationId;\n /**\n * The vault cipher whose credential this config manages. Its name is vault data, so decrypt\n * it from the caller\\\'s own cipher state.\n */\n cipherId: CipherId;\n /**\n * The target system credentials are rotated against.\n */\n targetSystemId: TargetSystemId;\n /**\n * The target system\\\'s display name, as of this read.\n */\n targetSystemName: string;\n /**\n * The target system\\\'s rotation method, which decides the actions the config offers.\n */\n targetSystemMethod: TargetSystemMethod;\n /**\n * `None` if the blob is missing, fails to unseal, or disagrees with this row\\\'s IDs.\n */\n sealed: RotationConfigSealedFields | undefined;\n /**\n * The Quartz cron expression driving scheduled rotation, or `None` for no schedule.\n */\n scheduleCron: string | undefined;\n /**\n * Whether the credential is rotated at the end of an access lease over the cipher.\n */\n rotateOnAccessEnd: boolean;\n /**\n * False stops new rotation jobs from dispatching; jobs in flight run to completion.\n */\n enabled: boolean;\n /**\n * The most recent completed rotation (UTC), or `None` absent any rotation.\n */\n lastRotationAt: DateTime<Utc> | undefined;\n /**\n * When the config is next due for rotation (UTC), or `None` when nothing is due.\n */\n nextRotationAt: DateTime<Utc> | undefined;\n /**\n * Whether the config has a pending or claimed job, or a timed-out one the sweep has not yet\n * recorded.\n */\n hasActiveJob: boolean;\n /**\n * Whether a manual-method config is waiting for an operator to record an out-of-band\n * rotation.\n */\n awaitingManualRotation: boolean;\n /**\n * The config\\\'s creation time (UTC).\n */\n creationDate: DateTime<Utc>;\n /**\n * The config\\\'s last-modified time (UTC).\n */\n revisionDate: DateTime<Utc>;\n}"
const SERIALIZATION_CONFIG: SerializationConfig
type JsType = JsType
fn into_js(&self) -> Result<Self::JsType, Error>where
Self: Serialize,
fn from_js<T>(js: T) -> Result<Self, Error>
Source§impl VectorFromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for RotationConfigViewwhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for RotationConfigViewwhere
RotationConfigView: Serialize,
impl VectorIntoWasmAbi for RotationConfigViewwhere
RotationConfigView: Serialize,
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
Source§impl WasmDescribe for RotationConfigView
impl WasmDescribe for RotationConfigView
Auto Trait Implementations§
impl Freeze for RotationConfigView
impl RefUnwindSafe for RotationConfigView
impl Send for RotationConfigView
impl Sync for RotationConfigView
impl Unpin for RotationConfigView
impl UnsafeUnpin for RotationConfigView
impl UnwindSafe for RotationConfigView
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> Persist for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.