Table of Contents

Namespace Fabricator.Resources

NuGet package

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

Archive
CertificateStoreLocation

Represents a certificate store location and name for certificate installation.

CertificateStores

Common certificate store locations for convenience.

Chocolatey
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.

DotNetTool
Downloads
FileSource
FileSource.AbsoluteFile
FileSource.ContentFile
FileSource.GeneratedContent
FileSource.Tags
Files
Hash
Hash.Sha256Hash
HostsFile
WindowsCertificates
WindowsServices