A custom provider for terraform.

Installation
- Download the latest release for your platform
- rename the file to
terraform-provider-quantum
- Copy the file to the same directory as terraform
dirname $(which terraform) is installed
Usage
quantum_list_files
Example Usage (quantum_list_files)
Returns a list of files from a directory
data "quantum_list_files" "data_files" {
folders = ["./data"]
patterns = ["*.txt", "*.doc*"]
recursive = true
}
The output will look like this:
data.quantum_list_files.data_files.files = ["./data/file1.txt", "./data/file2.docx"]
Argument Reference (quantum_list_files)
folders - (Optional) - The source list for folders
patterns - (Optional) - The patterns to match files, uses golang's filepath.Match
recursive - (Optional) - Default false, walk directory recursively
include_folder - (Optional) - Default true, include the parent folder in the results
Attributes Reference (quantum_list_files)
files - The list of matched files
quantum_password
This resource will generate a password with lowercase, uppercase, numbers and special characters matching the specified length. It will also rotate the password every 'n' days based on the rotation attribute.
Example Usage (quantum_password)
Generates a random password to be used by other resources
resource "quantum_password" "rds_backup_db_password" {
length = 10
rotation = 90
}
Argument Reference (quantum_password)
length - (Optional) - Password length [default 20]
rotation - (Optional) - Number of days before a new password gets generated. [default 0 = no rotation]
special_chars - (Optional) - Override the special characters set [default !"#$%&'()*+,-./]
A rotation set to negative number means the password expires on each run
Attributes Reference (quantum_password)
password - Attribute to use in your other resources to set the password
last_update - Last generation date of the password
Note that on quantum_password attribute change, you need to run apply twice to get the new password propagated to dependant resources. (Comment on this behavior)
Develop
go get github.com/coveo/terraform-provider-quantum
cd $GOPATH/src/github.com/coveo/terraform-provider-quantum
go get ./...
$EDITOR .