Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

Latest commit

 

History

History
121 lines (87 loc) · 3.83 KB

README.md

File metadata and controls

121 lines (87 loc) · 3.83 KB

terraform-provider-graylog

terraform provider for Graylog.

Install

Download binary and install it.

https://www.terraform.io/docs/configuration/providers.html#third-party-plugins

Docker Image

https://quay.io/repository/suzuki_shunsuke/terraform-graylog

Docker image which is installed terraform and terraform-provider-graylog on Alpine.

Example

provider "graylog" {
  web_endpoint_uri = "${var.web_endpoint_uri}"
  auth_name = "${var.auth_name}"
  auth_password = "${var.auth_password}"
}

// Role my-role-2
resource "graylog_role" "my-role-2" {
  name = "my-role-2"
  permissions = ["users:edit"]
  description = "Created by terraform"
}

And please see example v0.11 and example v0.12 also.

Variables

Required

name Environment variable description
web_endpoint_uri GRAYLOG_WEB_ENDPOINT_URI API endpoint, for example https://graylog.example.com/api
auth_name GRAYLOG_AUTH_NAME Username or API token or Session Token
auth_password GRAYLOG_AUTH_PASSWORD Password or the literal "token" or "session"

About auth_name and auth_password, please see the Graylog's Documentation.

You can authenticate with either password or access token or session token.

password

auth_name = "<user name>"
auth_password = "<password>"

access token

auth_name = "<access token>"
auth_password = "token"

session token

auth_name = "<session token>"
auth_password = "session"

Optional

name Environment variable default description
x_requested_by GRAYLOG_X_REQUESTED_BY terraform-go-graylog X-Requested-By Header
api_version GRAYLOG_API_VERSION "v2" Graylog's API version. The default value is "v2" for compatibility. If you use Graylog v3, please set "v3".

Resources

Data sources

Unsupported resources

We can't support these resources for some reasons.

CollectorConfiguration (includes input, output snippet)

We can't support these resources because graylog API doesn't return the created resource id (response body: no content).

The following APIs doesn't return the created resource id (response body: no content).

  • POST /plugins/org.graylog.plugins.collector/configurations/{id}/inputs Create a configuration input
  • POST /plugins/org.graylog.plugins.collector/configurations/{id}/outputs Create a configuration output
  • POST /plugins/org.graylog.plugins.collector/configurations/{id}/snippets Create a configuration snippet