Trait RuntimePlugin

Source
pub trait RuntimePlugin:
    Debug
    + Send
    + Sync {
    // Provided methods
    fn order(&self) -> Order { ... }
    fn config(&self) -> Option<FrozenLayer> { ... }
    fn runtime_components(
        &self,
        current_components: &RuntimeComponentsBuilder,
    ) -> Cow<'_, RuntimeComponentsBuilder> { ... }
}
Expand description

Runtime plugin trait

A RuntimePlugin is the unit of configuration for augmenting the client with new behavior.

Runtime plugins can register interceptors, set runtime components, and modify configuration.

Provided Methods§

Source

fn order(&self) -> Order

Runtime plugin ordering.

There are two runtime plugin “levels” that run in the following order:

  1. Service runtime plugins - runtime plugins that pertain to the entire service.
  2. Operation runtime plugins - runtime plugins relevant only to a single operation.

This function is used to determine runtime plugin order within those levels. So regardless of this Order value, service runtime plugins will still always execute before operation runtime plugins. However, Defaults service runtime plugins will run before Overrides service runtime plugins.

Source

fn config(&self) -> Option<FrozenLayer>

Optionally returns additional config that should be added to the ConfigBag.

As a best practice, a frozen layer should be stored on the runtime plugin instance as a member, and then cloned upon return since that clone is cheap. Constructing a new Layer and freezing it will require a lot of allocations.

Source

fn runtime_components( &self, current_components: &RuntimeComponentsBuilder, ) -> Cow<'_, RuntimeComponentsBuilder>

Returns a RuntimeComponentsBuilder to incorporate into the final runtime components.

The order of runtime plugins determines which runtime components “win”. Components set by later runtime plugins will override those set by earlier runtime plugins.

If no runtime component changes are desired, just return an empty builder.

This method returns a Cow for flexibility. Some implementers may want to store the components builder as a member and return a reference to it, while others may need to create the builder every call. If possible, returning a reference is preferred for performance.

Components configured by previous runtime plugins are in the current_components argument, and can be used to create nested/wrapped components, such as a connector calling into an inner (customer provided) connector.

Implementations on Foreign Types§

Source§

impl RuntimePlugin for PayloadSigningOverrideRuntimePlugin

Source§

impl RuntimePlugin for NoAuthRuntimePlugin

Source§

impl RuntimePlugin for EnforceContentLengthRuntimePlugin

Source§

impl RuntimePlugin for MetricsRuntimePlugin

Source§

impl RuntimePlugin for CannedResponseDeserializer

Source§

impl RuntimePlugin for CannedRequestSerializer

Implementors§

Source§

impl RuntimePlugin for AddClientIDToOpenIDConnectProvider

Source§

impl RuntimePlugin for AddRoleToInstanceProfile

Source§

impl RuntimePlugin for AddUserToGroup

Source§

impl RuntimePlugin for AttachGroupPolicy

Source§

impl RuntimePlugin for AttachRolePolicy

Source§

impl RuntimePlugin for AttachUserPolicy

Source§

impl RuntimePlugin for ChangePassword

Source§

impl RuntimePlugin for CreateAccessKey

Source§

impl RuntimePlugin for CreateAccountAlias

Source§

impl RuntimePlugin for CreateGroup

Source§

impl RuntimePlugin for CreateInstanceProfile

Source§

impl RuntimePlugin for CreateLoginProfile

Source§

impl RuntimePlugin for CreateOpenIDConnectProvider

Source§

impl RuntimePlugin for CreatePolicy

Source§

impl RuntimePlugin for CreatePolicyVersion

Source§

impl RuntimePlugin for CreateRole

Source§

impl RuntimePlugin for CreateSAMLProvider

Source§

impl RuntimePlugin for CreateServiceLinkedRole

Source§

impl RuntimePlugin for CreateServiceSpecificCredential

Source§

impl RuntimePlugin for CreateUser

Source§

impl RuntimePlugin for CreateVirtualMFADevice

Source§

impl RuntimePlugin for DeactivateMFADevice

Source§

impl RuntimePlugin for DeleteAccessKey

Source§

impl RuntimePlugin for DeleteAccountAlias

Source§

impl RuntimePlugin for DeleteAccountPasswordPolicy

Source§

impl RuntimePlugin for DeleteGroup

Source§

impl RuntimePlugin for DeleteGroupPolicy

Source§

impl RuntimePlugin for DeleteInstanceProfile

Source§

impl RuntimePlugin for DeleteLoginProfile

Source§

impl RuntimePlugin for DeleteOpenIDConnectProvider

Source§

impl RuntimePlugin for DeletePolicy

Source§

impl RuntimePlugin for DeletePolicyVersion

Source§

impl RuntimePlugin for DeleteRole

Source§

impl RuntimePlugin for DeleteRolePermissionsBoundary

Source§

impl RuntimePlugin for DeleteRolePolicy

Source§

impl RuntimePlugin for DeleteSAMLProvider

Source§

impl RuntimePlugin for DeleteServerCertificate

Source§

impl RuntimePlugin for DeleteServiceLinkedRole

Source§

impl RuntimePlugin for DeleteServiceSpecificCredential

Source§

impl RuntimePlugin for DeleteSigningCertificate

Source§

impl RuntimePlugin for DeleteSSHPublicKey

Source§

impl RuntimePlugin for DeleteUser

Source§

impl RuntimePlugin for DeleteUserPermissionsBoundary

Source§

impl RuntimePlugin for DeleteUserPolicy

Source§

impl RuntimePlugin for DeleteVirtualMFADevice

Source§

impl RuntimePlugin for DetachGroupPolicy

Source§

impl RuntimePlugin for DetachRolePolicy

Source§

impl RuntimePlugin for DetachUserPolicy

Source§

impl RuntimePlugin for DisableOrganizationsRootCredentialsManagement

Source§

impl RuntimePlugin for DisableOrganizationsRootSessions

Source§

impl RuntimePlugin for EnableMFADevice

Source§

impl RuntimePlugin for EnableOrganizationsRootCredentialsManagement

Source§

impl RuntimePlugin for EnableOrganizationsRootSessions

Source§

impl RuntimePlugin for GenerateCredentialReport

Source§

impl RuntimePlugin for GenerateOrganizationsAccessReport

Source§

impl RuntimePlugin for GenerateServiceLastAccessedDetails

Source§

impl RuntimePlugin for GetAccessKeyLastUsed

Source§

impl RuntimePlugin for GetAccountAuthorizationDetails

Source§

impl RuntimePlugin for GetAccountPasswordPolicy

Source§

impl RuntimePlugin for GetAccountSummary

Source§

impl RuntimePlugin for GetContextKeysForCustomPolicy

Source§

impl RuntimePlugin for GetContextKeysForPrincipalPolicy

Source§

impl RuntimePlugin for GetCredentialReport

Source§

impl RuntimePlugin for GetGroup

Source§

impl RuntimePlugin for GetGroupPolicy

Source§

impl RuntimePlugin for GetInstanceProfile

Source§

impl RuntimePlugin for GetLoginProfile

Source§

impl RuntimePlugin for GetMFADevice

Source§

impl RuntimePlugin for GetOpenIDConnectProvider

Source§

impl RuntimePlugin for GetOrganizationsAccessReport

Source§

impl RuntimePlugin for GetPolicy

Source§

impl RuntimePlugin for GetPolicyVersion

Source§

impl RuntimePlugin for GetRole

Source§

impl RuntimePlugin for GetRolePolicy

Source§

impl RuntimePlugin for GetSAMLProvider

Source§

impl RuntimePlugin for GetServerCertificate

Source§

impl RuntimePlugin for GetServiceLastAccessedDetails

Source§

impl RuntimePlugin for GetServiceLastAccessedDetailsWithEntities

Source§

impl RuntimePlugin for GetServiceLinkedRoleDeletionStatus

Source§

impl RuntimePlugin for GetSSHPublicKey

Source§

impl RuntimePlugin for GetUser

Source§

impl RuntimePlugin for GetUserPolicy

Source§

impl RuntimePlugin for ListAccessKeys

Source§

impl RuntimePlugin for ListAccountAliases

Source§

impl RuntimePlugin for ListAttachedGroupPolicies

Source§

impl RuntimePlugin for ListAttachedRolePolicies

Source§

impl RuntimePlugin for ListAttachedUserPolicies

Source§

impl RuntimePlugin for ListEntitiesForPolicy

Source§

impl RuntimePlugin for ListGroupPolicies

Source§

impl RuntimePlugin for ListGroups

Source§

impl RuntimePlugin for ListGroupsForUser

Source§

impl RuntimePlugin for ListInstanceProfileTags

Source§

impl RuntimePlugin for ListInstanceProfiles

Source§

impl RuntimePlugin for ListInstanceProfilesForRole

Source§

impl RuntimePlugin for ListMFADeviceTags

Source§

impl RuntimePlugin for ListMFADevices

Source§

impl RuntimePlugin for ListOpenIDConnectProviderTags

Source§

impl RuntimePlugin for ListOpenIDConnectProviders

Source§

impl RuntimePlugin for ListOrganizationsFeatures

Source§

impl RuntimePlugin for ListPolicies

Source§

impl RuntimePlugin for ListPoliciesGrantingServiceAccess

Source§

impl RuntimePlugin for ListPolicyTags

Source§

impl RuntimePlugin for ListPolicyVersions

Source§

impl RuntimePlugin for ListRolePolicies

Source§

impl RuntimePlugin for ListRoleTags

Source§

impl RuntimePlugin for ListRoles

Source§

impl RuntimePlugin for ListSAMLProviderTags

Source§

impl RuntimePlugin for ListSAMLProviders

Source§

impl RuntimePlugin for ListServerCertificateTags

Source§

impl RuntimePlugin for ListServerCertificates

Source§

impl RuntimePlugin for ListServiceSpecificCredentials

Source§

impl RuntimePlugin for ListSigningCertificates

Source§

impl RuntimePlugin for ListSSHPublicKeys

Source§

impl RuntimePlugin for ListUserPolicies

Source§

impl RuntimePlugin for ListUserTags

Source§

impl RuntimePlugin for ListUsers

Source§

impl RuntimePlugin for ListVirtualMFADevices

Source§

impl RuntimePlugin for PutGroupPolicy

Source§

impl RuntimePlugin for PutRolePermissionsBoundary

Source§

impl RuntimePlugin for PutRolePolicy

Source§

impl RuntimePlugin for PutUserPermissionsBoundary

Source§

impl RuntimePlugin for PutUserPolicy

Source§

impl RuntimePlugin for RemoveClientIDFromOpenIDConnectProvider

Source§

impl RuntimePlugin for RemoveRoleFromInstanceProfile

Source§

impl RuntimePlugin for RemoveUserFromGroup

Source§

impl RuntimePlugin for ResetServiceSpecificCredential

Source§

impl RuntimePlugin for ResyncMFADevice

Source§

impl RuntimePlugin for SetDefaultPolicyVersion

Source§

impl RuntimePlugin for SetSecurityTokenServicePreferences

Source§

impl RuntimePlugin for SimulateCustomPolicy

Source§

impl RuntimePlugin for SimulatePrincipalPolicy

Source§

impl RuntimePlugin for TagInstanceProfile

Source§

impl RuntimePlugin for TagMFADevice

Source§

impl RuntimePlugin for TagOpenIDConnectProvider

Source§

impl RuntimePlugin for TagPolicy

Source§

impl RuntimePlugin for TagRole

Source§

impl RuntimePlugin for TagSAMLProvider

Source§

impl RuntimePlugin for TagServerCertificate

Source§

impl RuntimePlugin for TagUser

Source§

impl RuntimePlugin for UntagInstanceProfile

Source§

impl RuntimePlugin for UntagMFADevice

Source§

impl RuntimePlugin for UntagOpenIDConnectProvider

Source§

impl RuntimePlugin for UntagPolicy

Source§

impl RuntimePlugin for UntagRole

Source§

impl RuntimePlugin for UntagSAMLProvider

Source§

impl RuntimePlugin for UntagServerCertificate

Source§

impl RuntimePlugin for UntagUser

Source§

impl RuntimePlugin for UpdateAccessKey

Source§

impl RuntimePlugin for UpdateAccountPasswordPolicy

Source§

impl RuntimePlugin for UpdateAssumeRolePolicy

Source§

impl RuntimePlugin for UpdateGroup

Source§

impl RuntimePlugin for UpdateLoginProfile

Source§

impl RuntimePlugin for UpdateOpenIDConnectProviderThumbprint

Source§

impl RuntimePlugin for UpdateRole

Source§

impl RuntimePlugin for UpdateRoleDescription

Source§

impl RuntimePlugin for UpdateSAMLProvider

Source§

impl RuntimePlugin for UpdateServerCertificate

Source§

impl RuntimePlugin for UpdateServiceSpecificCredential

Source§

impl RuntimePlugin for UpdateSigningCertificate

Source§

impl RuntimePlugin for UpdateSSHPublicKey

Source§

impl RuntimePlugin for UpdateUser

Source§

impl RuntimePlugin for UploadServerCertificate

Source§

impl RuntimePlugin for UploadSigningCertificate

Source§

impl RuntimePlugin for UploadSSHPublicKey

Source§

impl RuntimePlugin for StaticRuntimePlugin

Source§

impl RuntimePlugin for SharedRuntimePlugin