terraform-provider-stackgen

sg_teams_connection (Resource)

⚠️ Experimental — Manages the dedicated Guild Microsoft Teams tenant connection for the provider workspace_id. Requires a workspace scope. Entra tenants can be connected to multiple workspaces, but Teams channel claims are exclusive to one workspace. Does not manage sg_guild_platform; do not also configure Teams through that resource for the same workspace. Creation refuses an existing connection instead of adopting or overwriting it. A 409 (tenant/channel claim conflict) is never adopted. The password is write-only and retained in sensitive Terraform state. Import is not supported because Guild does not return the password; disconnect an existing connection deliberately before managing it here.

Example Usage

# Set provider workspace_id to the target workspace. Register an Azure Bot
# with these Entra tenant and Microsoft App IDs before connecting it to Guild.
# Do not also manage Teams for this workspace with sg_guild_platform.
# WARNING: The write-only app_password stays in sensitive Terraform state;
# supply it from a secure variable source and protect the state backend.
resource "sg_teams_connection" "example" {
  tenant_id    = "11111111-1111-4111-8111-111111111111" # placeholder Entra tenant UUID
  app_id       = "22222222-2222-4222-8222-222222222222" # placeholder Azure Bot App ID
  app_password = var.teams_bot_password
}

variable "teams_bot_password" {
  description = "Placeholder Azure Bot client secret; supply securely, never in version control."
  type        = string
  sensitive   = true
}

# Configure the Azure Bot messaging endpoint with sg_teams_connection.example.event_url.
# A conflicting/existing connection is not adopted; importing the write-only password is unsupported.

Import

Not supported. Guild never returns the Azure Bot password, so an imported connection cannot be fully reconstructed. Use one managing configuration per workspace; disconnect an existing connection deliberately before creating this resource.

Operational notes

Unlike sg_guild_platform, this resource manages the workspace’s dedicated Teams tenant connection and Azure Bot credentials. A tenant can serve multiple workspaces, but channel claims remain exclusive. workspace_id is required; a different existing connection is never silently adopted. The app password remains in Terraform state even though Guild never returns it.

Schema

Required

Read-Only