pub struct RotationConfigsClient {
pub(crate) key_store: KeyStore<KeySlotIds>,
pub(crate) api_configurations: Arc<ApiConfigurations>,
}Expand description
Client for PAM managed-credential (rotation config) operations.
Fields§
§key_store: KeyStore<KeySlotIds>§api_configurations: Arc<ApiConfigurations>Implementations§
Source§impl RotationConfigsClient
impl RotationConfigsClient
Sourcepub async fn list(
&self,
organization_id: OrganizationId,
) -> Result<Vec<RotationConfigView>, RotationError>
pub async fn list( &self, organization_id: OrganizationId, ) -> Result<Vec<RotationConfigView>, RotationError>
Lists the organization’s rotation configs.
Sourcepub async fn get(
&self,
organization_id: OrganizationId,
id: RotationConfigId,
) -> Result<RotationConfigDetailView, RotationError>
pub async fn get( &self, organization_id: OrganizationId, id: RotationConfigId, ) -> Result<RotationConfigDetailView, RotationError>
Reads one config with its rotation history.
Sourcepub async fn create(
&self,
organization_id: OrganizationId,
request: RotationConfigCreateRequest,
) -> Result<RotationConfigDetailView, RotationError>
pub async fn create( &self, organization_id: OrganizationId, request: RotationConfigCreateRequest, ) -> Result<RotationConfigDetailView, RotationError>
Validates, seals, and creates a rotation config.
Sourcepub async fn update(
&self,
organization_id: OrganizationId,
id: RotationConfigId,
request: RotationConfigCreateRequest,
) -> Result<RotationConfigDetailView, RotationError>
pub async fn update( &self, organization_id: OrganizationId, id: RotationConfigId, request: RotationConfigCreateRequest, ) -> Result<RotationConfigDetailView, RotationError>
Re-seals the whole blob, so every field must be resupplied; cipher_id and
target_system_id must match the existing config.
Sourceasync fn verified_target(
&self,
organization_id: OrganizationId,
target_system_id: TargetSystemId,
) -> Result<TargetSystemView, RotationError>
async fn verified_target( &self, organization_id: OrganizationId, target_system_id: TargetSystemId, ) -> Result<TargetSystemView, RotationError>
The target must exist with verified sealed fields, unless still PendingSeal.
Sourcepub async fn pause(
&self,
organization_id: OrganizationId,
id: RotationConfigId,
) -> Result<(), RotationError>
pub async fn pause( &self, organization_id: OrganizationId, id: RotationConfigId, ) -> Result<(), RotationError>
Pauses a config, so no new rotation jobs are dispatched.
Sourcepub async fn resume(
&self,
organization_id: OrganizationId,
id: RotationConfigId,
) -> Result<(), RotationError>
pub async fn resume( &self, organization_id: OrganizationId, id: RotationConfigId, ) -> Result<(), RotationError>
Resumes a paused config.
Sourcepub async fn rotate_now(
&self,
organization_id: OrganizationId,
id: RotationConfigId,
) -> Result<(), RotationError>
pub async fn rotate_now( &self, organization_id: OrganizationId, id: RotationConfigId, ) -> Result<(), RotationError>
Dispatches an on-demand rotation now, subject to the server’s per-config cooldown.
Sourcepub async fn record_manual_rotation(
&self,
organization_id: OrganizationId,
id: RotationConfigId,
) -> Result<(), RotationError>
pub async fn record_manual_rotation( &self, organization_id: OrganizationId, id: RotationConfigId, ) -> Result<(), RotationError>
Records that an operator rotated a manual-target config’s credential out of band, clearing its awaiting-manual-rotation state.
Sourcepub async fn delete(
&self,
organization_id: OrganizationId,
id: RotationConfigId,
) -> Result<(), RotationError>
pub async fn delete( &self, organization_id: OrganizationId, id: RotationConfigId, ) -> Result<(), RotationError>
Deletes a rotation config. The cipher and the target system are untouched; only the link between them, and its rotation history, go away.
Sourcepub fn actions(
&self,
config: RotationConfigView,
target_status: Option<TargetSystemStatus>,
) -> RotationConfigActions
pub fn actions( &self, config: RotationConfigView, target_status: Option<TargetSystemStatus>, ) -> RotationConfigActions
Which actions a config offers, given the status of its target system. Exposed here because
a wasm_record struct crosses the WASM boundary as plain data, without
RotationConfigView::actions.
Trait Implementations§
Source§impl From<RotationConfigsClient> for JsValue
impl From<RotationConfigsClient> for JsValue
Source§fn from(value: RotationConfigsClient) -> Self
fn from(value: RotationConfigsClient) -> Self
Source§impl FromClient for RotationConfigsClient
impl FromClient for RotationConfigsClient
Source§fn from_client(client: &Client) -> Self
fn from_client(client: &Client) -> Self
Client] reference.Source§impl FromWasm for RotationConfigsClient
Available on crate feature wasm only.
impl FromWasm for RotationConfigsClient
wasm only.Source§impl FromWasmAbi for RotationConfigsClient
impl FromWasmAbi for RotationConfigsClient
Source§impl IntoWasmAbi for RotationConfigsClient
impl IntoWasmAbi for RotationConfigsClient
Source§type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
Source§impl LongRefFromWasmAbi for RotationConfigsClient
impl LongRefFromWasmAbi for RotationConfigsClient
Source§type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
RefFromWasmAbi::AbiSource§type Anchor = RcRef<RotationConfigsClient>
type Anchor = RcRef<RotationConfigsClient>
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiSource§impl RefFromWasmAbi for RotationConfigsClient
impl RefFromWasmAbi for RotationConfigsClient
Source§type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
Self are recovered from.Source§type Anchor = RcRef<RotationConfigsClient>
type Anchor = RcRef<RotationConfigsClient>
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 RefMutFromWasmAbi for RotationConfigsClient
impl RefMutFromWasmAbi for RotationConfigsClient
Source§type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
type Abi = WasmPtr<WasmRefCell<RotationConfigsClient>>
RefFromWasmAbi::AbiSource§type Anchor = RcRefMut<RotationConfigsClient>
type Anchor = RcRefMut<RotationConfigsClient>
RefFromWasmAbi::AnchorSource§unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiimpl SupportsConstructor for RotationConfigsClient
impl SupportsInstanceProperty for RotationConfigsClient
impl SupportsStaticProperty for RotationConfigsClient
Source§impl ToWasm for RotationConfigsClient
Available on crate feature wasm only.
impl ToWasm for RotationConfigsClient
wasm only.Source§impl TryFromJsValue for RotationConfigsClient
impl TryFromJsValue for RotationConfigsClient
Source§fn try_from_js_value_ref(value: &JsValue) -> Option<Self>
fn try_from_js_value_ref(value: &JsValue) -> Option<Self>
Source§const NULLABLE: bool = false
const NULLABLE: bool = false
Self accepts null as a distinct value space, as
Nullable<T> does. An enclosing Option then passes null through
instead of reading it as None, so Option<T> is itself nullable
exactly when T is not. JsValue does not set this: it accepts
null as one value among all of them, not as a distinct space, and
Option<JsValue> reads it as None like the ABI does. This is the
JS-value side of NullableFromWasmAbi, which claims null at the
ABI.Source§impl VectorFromWasmAbi for RotationConfigsClient
impl VectorFromWasmAbi for RotationConfigsClient
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[RotationConfigsClient]>
Source§impl VectorIntoWasmAbi for RotationConfigsClient
impl VectorIntoWasmAbi for RotationConfigsClient
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[RotationConfigsClient]>) -> Self::Abi
Source§impl WasmDescribe for RotationConfigsClient
impl WasmDescribe for RotationConfigsClient
Auto Trait Implementations§
impl !RefUnwindSafe for RotationConfigsClient
impl !UnwindSafe for RotationConfigsClient
impl Freeze for RotationConfigsClient
impl Send for RotationConfigsClient
impl Sync for RotationConfigsClient
impl Unpin for RotationConfigsClient
impl UnsafeUnpin for RotationConfigsClient
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
§impl<T> CompatExt for T
impl<T> CompatExt for T
§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 moreSource§impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
Source§type MaybeAbi = <T as FromWasmAbi>::Abi
type MaybeAbi = <T as FromWasmAbi>::Abi
Option<Self>.Source§unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn try_from_maybe_abi( js: <T as FromWasmAbi>::Abi, ) -> Result<T, &'static str>
Source§impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
Source§type MaybeAbi = <T as IntoWasmAbi>::Abi
type MaybeAbi = <T as IntoWasmAbi>::Abi
Option<Self>.Source§fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
Option<Self> ABI.§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.