Terraform provider for Sentry.
See the the Provider Configuration page of the Terraform documentation for instructions.
Pre-compiled binaries are available from the Releases page.
# Configure the Sentry Provider
provider "sentry" {
token = "${var.sentry_token}"
base_url = "${var.sentry_base_url}"
}
The following arguments are supported:
token
- (Required) This is the Sentry authentication token. The value can be sourced from theSENTRY_TOKEN
environment variable.base_url
- (Optional) This is the target Sentry base API endpoint. The default value ishttps://app.getsentry.com/api/
. The value must be provided when working with Sentry On-Premise. The value can be sourced from theSENTRY_BASE_URL
environment variable.
# Create an organization
resource "sentry_organization" "default" {
name = "My Organization"
slug = "my-organization"
agree_terms = true
}
The following arguments are supported:
name
- (Required) The human readable name for the organization.slug
- (Optional) The unique URL slug for this organization. If this is not provided a slug is automatically generated based on the name.agree_terms
- (Required) You agree to the applicable terms of service and privacy policy.
The following attributes are exported:
id
- The ID of the created organization.
# Create a team
resource "sentry_team" "default" {
organization = "my-organization"
name = "My Team"
slug = "my-team"
}
The following arguments are supported:
organization
- (Required) The slug of the organization the team should be created for.name
- (Required) The human readable name for the team.slug
- (Optional) The unique URL slug for this team. If this is not provided a slug is automatically generated based on the name.
The following attributes are exported:
id
- The ID of the created team.
# Create a project
resource "sentry_project" "default" {
organization = "my-organization"
team = "my-team"
name = "Web App"
slug = "web-app"
}
The following arguments are supported:
organization
- (Required) The slug of the organization the project should be created for.team
- (Required) The slug of the team the project should be created for.name
- (Required) The human readable name for the project.slug
- (Optional) The unique URL slug for this project. If this is not provided a slug is automatically generated based on the name.
The following attributes are exported:
id
- The ID of the created project.
# Create a plugin
resource "sentry_plugin" "default" {
organization = "my-organization"
project = "web-app"
plugin = "slack"
config = {
webhook = "slack://webhook"
}
}
The following arguments are supported:
organization
- (Required) The slug of the organization the plugin should be enabled for.project
- (Required) The slug of the project the plugin should be enabled for.plugin
- (Required) Identifier of the plugin.config
- (Optional) Configuration of the plugin.
The following attributes are exported:
id
- The ID of the created plugin.
You can import existing resources using the terraform import
command.
To import an organization:
$ terraform import sentry_organization.default org-slug
To import a team:
$ terraform import sentry_team.default org-slug/team-slug
To import a project:
$ terraform import sentry_project.default org-slug/project-slug`