Files
autoglue/terraform/envs/dev/autoglue_provider_reference.md
2025-11-05 23:00:45 +00:00

268 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# glueops/autoglue/autoglue Reference (generated)
_Generated from providers schema JSON._
## Provider Configuration
| Name | Type | Flags | Description |
|---|---|---|---|
| `addr` | string | optional | Base URL to the autoglue API (e.g. https://autoglue.example.com/api/v1). Defaults to http://localhost:8080/api/v1. |
| `api_key` | string | optional, sensitive | User API key for key-only auth. |
| `bearer` | string | optional, sensitive | Bearer token (user access token). |
| `org_id` | string | optional | Organization ID (UUID). Required for user/bearer and user API key auth unless single-org membership. Omitted for org key/secret (derived server-side). |
| `org_key` | string | optional, sensitive | Org-scoped key for machine auth. |
| `org_secret` | string | optional, sensitive | Org-scoped secret for machine auth. |
### Basic usage
```hcl
terraform {
required_providers {
autoglue = {
source = "glueops/autoglue/autoglue"
# version = ">= 0.0.0"
}
}
}
provider "autoglue" {
# addr = "..."
# api_key = "..."
# bearer = "..."
# org_id = "..."
# org_key = "..."
# org_secret = "..."
}
```
## Provider Functions
_No provider-defined functions._
## Resources
### `autoglue_annotation`
Create and manage a annotation (org-scoped).
| Name | Type | Flags | Description |
|---|---|---|---|
| `created_at` | string | computed | |
| `id` | string | computed | ID (UUID). |
| `key` | string | required | Key. |
| `organization_id` | string | computed | |
| `raw` | string | computed | Full server JSON from API. |
| `updated_at` | string | computed | |
| `value` | string | required | Value. |
**Example**
```hcl
resource "autoglue_annotation" "example" {
key = "..."
value = "..."
}
```
### `autoglue_label`
Create and manage a label (org-scoped).
| Name | Type | Flags | Description |
|---|---|---|---|
| `created_at` | string | computed | |
| `id` | string | computed | Server ID (UUID). |
| `key` | string | required | Key. |
| `organization_id` | string | computed | |
| `raw` | string | computed | Full server JSON from API. |
| `updated_at` | string | computed | |
| `value` | string | required | Value. |
**Example**
```hcl
resource "autoglue_label" "example" {
key = "..."
value = "..."
}
```
### `autoglue_server`
Create and manage a server (org-scoped). Mirrors API validation for role/status/ssh_key_id.
| Name | Type | Flags | Description |
|---|---|---|---|
| `created_at` | string | computed | |
| `hostname` | string | required | Hostname. |
| `id` | string | computed | Server ID (UUID). |
| `organization_id` | string | computed | |
| `private_ip_address` | string | required | Private IP address (required). |
| `public_ip_address` | string | optional | Public IP address (required when role = bastion). |
| `raw` | string | computed | Full server JSON from API. |
| `role` | string | required | Server role (e.g., agent/manager/bastion). Lowercased by the provider. |
| `ssh_key_id` | string | required | SSH key ID (UUID) that belongs to the org. |
| `ssh_user` | string | required | SSH username (required). |
| `status` | string | optional, computed | Status (pending|provisioning|ready|failed). Lowercased by the provider. |
| `updated_at` | string | computed | |
**Example**
```hcl
resource "autoglue_server" "example" {
hostname = "..."
private_ip_address = "..."
role = "..."
ssh_key_id = "..."
ssh_user = "..."
}
```
### `autoglue_ssh_key`
| Name | Type | Flags | Description |
|---|---|---|---|
| `bits` | number | optional | RSA key size (2048/3072/4096). Ignored for ed25519. |
| `comment` | string | required | Comment appended to authorized key |
| `created_at` | string | computed | Creation time (RFC3339, UTC) |
| `fingerprint` | string | computed | SHA256 fingerprint |
| `id` | string | computed | SSH key ID (UUID) |
| `name` | string | required | Display name |
| `private_key_pem` | string | computed, sensitive | Private key PEM (resource doesnt reveal; stays empty). |
| `public_key` | string | computed | OpenSSH authorized key |
| `type` | string | optional | Key type: rsa or ed25519 (default rsa) |
| `updated_at` | string | computed | Update time (RFC3339, UTC) |
**Example**
```hcl
resource "autoglue_ssh_key" "example" {
comment = "..."
name = "..."
}
```
### `autoglue_taint`
Create and manage a taint (org-scoped).
| Name | Type | Flags | Description |
|---|---|---|---|
| `created_at` | string | computed | |
| `effect` | string | required | Effect. |
| `id` | string | computed | Server ID (UUID). |
| `key` | string | required | Key. |
| `organization_id` | string | computed | |
| `raw` | string | computed | Full server JSON from API. |
| `updated_at` | string | computed | |
| `value` | string | required | Value. |
**Example**
```hcl
resource "autoglue_taint" "example" {
effect = "..."
key = "..."
value = "..."
}
```
## Data Sources
### `autoglue_annotations`
List annotations for the organization (org-scoped).
| Name | Type | Flags | Description |
|---|---|---|---|
| `items` | (block) | computed | Annotations returned by the API. |
**Example**
```hcl
data "autoglue_annotations" "all" {}
# Example of reading exported fields (adjust to your needs):
# output "first_item_raw" {
# value = try(data.autoglue_annotations.all.items[0].raw, null)
# }
```
### `autoglue_labels`
List labels for the organization (org-scoped).
| Name | Type | Flags | Description |
|---|---|---|---|
| `items` | (block) | computed | Labels returned by the API. |
**Example**
```hcl
data "autoglue_labels" "all" {}
# Example of reading exported fields (adjust to your needs):
# output "first_item_raw" {
# value = try(data.autoglue_labels.all.items[0].raw, null)
# }
```
### `autoglue_servers`
List servers for the organization (org-scoped).
| Name | Type | Flags | Description |
|---|---|---|---|
| `items` | (block) | computed | Servers returned by the API. |
| `role` | string | optional | Filter by role. |
| `status` | string | optional | Filter by status (pending|provisioning|ready|failed). |
**Example**
```hcl
data "autoglue_servers" "all" {}
# Example of reading exported fields (adjust to your needs):
# output "first_item_raw" {
# value = try(data.autoglue_servers.all.items[0].raw, null)
# }
```
### `autoglue_ssh_keys`
| Name | Type | Flags | Description |
|---|---|---|---|
| `fingerprint` | string | optional | Filter by exact fingerprint (client-side). |
| `keys` | (block) | computed | SSH keys |
| `name_contains` | string | optional | Filter by substring of name (client-side). |
**Example**
```hcl
data "autoglue_ssh_keys" "all" {}
# Example of reading exported fields (adjust to your needs):
# output "first_item_raw" {
# value = try(data.autoglue_ssh_keys.all.items[0].raw, null)
# }
```
### `autoglue_taints`
List taints for the organization (org-scoped).
| Name | Type | Flags | Description |
|---|---|---|---|
| `items` | (block) | computed | Taints returned by the API. |
**Example**
```hcl
data "autoglue_taints" "all" {}
# Example of reading exported fields (adjust to your needs):
# output "first_item_raw" {
# value = try(data.autoglue_taints.all.items[0].raw, null)
# }
```