Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Visit https://goreleaser.com for documentation on how to customize this
# behavior.
env:
- PROVIDER_VERSION=0.0.1-beta
- PROVIDER_VERSION=1.0.0-beta
before:
hooks:
# this is just an example and not a requirement for provider building/publishing
Expand Down
2 changes: 1 addition & 1 deletion GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ HOSTNAME=delphix.com
NAMESPACE=dct
NAME=delphix
BINARY=terraform-provider-${NAME}
VERSION=0.0.1-beta
VERSION=1.0.0-beta
OS_ARCH=darwin_amd64

default: install
Expand Down
24 changes: 15 additions & 9 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,33 @@
# <provider> Terraform-Provider-Delphix
# <provider> Delphix Provider

!> **NOTE**
It is a beta version as of now and it requires Delphix Control Tower 2.0. to work.
The Terraform Provider for Delphix is currently beta and requires Delphix Control Tower (DCT) APIs to work.

Delphix Terraform provider to interact with different infrastructure resources supported by Delphix. You must configure the provider
with the proper API key generated by DCT and register your Delphix Engine before you can use it.

The Terraform Provider for Delphix enables customers to natively manage data-as-code along with their infrastructure.
With Terraform and Delphix, customers can now automatically provision, manage and teardown any number of ephemeral data environments to drive enterprise DevOps workflows including test data management.

This provider leverages the Delphix APIs available with the Delphix Data Control Tower (DCT). The provider must be configured with the proper API key generated by DCT and registered with associated Delphix engines before use

To learn more about Delphix and DCT APIs, refer to [Delphix Docs](https://docs.delphix.com) and [DCT Docs](https://docs.delphix.com/dct) respectively.

## Example Usage

```hcl
terraform {
required_providers {
delphix = {
version = "1.0.0"
source = "delphix.com/local/delphix"
source = "delphix-integrations/delphix"
version = "1.0.0-beta"
}
}
}

# Configure the DXI Provider
provider "delphix" {
tls_insecure_skip = true
key = "1.XXXX"
host = "HOSTNAME"
key = "dct_api_key"
host = "dct_hostname"
}

# Provision a VDB
Expand All @@ -34,7 +39,8 @@ resource "delphix_vdb" "vdb_name" {

## Configuration and API Key Generation

For generation of the API key, please refer to [Authentication](https://docs.delphix.com/dctmc/authentication).
Delphix Provider uses DCT APIs to communicate with the Delphix engines. Authentication to DCT APIs are handled using API Keys.
For generation of the API key, please refer to [Authentication](https://docs.delphix.com/dct/authentication-170164311.html).


## Argument Reference
Expand Down
37 changes: 21 additions & 16 deletions docs/resources/environment.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
# Resource: <resource name> delphix_environment

An environment is a a grouping of a single host or a cluster of hosts. environment allows creating hosts or a cluster of hosts.
In Delphix, an environment is either a single instance host or cluster of hosts that run database software.

Environments can either be a source (where data comes from), staging (where data are prepared/masked) or target (where data are delivered and used by developers and testers).

Each environment has its own properties and information depending on the type of environment it is

## Example Usage

### Creating a UNIX standalone environment
### Create UNIX standalone environment

```hcl
resource "delphix_environment" "unix_env_name" {
engine_id = 2
Expand All @@ -31,7 +36,7 @@ resource "delphix_environment" "unix_env_name" {
is_target = false
}
```
### Creating a UNIX cluster
### Create UNIX cluster
```hcl
resource "delphix_environment" "unixcluster" {
engine_id = 2
Expand Down Expand Up @@ -124,28 +129,28 @@ resource "delphix_environment" "fc-tgt-cluster" {

## Argument Reference

* `name` - (Optional) The name of the environment.
* `engine_id` - (Required) The ID of the Engine onto which to create the environment.
* `engine_id` - (Required) The DCT ID of the Engine on which to create the environment. This ID can be obtained by querying the DCT engines API. A Delphix Engine must be registered with DCT first for it to create an Engine ID.
* `os_name` - (Required) Operating system type of the environment. Valid values are `[UNIX, WINDOWS]`
* `hostname` - (Required) Host Name or IP Address of the host that being added to Delphix.
* `name` - (Optional) The name of the environment.
* `is_cluster` - (Optional) Whether the environment to be created is a cluster.
* `cluster_home` - (Optional) Absolute path to cluster home drectory. This parameter is mandatory for UNIX cluster environments.
* `hostname` - (Required) host address of the machine.
* `staging_environment` - (Optional) Id of the connector environment which is used to connect to this source environment. This is mandatory parameter when creating Windows source environments.
* `connector_port` - (Optional) Specify port on which Delphix connector will run. This is mandatory parameter when creating Windows target environments.
* `cluster_home` - (Optional) Absolute path to cluster home drectory. This parameter is (Required) for UNIX cluster environments.
* `staging_environment` - (Optional) Id of the environment where Delphix Connector is installed. This is a (Required) parameter when creating Windows source environments.
* `connector_port` - (Optional) Specify port on which Delphix connector will run. This is a (Required) parameter when creating Windows target environments.
* `is_target` - (Optional) Whether the environment to be created is a target cluster environment. This property is used only when creating Windows cluster environments.
* `ssh_port` - (Optional) ssh port of the host.
* `toolkit_path` - (Optional) The path for the toolkit that resides on the host.
* `username` - (Optional) Username of the OS.
* `password` - (Optional) Password of the OS.
* `ssh_port` - (Optional) ssh port of the environment.
* `toolkit_path` - (Optional) The path where Delphix toolkit can be pushed.
* `username` - (Optional) OS username for Delphix.
* `password` - (Optional) OS user's password.
* `vault` - (Optional) The name or reference of the vault from which to read the host credentials.
* `hashicorp_vault_engine` - (Optional) Vault engine name where the credential is stored.
* `hashicorp_vault_secret_path` - (Optional) Path in the vault engine where the credential is stored.
* `hashicorp_vault_username_key` - (Optional) Key for the username in the key-value store.
* `hashicorp_vault_secret_key` - (Optional) Key for the password in the key-value store.
* `cyberark_vault_query_string` - (Optional) Query to find a credential in the CyberArk vault.
* `nfs_addresses` - (Optional) array of ip address or hostnames. Valid values are a list of addresses. For eg: `["192.168.10.2"]`
* `ase_db_username` - (Optional) username of the SAP ASE database.
* `ase_db_password` - (Optional) password of the SAP ASE database.
* `nfs_addresses` - (Optional) Array of ip address or hostnames. Valid values are a list of addresses. For eg: `["192.168.10.2"]`
* `ase_db_username` - (Optional) Username for the SAP ASE database.
* `ase_db_password` - (Optional) Password for the SAP ASE database.
* `ase_db_vault` - (Optional) The name or reference of the vault from which to read the ASE database credentials.
* `ase_db_hashicorp_vault_engine` - (Optional) Vault engine name where the credential is stored.
* `ase_db_hashicorp_vault_secret_path` - (Optional) Path in the vault engine where the credential is stored.
Expand Down
7 changes: 6 additions & 1 deletion docs/resources/vdb.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# Resource: <resource name> delphix_vdb

The VDB resource allows the provisioning, updation and deletion of a Delphix virtual database infrastructure (VDB). However, update is not supported for all parameters, the ones supported is mentioned below.
In Delphix terminology, a VDB is a database provisioned from either a dSource or another VDB which is a full read/write copy of the source data.
A VDB is created and managed by the Delphix Continuous Data Engine.


The VDB resource allows terraform to CREATE (also known as Provision), READ, UPDATE and DELETE Delphix Virtual Databases (VDB).
Update operation does not support all VDB parameters. The supported parameters are listed below.

## Example Usage
Provisioning can be done in 2 methods, provision by snapshot and provision by timestamp.
Expand Down