Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Generate datasources based on OpenAPI specification #613

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
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: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,9 @@ test-database-down:
docker stop boundary-sql-tests || true
docker rm -v boundary-sql-tests || true

data-sources:
go run scripts/generate_data_sources.go

.PHONY: testacc tools docs test-database-up test-database-down

.PHONY: copywrite
Expand All @@ -89,4 +92,4 @@ fmt:
gofumpt -w $$(find . -name '*.go')

.PHONY: gen
gen: docs copywrite fmt
gen: docs copywrite fmt data-sources
87 changes: 87 additions & 0 deletions docs/data-sources/accounts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "boundary_accounts Data Source - terraform-provider-boundary"
subcategory: ""
description: |-
Lists accounts
---

# boundary_accounts (Data Source)

Lists accounts

## Example Usage

```terraform
# Retrieve Accounts
data "boundary_accounts" "example" {
auth_method_id = "id"
}

# Retrieve Accounts with "test" in the name
data "boundary_accounts" "example" {
filter = "\"test\" in \"/item/name\""
auth_method_id = "id"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `auth_method_id` (String) The ID of the auth method whose accounts should be listed.
- `filter` (String) You can specify that the filter should only return items that match.
Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.
- `list_token` (String) An opaque token that Boundary uses to continue an existing iteration or
request updated items. If you do not specify a token, pagination
starts from the beginning. To learn more about list pagination
in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).
- `page_size` (Number) The maximum size of a page in this iteration.
If you do not set a page size, Boundary uses the configured default page size.
If the page_size is greater than the default page size configured,
Boundary truncates the page size to this number.

### Read-Only

- `est_item_count` (Number) An estimate at the total items available. This may change during pagination.
- `id` (String) The ID of this resource.
- `items` (List of Object) The list of accounts. (see [below for nested schema](#nestedatt--items))
- `removed_ids` (List of String) A list of item IDs that have been removed since they were returned
as part of a pagination. They should be dropped from any client cache.
This may contain items that are not known to the cache, if they were
created and deleted between listings.
- `response_type` (String) The type of response, either "delta" or "complete".
Delta signifies that this is part of a paginated result
or an update to a previously completed pagination.
Complete signifies that it is the last page.
- `sort_by` (String) The name of the field which the items are sorted by.
- `sort_dir` (String) The direction of the sort, either "asc" or "desc".

<a id="nestedatt--items"></a>
### Nested Schema for `items`

Read-Only:

- `auth_method_id` (String)
- `authorized_actions` (List of String)
- `created_time` (String)
- `description` (String)
- `id` (String)
- `managed_group_ids` (List of String)
- `name` (String)
- `scope` (List of Object) (see [below for nested schema](#nestedobjatt--items--scope))
- `type` (String)
- `updated_time` (String)
- `version` (Number)

<a id="nestedobjatt--items--scope"></a>
### Nested Schema for `items.scope`

Read-Only:

- `description` (String)
- `id` (String)
- `name` (String)
- `parent_scope_id` (String)
- `type` (String)
89 changes: 89 additions & 0 deletions docs/data-sources/aliases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "boundary_aliases Data Source - terraform-provider-boundary"
subcategory: ""
description: |-
Lists aliases
---

# boundary_aliases (Data Source)

Lists aliases

## Example Usage

```terraform
# Retrieve Aliases
data "boundary_aliases" "example" {
scope_id = "id"
}

# Retrieve Aliases with "test" in the name
data "boundary_aliases" "example" {
filter = "\"test\" in \"/item/name\""
scope_id = "id"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `filter` (String) You can specify that the filter should only return items that match.
Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.
- `list_token` (String) An opaque token that Boundary uses to continue an existing iteration or
request updated items. If you do not specify a token, pagination
starts from the beginning. To learn more about list pagination
in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).
- `page_size` (Number) The maximum size of a page in this iteration.
If you do not set a page size, Boundary uses the configured default page size.
If the page_size is greater than the default page size configured,
Boundary truncates the page size to this number.
- `recursive` (Boolean) Whether to recursively list aliases in the provided scope's child scopes.
- `scope_id` (String) The ID of the scope in which to list aliases

### Read-Only

- `est_item_count` (Number) An estimate at the total items available. This may change during pagination.
- `id` (String) The ID of this resource.
- `items` (List of Object) The list of aliases. (see [below for nested schema](#nestedatt--items))
- `removed_ids` (List of String) A list of item IDs that have been removed since they were returned
as part of a pagination. They should be dropped from any client cache.
This may contain items that are not known to the cache, if they were
created and deleted between listings.
- `response_type` (String) The type of response, either "delta" or "complete".
Delta signifies that this is part of a paginated result
or an update to a previously completed pagination.
Complete signifies that it is the last page.
- `sort_by` (String) The name of the field which the items are sorted by.
- `sort_dir` (String) The direction of the sort, either "asc" or "desc".

<a id="nestedatt--items"></a>
### Nested Schema for `items`

Read-Only:

- `authorized_actions` (List of String)
- `created_time` (String)
- `description` (String)
- `destination_id` (String)
- `id` (String)
- `name` (String)
- `scope` (List of Object) (see [below for nested schema](#nestedobjatt--items--scope))
- `scope_id` (String)
- `type` (String)
- `updated_time` (String)
- `value` (String)
- `version` (Number)

<a id="nestedobjatt--items--scope"></a>
### Nested Schema for `items.scope`

Read-Only:

- `description` (String)
- `id` (String)
- `name` (String)
- `parent_scope_id` (String)
- `type` (String)
88 changes: 88 additions & 0 deletions docs/data-sources/auth_methods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "boundary_auth_methods Data Source - terraform-provider-boundary"
subcategory: ""
description: |-
Lists auth-methods
---

# boundary_auth_methods (Data Source)

Lists auth-methods

## Example Usage

```terraform
# Retrieve AuthMethods
data "boundary_auth_methods" "example" {
scope_id = "id"
}

# Retrieve AuthMethods with "test" in the name
data "boundary_auth_methods" "example" {
filter = "\"test\" in \"/item/name\""
scope_id = "id"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `filter` (String) You can specify that the filter should only return items that match.
Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.
- `list_token` (String) An opaque token that Boundary uses to continue an existing iteration or
request updated items. If you do not specify a token, pagination
starts from the beginning. To learn more about list pagination
in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).
- `page_size` (Number) The maximum size of a page in this iteration.
If you do not set a page size, Boundary uses the configured default page size.
If the page_size is greater than the default page size configured,
Boundary truncates the page size to this number.
- `recursive` (Boolean) Whether to recursively list auth methods in the provided scope's child scopes.
- `scope_id` (String) The scope ID in which to list auth methods.

### Read-Only

- `est_item_count` (Number) An estimate at the total items available. This may change during pagination.
- `id` (String) The ID of this resource.
- `items` (List of Object) The items returned in this page. (see [below for nested schema](#nestedatt--items))
- `removed_ids` (List of String) A list of item IDs that have been removed since they were returned
as part of a pagination. They should be dropped from any client cache.
This may contain items that are not known to the cache, if they were
created and deleted between listings.
- `response_type` (String) The type of response, either "delta" or "complete".
Delta signifies that this is part of a paginated result
or an update to a previously completed pagination.
Complete signifies that it is the last page.
- `sort_by` (String) The name of the field which the items are sorted by.
- `sort_dir` (String) The direction of the sort, either "asc" or "desc".

<a id="nestedatt--items"></a>
### Nested Schema for `items`

Read-Only:

- `authorized_actions` (List of String)
- `created_time` (String)
- `description` (String)
- `id` (String)
- `is_primary` (Boolean)
- `name` (String)
- `scope` (List of Object) (see [below for nested schema](#nestedobjatt--items--scope))
- `scope_id` (String)
- `type` (String)
- `updated_time` (String)
- `version` (Number)

<a id="nestedobjatt--items--scope"></a>
### Nested Schema for `items.scope`

Read-Only:

- `description` (String)
- `id` (String)
- `name` (String)
- `parent_scope_id` (String)
- `type` (String)
89 changes: 89 additions & 0 deletions docs/data-sources/auth_tokens.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "boundary_auth_tokens Data Source - terraform-provider-boundary"
subcategory: ""
description: |-
Lists auth-tokens
---

# boundary_auth_tokens (Data Source)

Lists auth-tokens

## Example Usage

```terraform
# Retrieve AuthTokens
data "boundary_auth_tokens" "example" {
scope_id = "id"
}

# Retrieve AuthTokens with "test" in the name
data "boundary_auth_tokens" "example" {
filter = "\"test\" in \"/item/name\""
scope_id = "id"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `filter` (String) You can specify that the filter should only return items that match.
Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.
- `list_token` (String) An opaque token that Boundary uses to continue an existing iteration or
request updated items. If you do not specify a token, pagination
starts from the beginning. To learn more about list pagination
in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).
- `page_size` (Number) The maximum size of a page in this iteration.
If you do not set a page size, Boundary uses the configured default page size.
If the page_size is greater than the default page size configured,
Boundary truncates the page size to this number.
- `recursive` (Boolean)
- `scope_id` (String)

### Read-Only

- `est_item_count` (Number) An estimate at the total items available. This may change during pagination.
- `id` (String) The ID of this resource.
- `items` (List of Object) (see [below for nested schema](#nestedatt--items))
- `removed_ids` (List of String) A list of item IDs that have been removed since they were returned
as part of a pagination. They should be dropped from any client cache.
This may contain items that are not known to the cache, if they were
created and deleted between listings.
- `response_type` (String) The type of response, either "delta" or "complete".
Delta signifies that this is part of a paginated result
or an update to a previously completed pagination.
Complete signifies that it is the last page.
- `sort_by` (String) The name of the field which the items are sorted by.
- `sort_dir` (String) The direction of the sort, either "asc" or "desc".

<a id="nestedatt--items"></a>
### Nested Schema for `items`

Read-Only:

- `account_id` (String)
- `approximate_last_used_time` (String)
- `auth_method_id` (String)
- `authorized_actions` (List of String)
- `created_time` (String)
- `expiration_time` (String)
- `id` (String)
- `scope` (List of Object) (see [below for nested schema](#nestedobjatt--items--scope))
- `scope_id` (String)
- `token` (String)
- `updated_time` (String)
- `user_id` (String)

<a id="nestedobjatt--items--scope"></a>
### Nested Schema for `items.scope`

Read-Only:

- `description` (String)
- `id` (String)
- `name` (String)
- `parent_scope_id` (String)
- `type` (String)
Loading
Loading