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 AddRoleToDBCluster

Source§

impl RuntimePlugin for AddRoleToDBInstance

Source§

impl RuntimePlugin for AddSourceIdentifierToSubscription

Source§

impl RuntimePlugin for AddTagsToResource

Source§

impl RuntimePlugin for ApplyPendingMaintenanceAction

Source§

impl RuntimePlugin for AuthorizeDBSecurityGroupIngress

Source§

impl RuntimePlugin for BacktrackDBCluster

Source§

impl RuntimePlugin for CancelExportTask

Source§

impl RuntimePlugin for CopyDBClusterParameterGroup

Source§

impl RuntimePlugin for CopyDBClusterSnapshot

Source§

impl RuntimePlugin for CopyDBParameterGroup

Source§

impl RuntimePlugin for CopyDBSnapshot

Source§

impl RuntimePlugin for CopyOptionGroup

Source§

impl RuntimePlugin for CreateBlueGreenDeployment

Source§

impl RuntimePlugin for CreateCustomDBEngineVersion

Source§

impl RuntimePlugin for CreateDBCluster

Source§

impl RuntimePlugin for CreateDBClusterEndpoint

Source§

impl RuntimePlugin for CreateDBClusterParameterGroup

Source§

impl RuntimePlugin for CreateDBClusterSnapshot

Source§

impl RuntimePlugin for CreateDBInstance

Source§

impl RuntimePlugin for CreateDBInstanceReadReplica

Source§

impl RuntimePlugin for CreateDBParameterGroup

Source§

impl RuntimePlugin for CreateDBProxy

Source§

impl RuntimePlugin for CreateDBProxyEndpoint

Source§

impl RuntimePlugin for CreateDBSecurityGroup

Source§

impl RuntimePlugin for CreateDBShardGroup

Source§

impl RuntimePlugin for CreateDBSnapshot

Source§

impl RuntimePlugin for CreateDBSubnetGroup

Source§

impl RuntimePlugin for CreateEventSubscription

Source§

impl RuntimePlugin for CreateGlobalCluster

Source§

impl RuntimePlugin for CreateIntegration

Source§

impl RuntimePlugin for CreateOptionGroup

Source§

impl RuntimePlugin for CreateTenantDatabase

Source§

impl RuntimePlugin for DeleteBlueGreenDeployment

Source§

impl RuntimePlugin for DeleteCustomDBEngineVersion

Source§

impl RuntimePlugin for DeleteDBCluster

Source§

impl RuntimePlugin for DeleteDBClusterAutomatedBackup

Source§

impl RuntimePlugin for DeleteDBClusterEndpoint

Source§

impl RuntimePlugin for DeleteDBClusterParameterGroup

Source§

impl RuntimePlugin for DeleteDBClusterSnapshot

Source§

impl RuntimePlugin for DeleteDBInstance

Source§

impl RuntimePlugin for DeleteDBInstanceAutomatedBackup

Source§

impl RuntimePlugin for DeleteDBParameterGroup

Source§

impl RuntimePlugin for DeleteDBProxy

Source§

impl RuntimePlugin for DeleteDBProxyEndpoint

Source§

impl RuntimePlugin for DeleteDBSecurityGroup

Source§

impl RuntimePlugin for DeleteDBShardGroup

Source§

impl RuntimePlugin for DeleteDBSnapshot

Source§

impl RuntimePlugin for DeleteDBSubnetGroup

Source§

impl RuntimePlugin for DeleteEventSubscription

Source§

impl RuntimePlugin for DeleteGlobalCluster

Source§

impl RuntimePlugin for DeleteIntegration

Source§

impl RuntimePlugin for DeleteOptionGroup

Source§

impl RuntimePlugin for DeleteTenantDatabase

Source§

impl RuntimePlugin for DeregisterDBProxyTargets

Source§

impl RuntimePlugin for DescribeAccountAttributes

Source§

impl RuntimePlugin for DescribeBlueGreenDeployments

Source§

impl RuntimePlugin for DescribeCertificates

Source§

impl RuntimePlugin for DescribeDBClusterAutomatedBackups

Source§

impl RuntimePlugin for DescribeDBClusterBacktracks

Source§

impl RuntimePlugin for DescribeDBClusterEndpoints

Source§

impl RuntimePlugin for DescribeDBClusterParameterGroups

Source§

impl RuntimePlugin for DescribeDBClusterParameters

Source§

impl RuntimePlugin for DescribeDBClusterSnapshotAttributes

Source§

impl RuntimePlugin for DescribeDBClusterSnapshots

Source§

impl RuntimePlugin for DescribeDBClusters

Source§

impl RuntimePlugin for DescribeDBEngineVersions

Source§

impl RuntimePlugin for DescribeDBInstanceAutomatedBackups

Source§

impl RuntimePlugin for DescribeDBInstances

Source§

impl RuntimePlugin for DescribeDBLogFiles

Source§

impl RuntimePlugin for DescribeDBMajorEngineVersions

Source§

impl RuntimePlugin for DescribeDBParameterGroups

Source§

impl RuntimePlugin for DescribeDBParameters

Source§

impl RuntimePlugin for DescribeDBProxies

Source§

impl RuntimePlugin for DescribeDBProxyEndpoints

Source§

impl RuntimePlugin for DescribeDBProxyTargetGroups

Source§

impl RuntimePlugin for DescribeDBProxyTargets

Source§

impl RuntimePlugin for DescribeDBRecommendations

Source§

impl RuntimePlugin for DescribeDBSecurityGroups

Source§

impl RuntimePlugin for DescribeDBShardGroups

Source§

impl RuntimePlugin for DescribeDBSnapshotAttributes

Source§

impl RuntimePlugin for DescribeDBSnapshotTenantDatabases

Source§

impl RuntimePlugin for DescribeDBSnapshots

Source§

impl RuntimePlugin for DescribeDBSubnetGroups

Source§

impl RuntimePlugin for DescribeEngineDefaultClusterParameters

Source§

impl RuntimePlugin for DescribeEngineDefaultParameters

Source§

impl RuntimePlugin for DescribeEventCategories

Source§

impl RuntimePlugin for DescribeEventSubscriptions

Source§

impl RuntimePlugin for DescribeEvents

Source§

impl RuntimePlugin for DescribeExportTasks

Source§

impl RuntimePlugin for DescribeGlobalClusters

Source§

impl RuntimePlugin for DescribeIntegrations

Source§

impl RuntimePlugin for DescribeOptionGroupOptions

Source§

impl RuntimePlugin for DescribeOptionGroups

Source§

impl RuntimePlugin for DescribeOrderableDBInstanceOptions

Source§

impl RuntimePlugin for DescribePendingMaintenanceActions

Source§

impl RuntimePlugin for DescribeReservedDBInstances

Source§

impl RuntimePlugin for DescribeReservedDBInstancesOfferings

Source§

impl RuntimePlugin for DescribeSourceRegions

Source§

impl RuntimePlugin for DescribeTenantDatabases

Source§

impl RuntimePlugin for DescribeValidDBInstanceModifications

Source§

impl RuntimePlugin for DisableHttpEndpoint

Source§

impl RuntimePlugin for DownloadDBLogFilePortion

Source§

impl RuntimePlugin for EnableHttpEndpoint

Source§

impl RuntimePlugin for FailoverDBCluster

Source§

impl RuntimePlugin for FailoverGlobalCluster

Source§

impl RuntimePlugin for ListTagsForResource

Source§

impl RuntimePlugin for ModifyActivityStream

Source§

impl RuntimePlugin for ModifyCertificates

Source§

impl RuntimePlugin for ModifyCurrentDBClusterCapacity

Source§

impl RuntimePlugin for ModifyCustomDBEngineVersion

Source§

impl RuntimePlugin for ModifyDBCluster

Source§

impl RuntimePlugin for ModifyDBClusterEndpoint

Source§

impl RuntimePlugin for ModifyDBClusterParameterGroup

Source§

impl RuntimePlugin for ModifyDBClusterSnapshotAttribute

Source§

impl RuntimePlugin for ModifyDBInstance

Source§

impl RuntimePlugin for ModifyDBParameterGroup

Source§

impl RuntimePlugin for ModifyDBProxy

Source§

impl RuntimePlugin for ModifyDBProxyEndpoint

Source§

impl RuntimePlugin for ModifyDBProxyTargetGroup

Source§

impl RuntimePlugin for ModifyDBRecommendation

Source§

impl RuntimePlugin for ModifyDBShardGroup

Source§

impl RuntimePlugin for ModifyDBSnapshot

Source§

impl RuntimePlugin for ModifyDBSnapshotAttribute

Source§

impl RuntimePlugin for ModifyDBSubnetGroup

Source§

impl RuntimePlugin for ModifyEventSubscription

Source§

impl RuntimePlugin for ModifyGlobalCluster

Source§

impl RuntimePlugin for ModifyIntegration

Source§

impl RuntimePlugin for ModifyOptionGroup

Source§

impl RuntimePlugin for ModifyTenantDatabase

Source§

impl RuntimePlugin for PromoteReadReplica

Source§

impl RuntimePlugin for PromoteReadReplicaDBCluster

Source§

impl RuntimePlugin for PurchaseReservedDBInstancesOffering

Source§

impl RuntimePlugin for RebootDBCluster

Source§

impl RuntimePlugin for RebootDBInstance

Source§

impl RuntimePlugin for RebootDBShardGroup

Source§

impl RuntimePlugin for RegisterDBProxyTargets

Source§

impl RuntimePlugin for RemoveFromGlobalCluster

Source§

impl RuntimePlugin for RemoveRoleFromDBCluster

Source§

impl RuntimePlugin for RemoveRoleFromDBInstance

Source§

impl RuntimePlugin for RemoveSourceIdentifierFromSubscription

Source§

impl RuntimePlugin for RemoveTagsFromResource

Source§

impl RuntimePlugin for ResetDBClusterParameterGroup

Source§

impl RuntimePlugin for ResetDBParameterGroup

Source§

impl RuntimePlugin for RestoreDBClusterFromS3

Source§

impl RuntimePlugin for RestoreDBClusterFromSnapshot

Source§

impl RuntimePlugin for RestoreDBClusterToPointInTime

Source§

impl RuntimePlugin for RestoreDBInstanceFromDBSnapshot

Source§

impl RuntimePlugin for RestoreDBInstanceFromS3

Source§

impl RuntimePlugin for RestoreDBInstanceToPointInTime

Source§

impl RuntimePlugin for RevokeDBSecurityGroupIngress

Source§

impl RuntimePlugin for StartActivityStream

Source§

impl RuntimePlugin for StartDBCluster

Source§

impl RuntimePlugin for StartDBInstance

Source§

impl RuntimePlugin for StartDBInstanceAutomatedBackupsReplication

Source§

impl RuntimePlugin for StartExportTask

Source§

impl RuntimePlugin for StopActivityStream

Source§

impl RuntimePlugin for StopDBCluster

Source§

impl RuntimePlugin for StopDBInstance

Source§

impl RuntimePlugin for StopDBInstanceAutomatedBackupsReplication

Source§

impl RuntimePlugin for SwitchoverBlueGreenDeployment

Source§

impl RuntimePlugin for SwitchoverGlobalCluster

Source§

impl RuntimePlugin for SwitchoverReadReplica

Source§

impl RuntimePlugin for StaticRuntimePlugin

Source§

impl RuntimePlugin for SharedRuntimePlugin