RuntimePlugin

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 AddTagsToResource

Source§

impl RuntimePlugin for AssociateOpsItemRelatedItem

Source§

impl RuntimePlugin for CancelCommand

Source§

impl RuntimePlugin for CancelMaintenanceWindowExecution

Source§

impl RuntimePlugin for CreateActivation

Source§

impl RuntimePlugin for CreateAssociation

Source§

impl RuntimePlugin for CreateAssociationBatch

Source§

impl RuntimePlugin for CreateDocument

Source§

impl RuntimePlugin for CreateMaintenanceWindow

Source§

impl RuntimePlugin for CreateOpsItem

Source§

impl RuntimePlugin for CreateOpsMetadata

Source§

impl RuntimePlugin for CreatePatchBaseline

Source§

impl RuntimePlugin for CreateResourceDataSync

Source§

impl RuntimePlugin for DeleteActivation

Source§

impl RuntimePlugin for DeleteAssociation

Source§

impl RuntimePlugin for DeleteDocument

Source§

impl RuntimePlugin for DeleteInventory

Source§

impl RuntimePlugin for DeleteMaintenanceWindow

Source§

impl RuntimePlugin for DeleteOpsItem

Source§

impl RuntimePlugin for DeleteOpsMetadata

Source§

impl RuntimePlugin for DeleteParameter

Source§

impl RuntimePlugin for DeleteParameters

Source§

impl RuntimePlugin for DeletePatchBaseline

Source§

impl RuntimePlugin for DeleteResourceDataSync

Source§

impl RuntimePlugin for DeleteResourcePolicy

Source§

impl RuntimePlugin for DeregisterManagedInstance

Source§

impl RuntimePlugin for DeregisterPatchBaselineForPatchGroup

Source§

impl RuntimePlugin for DeregisterTargetFromMaintenanceWindow

Source§

impl RuntimePlugin for DeregisterTaskFromMaintenanceWindow

Source§

impl RuntimePlugin for DescribeActivations

Source§

impl RuntimePlugin for DescribeAssociation

Source§

impl RuntimePlugin for DescribeAssociationExecutionTargets

Source§

impl RuntimePlugin for DescribeAssociationExecutions

Source§

impl RuntimePlugin for DescribeAutomationExecutions

Source§

impl RuntimePlugin for DescribeAutomationStepExecutions

Source§

impl RuntimePlugin for DescribeAvailablePatches

Source§

impl RuntimePlugin for DescribeDocument

Source§

impl RuntimePlugin for DescribeDocumentPermission

Source§

impl RuntimePlugin for DescribeEffectiveInstanceAssociations

Source§

impl RuntimePlugin for DescribeEffectivePatchesForPatchBaseline

Source§

impl RuntimePlugin for DescribeInstanceAssociationsStatus

Source§

impl RuntimePlugin for DescribeInstanceInformation

Source§

impl RuntimePlugin for DescribeInstancePatchStates

Source§

impl RuntimePlugin for DescribeInstancePatchStatesForPatchGroup

Source§

impl RuntimePlugin for DescribeInstancePatches

Source§

impl RuntimePlugin for DescribeInstanceProperties

Source§

impl RuntimePlugin for DescribeInventoryDeletions

Source§

impl RuntimePlugin for DescribeMaintenanceWindowExecutionTaskInvocations

Source§

impl RuntimePlugin for DescribeMaintenanceWindowExecutionTasks

Source§

impl RuntimePlugin for DescribeMaintenanceWindowExecutions

Source§

impl RuntimePlugin for DescribeMaintenanceWindowSchedule

Source§

impl RuntimePlugin for DescribeMaintenanceWindowTargets

Source§

impl RuntimePlugin for DescribeMaintenanceWindowTasks

Source§

impl RuntimePlugin for DescribeMaintenanceWindows

Source§

impl RuntimePlugin for DescribeMaintenanceWindowsForTarget

Source§

impl RuntimePlugin for DescribeOpsItems

Source§

impl RuntimePlugin for DescribeParameters

Source§

impl RuntimePlugin for DescribePatchBaselines

Source§

impl RuntimePlugin for DescribePatchGroupState

Source§

impl RuntimePlugin for DescribePatchGroups

Source§

impl RuntimePlugin for DescribePatchProperties

Source§

impl RuntimePlugin for DescribeSessions

Source§

impl RuntimePlugin for DisassociateOpsItemRelatedItem

Source§

impl RuntimePlugin for GetAccessToken

Source§

impl RuntimePlugin for GetAutomationExecution

Source§

impl RuntimePlugin for GetCalendarState

Source§

impl RuntimePlugin for GetCommandInvocation

Source§

impl RuntimePlugin for GetConnectionStatus

Source§

impl RuntimePlugin for GetDefaultPatchBaseline

Source§

impl RuntimePlugin for GetDeployablePatchSnapshotForInstance

Source§

impl RuntimePlugin for GetDocument

Source§

impl RuntimePlugin for GetExecutionPreview

Source§

impl RuntimePlugin for GetInventory

Source§

impl RuntimePlugin for GetInventorySchema

Source§

impl RuntimePlugin for GetMaintenanceWindow

Source§

impl RuntimePlugin for GetMaintenanceWindowExecution

Source§

impl RuntimePlugin for GetMaintenanceWindowExecutionTask

Source§

impl RuntimePlugin for GetMaintenanceWindowExecutionTaskInvocation

Source§

impl RuntimePlugin for GetMaintenanceWindowTask

Source§

impl RuntimePlugin for GetOpsItem

Source§

impl RuntimePlugin for GetOpsMetadata

Source§

impl RuntimePlugin for GetOpsSummary

Source§

impl RuntimePlugin for GetParameter

Source§

impl RuntimePlugin for GetParameterHistory

Source§

impl RuntimePlugin for GetParameters

Source§

impl RuntimePlugin for GetParametersByPath

Source§

impl RuntimePlugin for GetPatchBaseline

Source§

impl RuntimePlugin for GetPatchBaselineForPatchGroup

Source§

impl RuntimePlugin for GetResourcePolicies

Source§

impl RuntimePlugin for GetServiceSetting

Source§

impl RuntimePlugin for LabelParameterVersion

Source§

impl RuntimePlugin for ListAssociationVersions

Source§

impl RuntimePlugin for ListAssociations

Source§

impl RuntimePlugin for ListCommandInvocations

Source§

impl RuntimePlugin for ListCommands

Source§

impl RuntimePlugin for ListComplianceItems

Source§

impl RuntimePlugin for ListComplianceSummaries

Source§

impl RuntimePlugin for ListDocumentMetadataHistory

Source§

impl RuntimePlugin for ListDocumentVersions

Source§

impl RuntimePlugin for ListDocuments

Source§

impl RuntimePlugin for ListInventoryEntries

Source§

impl RuntimePlugin for ListNodes

Source§

impl RuntimePlugin for ListNodesSummary

Source§

impl RuntimePlugin for ListOpsItemEvents

Source§

impl RuntimePlugin for ListOpsItemRelatedItems

Source§

impl RuntimePlugin for ListOpsMetadata

Source§

impl RuntimePlugin for ListResourceComplianceSummaries

Source§

impl RuntimePlugin for ListResourceDataSync

Source§

impl RuntimePlugin for ListTagsForResource

Source§

impl RuntimePlugin for ModifyDocumentPermission

Source§

impl RuntimePlugin for PutComplianceItems

Source§

impl RuntimePlugin for PutInventory

Source§

impl RuntimePlugin for PutParameter

Source§

impl RuntimePlugin for PutResourcePolicy

Source§

impl RuntimePlugin for RegisterDefaultPatchBaseline

Source§

impl RuntimePlugin for RegisterPatchBaselineForPatchGroup

Source§

impl RuntimePlugin for RegisterTargetWithMaintenanceWindow

Source§

impl RuntimePlugin for RegisterTaskWithMaintenanceWindow

Source§

impl RuntimePlugin for RemoveTagsFromResource

Source§

impl RuntimePlugin for ResetServiceSetting

Source§

impl RuntimePlugin for ResumeSession

Source§

impl RuntimePlugin for SendAutomationSignal

Source§

impl RuntimePlugin for SendCommand

Source§

impl RuntimePlugin for StartAccessRequest

Source§

impl RuntimePlugin for StartAssociationsOnce

Source§

impl RuntimePlugin for StartAutomationExecution

Source§

impl RuntimePlugin for StartChangeRequestExecution

Source§

impl RuntimePlugin for StartExecutionPreview

Source§

impl RuntimePlugin for StartSession

Source§

impl RuntimePlugin for StopAutomationExecution

Source§

impl RuntimePlugin for TerminateSession

Source§

impl RuntimePlugin for UnlabelParameterVersion

Source§

impl RuntimePlugin for UpdateAssociation

Source§

impl RuntimePlugin for UpdateAssociationStatus

Source§

impl RuntimePlugin for UpdateDocument

Source§

impl RuntimePlugin for UpdateDocumentDefaultVersion

Source§

impl RuntimePlugin for UpdateDocumentMetadata

Source§

impl RuntimePlugin for UpdateMaintenanceWindow

Source§

impl RuntimePlugin for UpdateMaintenanceWindowTarget

Source§

impl RuntimePlugin for UpdateMaintenanceWindowTask

Source§

impl RuntimePlugin for UpdateManagedInstanceRole

Source§

impl RuntimePlugin for UpdateOpsItem

Source§

impl RuntimePlugin for UpdateOpsMetadata

Source§

impl RuntimePlugin for UpdatePatchBaseline

Source§

impl RuntimePlugin for UpdateResourceDataSync

Source§

impl RuntimePlugin for UpdateServiceSetting

Source§

impl RuntimePlugin for StaticRuntimePlugin

Source§

impl RuntimePlugin for SharedRuntimePlugin