Trait aws_sdk_iot::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 AcceptCertificateTransfer

source§

impl RuntimePlugin for AddThingToBillingGroup

source§

impl RuntimePlugin for AddThingToThingGroup

source§

impl RuntimePlugin for AssociateTargetsWithJob

source§

impl RuntimePlugin for AttachPolicy

source§

impl RuntimePlugin for AttachPrincipalPolicy

source§

impl RuntimePlugin for AttachSecurityProfile

source§

impl RuntimePlugin for AttachThingPrincipal

source§

impl RuntimePlugin for CancelAuditMitigationActionsTask

source§

impl RuntimePlugin for CancelAuditTask

source§

impl RuntimePlugin for CancelCertificateTransfer

source§

impl RuntimePlugin for CancelDetectMitigationActionsTask

source§

impl RuntimePlugin for CancelJob

source§

impl RuntimePlugin for CancelJobExecution

source§

impl RuntimePlugin for ClearDefaultAuthorizer

source§

impl RuntimePlugin for ConfirmTopicRuleDestination

source§

impl RuntimePlugin for CreateAuditSuppression

source§

impl RuntimePlugin for CreateAuthorizer

source§

impl RuntimePlugin for CreateBillingGroup

source§

impl RuntimePlugin for CreateCertificateFromCsr

source§

impl RuntimePlugin for CreateCertificateProvider

source§

impl RuntimePlugin for CreateCustomMetric

source§

impl RuntimePlugin for CreateDimension

source§

impl RuntimePlugin for CreateDomainConfiguration

source§

impl RuntimePlugin for CreateDynamicThingGroup

source§

impl RuntimePlugin for CreateFleetMetric

source§

impl RuntimePlugin for CreateJob

source§

impl RuntimePlugin for CreateJobTemplate

source§

impl RuntimePlugin for CreateKeysAndCertificate

source§

impl RuntimePlugin for CreateMitigationAction

source§

impl RuntimePlugin for CreateOTAUpdate

source§

impl RuntimePlugin for CreatePackage

source§

impl RuntimePlugin for CreatePackageVersion

source§

impl RuntimePlugin for CreatePolicy

source§

impl RuntimePlugin for CreatePolicyVersion

source§

impl RuntimePlugin for CreateProvisioningClaim

source§

impl RuntimePlugin for CreateProvisioningTemplate

source§

impl RuntimePlugin for CreateProvisioningTemplateVersion

source§

impl RuntimePlugin for CreateRoleAlias

source§

impl RuntimePlugin for CreateScheduledAudit

source§

impl RuntimePlugin for CreateSecurityProfile

source§

impl RuntimePlugin for CreateStream

source§

impl RuntimePlugin for CreateThing

source§

impl RuntimePlugin for CreateThingGroup

source§

impl RuntimePlugin for CreateThingType

source§

impl RuntimePlugin for CreateTopicRule

source§

impl RuntimePlugin for CreateTopicRuleDestination

source§

impl RuntimePlugin for DeleteAccountAuditConfiguration

source§

impl RuntimePlugin for DeleteAuditSuppression

source§

impl RuntimePlugin for DeleteAuthorizer

source§

impl RuntimePlugin for DeleteBillingGroup

source§

impl RuntimePlugin for DeleteCACertificate

source§

impl RuntimePlugin for DeleteCertificate

source§

impl RuntimePlugin for DeleteCertificateProvider

source§

impl RuntimePlugin for DeleteCustomMetric

source§

impl RuntimePlugin for DeleteDimension

source§

impl RuntimePlugin for DeleteDomainConfiguration

source§

impl RuntimePlugin for DeleteDynamicThingGroup

source§

impl RuntimePlugin for DeleteFleetMetric

source§

impl RuntimePlugin for DeleteJob

source§

impl RuntimePlugin for DeleteJobExecution

source§

impl RuntimePlugin for DeleteJobTemplate

source§

impl RuntimePlugin for DeleteMitigationAction

source§

impl RuntimePlugin for DeleteOTAUpdate

source§

impl RuntimePlugin for DeletePackage

source§

impl RuntimePlugin for DeletePackageVersion

source§

impl RuntimePlugin for DeletePolicy

source§

impl RuntimePlugin for DeletePolicyVersion

source§

impl RuntimePlugin for DeleteProvisioningTemplate

source§

impl RuntimePlugin for DeleteProvisioningTemplateVersion

source§

impl RuntimePlugin for DeleteRegistrationCode

source§

impl RuntimePlugin for DeleteRoleAlias

source§

impl RuntimePlugin for DeleteScheduledAudit

source§

impl RuntimePlugin for DeleteSecurityProfile

source§

impl RuntimePlugin for DeleteStream

source§

impl RuntimePlugin for DeleteThing

source§

impl RuntimePlugin for DeleteThingGroup

source§

impl RuntimePlugin for DeleteThingType

source§

impl RuntimePlugin for DeleteTopicRule

source§

impl RuntimePlugin for DeleteTopicRuleDestination

source§

impl RuntimePlugin for DeleteV2LoggingLevel

source§

impl RuntimePlugin for DeprecateThingType

source§

impl RuntimePlugin for DescribeAccountAuditConfiguration

source§

impl RuntimePlugin for DescribeAuditFinding

source§

impl RuntimePlugin for DescribeAuditMitigationActionsTask

source§

impl RuntimePlugin for DescribeAuditSuppression

source§

impl RuntimePlugin for DescribeAuditTask

source§

impl RuntimePlugin for DescribeAuthorizer

source§

impl RuntimePlugin for DescribeBillingGroup

source§

impl RuntimePlugin for DescribeCACertificate

source§

impl RuntimePlugin for DescribeCertificate

source§

impl RuntimePlugin for DescribeCertificateProvider

source§

impl RuntimePlugin for DescribeCustomMetric

source§

impl RuntimePlugin for DescribeDefaultAuthorizer

source§

impl RuntimePlugin for DescribeDetectMitigationActionsTask

source§

impl RuntimePlugin for DescribeDimension

source§

impl RuntimePlugin for DescribeDomainConfiguration

source§

impl RuntimePlugin for DescribeEndpoint

source§

impl RuntimePlugin for DescribeEventConfigurations

source§

impl RuntimePlugin for DescribeFleetMetric

source§

impl RuntimePlugin for DescribeIndex

source§

impl RuntimePlugin for DescribeJob

source§

impl RuntimePlugin for DescribeJobExecution

source§

impl RuntimePlugin for DescribeJobTemplate

source§

impl RuntimePlugin for DescribeManagedJobTemplate

source§

impl RuntimePlugin for DescribeMitigationAction

source§

impl RuntimePlugin for DescribeProvisioningTemplate

source§

impl RuntimePlugin for DescribeProvisioningTemplateVersion

source§

impl RuntimePlugin for DescribeRoleAlias

source§

impl RuntimePlugin for DescribeScheduledAudit

source§

impl RuntimePlugin for DescribeSecurityProfile

source§

impl RuntimePlugin for DescribeStream

source§

impl RuntimePlugin for DescribeThing

source§

impl RuntimePlugin for DescribeThingGroup

source§

impl RuntimePlugin for DescribeThingRegistrationTask

source§

impl RuntimePlugin for DescribeThingType

source§

impl RuntimePlugin for DetachPolicy

source§

impl RuntimePlugin for DetachPrincipalPolicy

source§

impl RuntimePlugin for DetachSecurityProfile

source§

impl RuntimePlugin for DetachThingPrincipal

source§

impl RuntimePlugin for DisableTopicRule

source§

impl RuntimePlugin for EnableTopicRule

source§

impl RuntimePlugin for GetBehaviorModelTrainingSummaries

source§

impl RuntimePlugin for GetBucketsAggregation

source§

impl RuntimePlugin for GetCardinality

source§

impl RuntimePlugin for GetEffectivePolicies

source§

impl RuntimePlugin for GetIndexingConfiguration

source§

impl RuntimePlugin for GetJobDocument

source§

impl RuntimePlugin for GetLoggingOptions

source§

impl RuntimePlugin for GetOTAUpdate

source§

impl RuntimePlugin for GetPackage

source§

impl RuntimePlugin for GetPackageConfiguration

source§

impl RuntimePlugin for GetPackageVersion

source§

impl RuntimePlugin for GetPercentiles

source§

impl RuntimePlugin for GetPolicy

source§

impl RuntimePlugin for GetPolicyVersion

source§

impl RuntimePlugin for GetRegistrationCode

source§

impl RuntimePlugin for GetStatistics

source§

impl RuntimePlugin for GetTopicRule

source§

impl RuntimePlugin for GetTopicRuleDestination

source§

impl RuntimePlugin for GetV2LoggingOptions

source§

impl RuntimePlugin for ListActiveViolations

source§

impl RuntimePlugin for ListAttachedPolicies

source§

impl RuntimePlugin for ListAuditFindings

source§

impl RuntimePlugin for ListAuditMitigationActionsExecutions

source§

impl RuntimePlugin for ListAuditMitigationActionsTasks

source§

impl RuntimePlugin for ListAuditSuppressions

source§

impl RuntimePlugin for ListAuditTasks

source§

impl RuntimePlugin for ListAuthorizers

source§

impl RuntimePlugin for ListBillingGroups

source§

impl RuntimePlugin for ListCACertificates

source§

impl RuntimePlugin for ListCertificateProviders

source§

impl RuntimePlugin for ListCertificates

source§

impl RuntimePlugin for ListCertificatesByCA

source§

impl RuntimePlugin for ListCustomMetrics

source§

impl RuntimePlugin for ListDetectMitigationActionsExecutions

source§

impl RuntimePlugin for ListDetectMitigationActionsTasks

source§

impl RuntimePlugin for ListDimensions

source§

impl RuntimePlugin for ListDomainConfigurations

source§

impl RuntimePlugin for ListFleetMetrics

source§

impl RuntimePlugin for ListIndices

source§

impl RuntimePlugin for ListJobExecutionsForJob

source§

impl RuntimePlugin for ListJobExecutionsForThing

source§

impl RuntimePlugin for ListJobTemplates

source§

impl RuntimePlugin for ListJobs

source§

impl RuntimePlugin for ListManagedJobTemplates

source§

impl RuntimePlugin for ListMetricValues

source§

impl RuntimePlugin for ListMitigationActions

source§

impl RuntimePlugin for ListOTAUpdates

source§

impl RuntimePlugin for ListOutgoingCertificates

source§

impl RuntimePlugin for ListPackageVersions

source§

impl RuntimePlugin for ListPackages

source§

impl RuntimePlugin for ListPolicies

source§

impl RuntimePlugin for ListPolicyPrincipals

source§

impl RuntimePlugin for ListPolicyVersions

source§

impl RuntimePlugin for ListPrincipalPolicies

source§

impl RuntimePlugin for ListPrincipalThings

source§

impl RuntimePlugin for ListProvisioningTemplateVersions

source§

impl RuntimePlugin for ListProvisioningTemplates

source§

impl RuntimePlugin for ListRelatedResourcesForAuditFinding

source§

impl RuntimePlugin for ListRoleAliases

source§

impl RuntimePlugin for ListScheduledAudits

source§

impl RuntimePlugin for ListSecurityProfiles

source§

impl RuntimePlugin for ListSecurityProfilesForTarget

source§

impl RuntimePlugin for ListStreams

source§

impl RuntimePlugin for ListTagsForResource

source§

impl RuntimePlugin for ListTargetsForPolicy

source§

impl RuntimePlugin for ListTargetsForSecurityProfile

source§

impl RuntimePlugin for ListThingGroups

source§

impl RuntimePlugin for ListThingGroupsForThing

source§

impl RuntimePlugin for ListThingPrincipals

source§

impl RuntimePlugin for ListThingRegistrationTaskReports

source§

impl RuntimePlugin for ListThingRegistrationTasks

source§

impl RuntimePlugin for ListThingTypes

source§

impl RuntimePlugin for ListThings

source§

impl RuntimePlugin for ListThingsInBillingGroup

source§

impl RuntimePlugin for ListThingsInThingGroup

source§

impl RuntimePlugin for ListTopicRuleDestinations

source§

impl RuntimePlugin for ListTopicRules

source§

impl RuntimePlugin for ListV2LoggingLevels

source§

impl RuntimePlugin for ListViolationEvents

source§

impl RuntimePlugin for PutVerificationStateOnViolation

source§

impl RuntimePlugin for RegisterCACertificate

source§

impl RuntimePlugin for RegisterCertificate

source§

impl RuntimePlugin for RegisterCertificateWithoutCA

source§

impl RuntimePlugin for RegisterThing

source§

impl RuntimePlugin for RejectCertificateTransfer

source§

impl RuntimePlugin for RemoveThingFromBillingGroup

source§

impl RuntimePlugin for RemoveThingFromThingGroup

source§

impl RuntimePlugin for ReplaceTopicRule

source§

impl RuntimePlugin for SearchIndex

source§

impl RuntimePlugin for SetDefaultAuthorizer

source§

impl RuntimePlugin for SetDefaultPolicyVersion

source§

impl RuntimePlugin for SetLoggingOptions

source§

impl RuntimePlugin for SetV2LoggingLevel

source§

impl RuntimePlugin for SetV2LoggingOptions

source§

impl RuntimePlugin for StartAuditMitigationActionsTask

source§

impl RuntimePlugin for StartDetectMitigationActionsTask

source§

impl RuntimePlugin for StartOnDemandAuditTask

source§

impl RuntimePlugin for StartThingRegistrationTask

source§

impl RuntimePlugin for StopThingRegistrationTask

source§

impl RuntimePlugin for TagResource

source§

impl RuntimePlugin for TestAuthorization

source§

impl RuntimePlugin for TestInvokeAuthorizer

source§

impl RuntimePlugin for TransferCertificate

source§

impl RuntimePlugin for UntagResource

source§

impl RuntimePlugin for UpdateAccountAuditConfiguration

source§

impl RuntimePlugin for UpdateAuditSuppression

source§

impl RuntimePlugin for UpdateAuthorizer

source§

impl RuntimePlugin for UpdateBillingGroup

source§

impl RuntimePlugin for UpdateCACertificate

source§

impl RuntimePlugin for UpdateCertificate

source§

impl RuntimePlugin for UpdateCertificateProvider

source§

impl RuntimePlugin for UpdateCustomMetric

source§

impl RuntimePlugin for UpdateDimension

source§

impl RuntimePlugin for UpdateDomainConfiguration

source§

impl RuntimePlugin for UpdateDynamicThingGroup

source§

impl RuntimePlugin for UpdateEventConfigurations

source§

impl RuntimePlugin for UpdateFleetMetric

source§

impl RuntimePlugin for UpdateIndexingConfiguration

source§

impl RuntimePlugin for UpdateJob

source§

impl RuntimePlugin for UpdateMitigationAction

source§

impl RuntimePlugin for UpdatePackage

source§

impl RuntimePlugin for UpdatePackageConfiguration

source§

impl RuntimePlugin for UpdatePackageVersion

source§

impl RuntimePlugin for UpdateProvisioningTemplate

source§

impl RuntimePlugin for UpdateRoleAlias

source§

impl RuntimePlugin for UpdateScheduledAudit

source§

impl RuntimePlugin for UpdateSecurityProfile

source§

impl RuntimePlugin for UpdateStream

source§

impl RuntimePlugin for UpdateThing

source§

impl RuntimePlugin for UpdateThingGroup

source§

impl RuntimePlugin for UpdateThingGroupsForThing

source§

impl RuntimePlugin for UpdateTopicRuleDestination

source§

impl RuntimePlugin for ValidateSecurityProfileBehaviors

source§

impl RuntimePlugin for StaticRuntimePlugin

source§

impl RuntimePlugin for SharedRuntimePlugin