Namespace Fabricator.Resources
Fabricator's main concept is Resource: this is an entity that can be checked for its presence (via AlreadyApplied check) or can be applied to the target environment (via Apply).
A resource may also depend on other resources (via DependsOn). The dependencies are set when a resource is created: all the bundled resources accept them via an optional dependsOn parameter. When a resource has a dependency, this means that before a resource is applied, all its dependencies should be applied as well.
Resources sharing some part of the environment that is not safe to change concurrently (e.g., the same hosts file, or a software repository) declare a common concurrency group via Lock: Fabricator never checks or applies the resources from the same group concurrently. The bundled resources expose their groups (e.g., Chocolatey.ConcurrencyGroup or HostsFile.ConcurrencyGroup), so custom resources can join them.
(Note that Resource is defined in the Core package.)
This assembly contains various resources Fabricator supports out of the box. The user can define new resources by creating Resource records.
Classes
- CertificateStoreLocation
Represents a certificate store location and name for certificate installation.
- CertificateStores
Common certificate store locations for convenience.
- DigitalOceanDns
Resources managing the DNS records of the domains hosted by DigitalOcean DNS.
- DigitalOceanDnsRecord
A DNS record managed by Domain(string, SecretRef, IEnumerable<DigitalOceanDnsRecord>, FSharpOption<IEnumerable<Resource>>?). Use Record(string, string, string, FSharpOption<int>?, FSharpOption<int>?, FSharpOption<int>?, FSharpOption<int>?, FSharpOption<int>?, FSharpOption<string>?) to create one.