Trait aws_sdk_iotwireless::config::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 NoAuthRuntimePlugin

source§

impl RuntimePlugin for EnforceContentLengthRuntimePlugin

source§

impl RuntimePlugin for CannedResponseDeserializer

source§

impl RuntimePlugin for CannedRequestSerializer

Implementors§

source§

impl RuntimePlugin for AssociateAwsAccountWithPartnerAccount

source§

impl RuntimePlugin for AssociateMulticastGroupWithFuotaTask

source§

impl RuntimePlugin for AssociateWirelessDeviceWithFuotaTask

source§

impl RuntimePlugin for AssociateWirelessDeviceWithMulticastGroup

source§

impl RuntimePlugin for AssociateWirelessDeviceWithThing

source§

impl RuntimePlugin for AssociateWirelessGatewayWithCertificate

source§

impl RuntimePlugin for AssociateWirelessGatewayWithThing

source§

impl RuntimePlugin for CancelMulticastGroupSession

source§

impl RuntimePlugin for CreateDestination

source§

impl RuntimePlugin for CreateDeviceProfile

source§

impl RuntimePlugin for CreateFuotaTask

source§

impl RuntimePlugin for CreateMulticastGroup

source§

impl RuntimePlugin for CreateNetworkAnalyzerConfiguration

source§

impl RuntimePlugin for CreateServiceProfile

source§

impl RuntimePlugin for CreateWirelessDevice

source§

impl RuntimePlugin for CreateWirelessGateway

source§

impl RuntimePlugin for CreateWirelessGatewayTask

source§

impl RuntimePlugin for CreateWirelessGatewayTaskDefinition

source§

impl RuntimePlugin for DeleteDestination

source§

impl RuntimePlugin for DeleteDeviceProfile

source§

impl RuntimePlugin for DeleteFuotaTask

source§

impl RuntimePlugin for DeleteMulticastGroup

source§

impl RuntimePlugin for DeleteNetworkAnalyzerConfiguration

source§

impl RuntimePlugin for DeleteQueuedMessages

source§

impl RuntimePlugin for DeleteServiceProfile

source§

impl RuntimePlugin for DeleteWirelessDevice

source§

impl RuntimePlugin for DeleteWirelessDeviceImportTask

source§

impl RuntimePlugin for DeleteWirelessGateway

source§

impl RuntimePlugin for DeleteWirelessGatewayTask

source§

impl RuntimePlugin for DeleteWirelessGatewayTaskDefinition

source§

impl RuntimePlugin for DeregisterWirelessDevice

source§

impl RuntimePlugin for DisassociateAwsAccountFromPartnerAccount

source§

impl RuntimePlugin for DisassociateMulticastGroupFromFuotaTask

source§

impl RuntimePlugin for DisassociateWirelessDeviceFromFuotaTask

source§

impl RuntimePlugin for DisassociateWirelessDeviceFromMulticastGroup

source§

impl RuntimePlugin for DisassociateWirelessDeviceFromThing

source§

impl RuntimePlugin for DisassociateWirelessGatewayFromCertificate

source§

impl RuntimePlugin for DisassociateWirelessGatewayFromThing

source§

impl RuntimePlugin for GetDestination

source§

impl RuntimePlugin for GetDeviceProfile

source§

impl RuntimePlugin for GetEventConfigurationByResourceTypes

source§

impl RuntimePlugin for GetFuotaTask

source§

impl RuntimePlugin for GetLogLevelsByResourceTypes

source§

impl RuntimePlugin for GetMetricConfiguration

source§

impl RuntimePlugin for GetMetrics

source§

impl RuntimePlugin for GetMulticastGroup

source§

impl RuntimePlugin for GetMulticastGroupSession

source§

impl RuntimePlugin for GetNetworkAnalyzerConfiguration

source§

impl RuntimePlugin for GetPartnerAccount

source§

impl RuntimePlugin for GetPosition

source§

impl RuntimePlugin for GetPositionConfiguration

source§

impl RuntimePlugin for GetPositionEstimate

source§

impl RuntimePlugin for GetResourceEventConfiguration

source§

impl RuntimePlugin for GetResourceLogLevel

source§

impl RuntimePlugin for GetResourcePosition

source§

impl RuntimePlugin for GetServiceEndpoint

source§

impl RuntimePlugin for GetServiceProfile

source§

impl RuntimePlugin for GetWirelessDevice

source§

impl RuntimePlugin for GetWirelessDeviceImportTask

source§

impl RuntimePlugin for GetWirelessDeviceStatistics

source§

impl RuntimePlugin for GetWirelessGateway

source§

impl RuntimePlugin for GetWirelessGatewayCertificate

source§

impl RuntimePlugin for GetWirelessGatewayFirmwareInformation

source§

impl RuntimePlugin for GetWirelessGatewayStatistics

source§

impl RuntimePlugin for GetWirelessGatewayTask

source§

impl RuntimePlugin for GetWirelessGatewayTaskDefinition

source§

impl RuntimePlugin for ListDestinations

source§

impl RuntimePlugin for ListDeviceProfiles

source§

impl RuntimePlugin for ListDevicesForWirelessDeviceImportTask

source§

impl RuntimePlugin for ListEventConfigurations

source§

impl RuntimePlugin for ListFuotaTasks

source§

impl RuntimePlugin for ListMulticastGroups

source§

impl RuntimePlugin for ListMulticastGroupsByFuotaTask

source§

impl RuntimePlugin for ListNetworkAnalyzerConfigurations

source§

impl RuntimePlugin for ListPartnerAccounts

source§

impl RuntimePlugin for ListPositionConfigurations

source§

impl RuntimePlugin for ListQueuedMessages

source§

impl RuntimePlugin for ListServiceProfiles

source§

impl RuntimePlugin for ListTagsForResource

source§

impl RuntimePlugin for ListWirelessDeviceImportTasks

source§

impl RuntimePlugin for ListWirelessDevices

source§

impl RuntimePlugin for ListWirelessGatewayTaskDefinitions

source§

impl RuntimePlugin for ListWirelessGateways

source§

impl RuntimePlugin for PutPositionConfiguration

source§

impl RuntimePlugin for PutResourceLogLevel

source§

impl RuntimePlugin for ResetAllResourceLogLevels

source§

impl RuntimePlugin for ResetResourceLogLevel

source§

impl RuntimePlugin for SendDataToMulticastGroup

source§

impl RuntimePlugin for SendDataToWirelessDevice

source§

impl RuntimePlugin for StartBulkAssociateWirelessDeviceWithMulticastGroup

source§

impl RuntimePlugin for StartBulkDisassociateWirelessDeviceFromMulticastGroup

source§

impl RuntimePlugin for StartFuotaTask

source§

impl RuntimePlugin for StartMulticastGroupSession

source§

impl RuntimePlugin for StartSingleWirelessDeviceImportTask

source§

impl RuntimePlugin for StartWirelessDeviceImportTask

source§

impl RuntimePlugin for TagResource

source§

impl RuntimePlugin for TestWirelessDevice

source§

impl RuntimePlugin for UntagResource

source§

impl RuntimePlugin for UpdateDestination

source§

impl RuntimePlugin for UpdateEventConfigurationByResourceTypes

source§

impl RuntimePlugin for UpdateFuotaTask

source§

impl RuntimePlugin for UpdateLogLevelsByResourceTypes

source§

impl RuntimePlugin for UpdateMetricConfiguration

source§

impl RuntimePlugin for UpdateMulticastGroup

source§

impl RuntimePlugin for UpdateNetworkAnalyzerConfiguration

source§

impl RuntimePlugin for UpdatePartnerAccount

source§

impl RuntimePlugin for UpdatePosition

source§

impl RuntimePlugin for UpdateResourceEventConfiguration

source§

impl RuntimePlugin for UpdateResourcePosition

source§

impl RuntimePlugin for UpdateWirelessDevice

source§

impl RuntimePlugin for UpdateWirelessDeviceImportTask

source§

impl RuntimePlugin for UpdateWirelessGateway

source§

impl RuntimePlugin for StaticRuntimePlugin

source§

impl RuntimePlugin for SharedRuntimePlugin