Domain Detective

API Reference

Class

CtIngestionPlanner

Namespace DomainDetective
Assembly DomainDetective
Modifiers static

Plans certificate transparency provider work using capabilities and configured limits.

Inheritance

  • Object
  • CtIngestionPlanner

Methods

public static CtProviderWorkPlan ChooseFirstReadyProvider(IEnumerable<CtProviderWorkPlan> plans) #
Returns: CtProviderWorkPlan

Chooses the first provider that is ready in the supplied work plans.

Parameters

plans System.Collections.Generic.IEnumerable{DomainDetective.CtProviderWorkPlan} requiredposition: 0
Provider work plans in preference order.
public static CtProviderExecutionDecision Decide(CtProviderProfile profile, CtProviderRuntimeState state, Nullable<DateTimeOffset> nowUtc = null) #
Returns: CtProviderExecutionDecision

Determines whether a provider should run now or be deferred.

Parameters

profile DomainDetective.CtProviderProfile requiredposition: 0
Provider profile that supplies safety settings.
state DomainDetective.CtProviderRuntimeState requiredposition: 1
Optional persisted provider runtime state.
nowUtc System.Nullable{System.DateTimeOffset} = null optionalposition: 2
Optional current time used for decision evaluation.
public static CtProviderCapacityEstimate EstimateCapacity(CtProviderProfile profile, Int32 requestCount, Nullable<DateTimeOffset> nowUtc = null) #
Returns: CtProviderCapacityEstimate

Estimates the minimum duration for a number of provider requests.

Parameters

profile DomainDetective.CtProviderProfile requiredposition: 0
Provider profile that supplies rate-limit settings.
requestCount System.Int32 requiredposition: 1
Number of provider requests to issue.
nowUtc System.Nullable{System.DateTimeOffset} = null optionalposition: 2
Optional current time used for the completion estimate.
public static CtIngestionWorkloadEstimate EstimateWorkload(CtProviderProfile profile, CtIngestionWorkloadRequest workload, Nullable<DateTimeOffset> nowUtc = null) #
Returns: CtIngestionWorkloadEstimate

Estimates a CT workload against a single provider profile.

Parameters

profile DomainDetective.CtProviderProfile requiredposition: 0
Provider profile that supplies capabilities and rate limits.
workload DomainDetective.CtIngestionWorkloadRequest requiredposition: 1
Workload to estimate.
nowUtc System.Nullable{System.DateTimeOffset} = null optionalposition: 2
Optional current time used for the completion estimate.
public static CtProviderWorkPlan PlanProvider(CtProviderProfile profile, CtIngestionWorkloadRequest workload, CtProviderRuntimeState state = null, Nullable<DateTimeOffset> nowUtc = null) #
Returns: CtProviderWorkPlan

Plans a CT workload for a single provider using capabilities, estimates, and runtime state.

Parameters

profile DomainDetective.CtProviderProfile requiredposition: 0
Provider profile to evaluate.
workload DomainDetective.CtIngestionWorkloadRequest requiredposition: 1
Workload requested by the caller.
state DomainDetective.CtProviderRuntimeState = null optionalposition: 2
Optional provider runtime state.
nowUtc System.Nullable{System.DateTimeOffset} = null optionalposition: 3
Optional current time used for planning.
public static IReadOnlyList<CtProviderWorkPlan> PlanProviders(IEnumerable<CtProviderProfile> profiles, CtIngestionWorkloadRequest workload, IReadOnlyDictionary<String, CtProviderRuntimeState> states = null, Nullable<DateTimeOffset> nowUtc = null) #
Returns: IReadOnlyList<CtProviderWorkPlan>

Plans a CT workload across multiple providers in caller-supplied preference order.

Parameters

profiles System.Collections.Generic.IEnumerable{DomainDetective.CtProviderProfile} requiredposition: 0
Provider profiles to evaluate.
workload DomainDetective.CtIngestionWorkloadRequest requiredposition: 1
Workload requested by the caller.
states System.Collections.Generic.IReadOnlyDictionary{System.String,DomainDetective.CtProviderRuntimeState} = null optionalposition: 2
Optional provider states keyed by provider identifier.
nowUtc System.Nullable{System.DateTimeOffset} = null optionalposition: 3
Optional current time used for planning.
public static Boolean SupportsOperation(CtProviderProfile profile, CtIngestionOperation operation, Boolean requireFullCertificate) #
Returns: Boolean

Determines whether a provider can satisfy a requested CT operation with full certificates.

Parameters

profile DomainDetective.CtProviderProfile requiredposition: 0
Provider profile to evaluate.
operation DomainDetective.CtIngestionOperation requiredposition: 1
Operation requested by the caller.
requireFullCertificate System.Boolean requiredposition: 2
Whether the caller requires full certificate DER bytes.
{{ include "footer" }}