# Functions

BucketInformer sets the informer to use for accessing Buckets.
BucketRequestInformer sets the informer to use for accessing BucketRequests.
ExponentialBackOffOnError determines whether to exponentially back off from failures of Provision and Delete.
FailedDeleteThreshold is the threshold for max number of retries on failures of Delete.
FailedProvisionThreshold is the threshold for max number of retries on failures of Provision.
NewBucketStoreQueue returns BucketStore that uses asynchronous workqueue to save PVs.
NewProvisionController creates a new provision controller using the given configuration parameters and with private (non-shared) informers.
ProvisionTimeout sets the amount of time that provisioning a bucket may take.
RateLimiter is the workqueue.RateLimiter to use for the provisioning and deleting work queues.
ResyncPeriod is how often the controller relists bucketRequests, buckets, & bucket classes.
Threadiness is the number of bucketRequest and bucket workers each to launch.

# Constants

DefaultAddFinalizer is used when option function AddFinalizer is omitted.
DefaultCreateProvisionedBucketnterval is used when option function CreateProvisionedBucketInterval is omitted.
DefaultCreateProvisionedBucketRetryCount is used when option function CreateProvisionedBucketRetryCount is omitted.
DefaultExponentialBackOffOnError is used when option function ExponentialBackOffOnError is omitted.
DefaultFailedDeleteThreshold is used when option function FailedDeleteThreshold is omitted.
DefaultFailedProvisionThreshold is used when option function FailedProvisionThreshold is omitted.
DefaultLeaderElection is used when option function LeaderElection is omitted.
DefaultLeaseDuration is used when option function LeaseDuration is omitted.
DefaultMetricsAddress is used when option function MetricsAddress is omitted.
DefaultMetricsPath is used when option function MetricsPath is omitted.
DefaultMetricsPort is used when option function MetricsPort is omitted.
DefaultRenewDeadline is used when option function RenewDeadline is omitted.
DefaultResyncPeriod is used when option function ResyncPeriod is omitted.
DefaultRetryPeriod is used when option function RetryPeriod is omitted.
DefaultThreadiness is used when option function Threadiness is omitted.
ProvisioningFinished tells the controller that provisioning for sure does not continue in background, error code of Provision() is final.
ProvisioningInBackground tells the controller that provisioning may be in progress in background after Provision call finished.
ProvisioningNoChange tells the controller that provisioning state is the same as before the call - either ProvisioningInBackground or ProvisioningFinished from the previous Provision().
ProvisioningReschedule tells the controller that it shall stop all further attempts to provision the bucket and instead ask the Kubernetes scheduler to pick a different node.

# Structs

IgnoredError is the value for Delete to return to indicate that the call has been ignored and no action taken.
ProvisionController is a controller that provisions Bucket for BucketRequests.
ProvisionOptions contains all information required to provision a bucket.

# Interfaces

BucketStore is an interface that's used to save Buckets to API server.
Provisioner is an interface that creates templates for Buckets and can create the bucket as a new resource in the infrastructure provider.
Qualifier is an optional interface implemented by provisioners to determine whether a claim should be provisioned as early as possible (e.g.

# Type aliases

ProvisioningState is state of bucket provisioning.