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
5 changes: 0 additions & 5 deletions .github/CODE_OF_CONDUCT.md

This file was deleted.

1 change: 1 addition & 0 deletions .go-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.15.2
59 changes: 0 additions & 59 deletions .goreleaser.yml

This file was deleted.

2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## 0.1.0 (Unreleased)

BACKWARDS INCOMPATIBILITIES / NOTES:
Initial release!
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Requirements
------------

- [Terraform](https://www.terraform.io/downloads.html) >= 0.12.x
- [Go](https://golang.org/doc/install) >= 1.12
- [Go](https://golang.org/doc/install) >= 1.15

Building The Provider
---------------------
Expand Down Expand Up @@ -59,6 +59,15 @@ In order to run the full suite of Acceptance tests, run `make testacc`.
$ make testacc
```

Generating Docs
----------------------

From the root of the repo run:

```
go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs
```

Using the provider
----------------------
Please see our detailed docs for individual resource usage. Below is a complex example using the Boundary provider to configure all resource types available:
Expand Down
37 changes: 37 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
page_title: "Provider: Boundary"
subcategory: ""
description: |-
Terraform provider for configuring Boundary.
---

# Boundary Provider

Terraform provider for configuring Boundary.

## Example Usage

Do not keep your authentication password in HCL for production environments, use Terraform environment variables.

```terraform
provider "boundary" {
addr = "http://127.0.0.1:9200"
auth_method_id = "ampw_1234567890" # changeme
password_auth_method_login_name = "myuser" # changeme
password_auth_method_password = "passpass" # changeme
}
```

## Schema
Comment thread
malnick marked this conversation as resolved.

### Required

- **addr** (String, Required) The base url of the Boundary API, e.g. "http://127.0.0.1". If not set, it will be read from the "BOUNDARY_ADDR" env var.

### Optional

- **auth_method_id** (String, Optional) The auth method ID e.g. ampw_1234567890
- **password_auth_method_login_name** (String, Optional) The auth method login name for password-style auth methods
- **password_auth_method_password** (String, Optional) The auth method password for password-style auth methods
- **recovery_kms_hcl** (String, Optional) Can be a heredoc string or a path on disk. If set, the string/file will be parsed as HCL and used with the recovery KMS mechanism. While this is set, it will override any other authentication information; the KMS mechanism will always be used.
- **token** (String, Optional) The Boundary token to use, as a string or path on disk containing just the string. If set, the token read here will be used in place of authenticating with the auth method specified in "auth_method_id", although the recovery KMS mechanism will still override this. Can also be set with the BOUNDARY_TOKEN environment variable.
50 changes: 50 additions & 0 deletions docs/resources/account.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
page_title: "boundary_account Resource - terraform-provider-boundary"
subcategory: ""
description: |-
The account resource allows you to configure a Boundary account.
---

# Resource `boundary_account`

The account resource allows you to configure a Boundary account.

## Example Usage

```terraform
resource "boundary_scope" "org" {
name = "organization_one"
description = "My first scope!"
scope_id = "global"
auto_create_role = true
}

resource "boundary_auth_method" "password" {
scope_id = boundary_scope.org.id
type = "password"
}

resource "boundary_account" "jeff" {
auth_method_id = boundary_auth_method.password.id
type = "password"
login_name = "jeff"
password = "$uper$ecure"
}
```

## Schema

### Required

- **auth_method_id** (String, Required) The resource ID for the authentication method.
- **type** (String, Required) The resource type.

### Optional

- **description** (String, Optional) The account description.
- **id** (String, Optional) The ID of this resource.
- **login_name** (String, Optional) The login name for this account.
- **name** (String, Optional) The account name. Defaults to the resource name.
- **password** (String, Optional) The account password.


43 changes: 43 additions & 0 deletions docs/resources/auth_method.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
page_title: "boundary_auth_method Resource - terraform-provider-boundary"
subcategory: ""
description: |-
The auth method resource allows you to configure a Boundary auth_method.
---

# Resource `boundary_auth_method`

The auth method resource allows you to configure a Boundary auth_method.

## Example Usage

```terraform
resource "boundary_scope" "org" {
name = "organization_one"
description = "My first scope!"
scope_id = "global"
auto_create_role = true
}

resource "boundary_auth_method" "password" {
scope_id = boundary_scope.org.id
type = "password"
}
```

## Schema

### Required

- **scope_id** (String, Required) The scope ID.
- **type** (String, Required) The resource type.

### Optional

- **description** (String, Optional) The auth method description.
- **id** (String, Optional) The ID of this resource.
- **min_login_name_length** (Number, Optional) The minimum login name length.
- **min_password_length** (Number, Optional) The minimum password length.
- **name** (String, Optional) The auth method name. Defaults to the resource name.


Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
layout: "boundary"
page_title: "Boundary: group_resource"
sidebar_current: "docs-boundary-group-resource"
page_title: "boundary_group Resource - terraform-provider-boundary"
subcategory: ""
description: |-
Group resource for the Boundary Terraform provider.
The group resource allows you to configure a Boundary group.
---

# boundary_group_resource
The group resource allows you to configure a Boundary group.
# Resource `boundary_group`

The group resource allows you to configure a Boundary group.

## Example Usage

```hcl
```terraform
resource "boundary_scope" "org" {
name = "organization_one"
description = "My first scope!"
scope_id = "global"
scope_id = "global"
auto_create_role = true
}

Expand All @@ -34,11 +34,11 @@ resource "boundary_group" "example" {

Usage for project-specific group:

```hcl
```terraform
resource "boundary_scope" "org" {
name = "organization_one"
description = "My first scope!"
scope_id = "global"
scope_id = "global"
auto_create_role = true
}

Expand All @@ -62,10 +62,15 @@ resource "boundary_group" "example" {
}
```

## Argument Reference
## Schema

### Required

- **scope_id** (String, Required) The scope ID in which the resource is created. Defaults to the provider's `default_scope` if unset.

### Optional

The following arguments are optional:
* `description` - The group description.
* `name` - The group name. Defaults to the resource name.
* `scope_id` - The scope ID in which the resource is created. Defaults to the provider's `default_scope` if unset.
* `member_ids` - Resource IDs for group members, these are most likely boundary users.
- **description** (String, Optional) The group description.
- **id** (String, Optional) The ID of this resource.
- **member_ids** (Set of String, Optional) Resource IDs for group members, these are most likely boundary users.
- **name** (String, Optional) The group name. Defaults to the resource name.
51 changes: 51 additions & 0 deletions docs/resources/host.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
page_title: "boundary_host Resource - terraform-provider-boundary"
subcategory: ""
description: |-
The host resource allows you to configure a Boundary static host. Hosts are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host.
---

# Resource `boundary_host`

The host resource allows you to configure a Boundary static host. Hosts are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host.

## Example Usage

```terraform
resource "boundary_scope" "org" {
name = "organization_one"
description = "My first scope!"
scope_id = "global"
auto_create_role = true
}

resource "boundary_scope" "project" {
name = "project_one"
description = "My first scope!"
scope_id = boundary_scope.org.id
auto_create_role = true
}

resource "boundary_host" "example" {
name = "My catalog"
description = "My first host!"
address = "10.0.0.1"
scope_id = boundary_scope.project.id
}
```

## Schema

### Required

- **host_catalog_id** (String, Required)
- **type** (String, Required)

### Optional

- **address** (String, Optional) The static address of the host resource as `<IP>:<port>` or a domain name.
- **description** (String, Optional) The host description.
- **id** (String, Optional) The ID of this resource.
- **name** (String, Optional) The host name. Defaults to the resource name.


Loading