mirror of
https://github.com/GlueOps/autoglue.git
synced 2026-02-13 12:50:05 +01:00
268 lines
7.0 KiB
Markdown
268 lines
7.0 KiB
Markdown
# 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 doesn’t 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)
|
||
# }
|
||
``` |