https://github.com/zapier/terraform-provider-opslevel
Terraform provider for OpsLevel.com
https://github.com/zapier/terraform-provider-opslevel
opslevel terraform terraform-provider
Last synced: 25 days ago
JSON representation
Terraform provider for OpsLevel.com
- Host: GitHub
- URL: https://github.com/zapier/terraform-provider-opslevel
- Owner: zapier
- License: mit
- Created: 2021-05-12T07:34:21.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2022-08-07T20:02:38.000Z (almost 4 years ago)
- Last Synced: 2025-01-26T11:08:34.167Z (over 1 year ago)
- Topics: opslevel, terraform, terraform-provider
- Language: Go
- Homepage: https://registry.terraform.io/providers/zapier/opslevel/latest
- Size: 131 KB
- Stars: 1
- Watchers: 12
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NOTICE
> OpsLevel now has an officially supported [terraform provider](https://registry.terraform.io/providers/OpsLevel/opslevel/latest/docs) and as such would like to direct you to begin using it over this one. OpsLevel would like to thank Zapier for beginning this terraform provider as it provided a great jumping off point!
---
# terraform-provider-opslevel
Terraform Provider for OpsLevel.com
## Requirements
- [Terraform](https://www.terraform.io/downloads.html) >= 0.15.x
- [Go](https://golang.org/doc/install) >= 1.16
## Example
```hcl
terraform {
required_providers {
opslevel = {
source = "zapier/opslevel"
}
}
}
provider "opslevel" {
# token = "eyJhbGciOi..." // or environment variable OPSLEVEL_TOKEN
}
```
### Create a service
```hcl
resource "opslevel_service" "foo" {
name = "foo"
description = "foo service"
framework = "rails"
language = "ruby"
aliases = [
"bar"
]
tags = {
foo = "bar"
}
}
```
### Read and filter on Services
```terraform
# read a single service by `alias` or `id`
data "opslevel_services" "foo" {
filter {
field = "alias"
value = opslevel_service.foo.aliases.0
}
}
# retrieve several services matching framework
data "opslevel_services" "django" {
filter {
field = "framework"
value = "django"
}
}
# retrieve several services matching tag
data "opslevel_services" "production" {
filter {
field = "tag"
value = "production:true"
}
}
```
### Read Teams from OpsLevel
```terraform
data "opslevel_teams" "all" {}
output "all_teams" {
value = data.opslevel_teams.all.teams
}
```
## Building The Provider
1. Clone the repository
1. Enter the repository directory
1. Build the provider using the Go `install` command:
```sh
$ go install
```