Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hazelops/terraform-pagerduty-service


https://github.com/hazelops/terraform-pagerduty-service

Last synced: 19 days ago
JSON representation

Awesome Lists containing this project

README

        

# Terraform Pagerduty Service

Terraform module that creates service integration in Pagerduty

## Description

This module provides settings:

- Create service integration in Pagerduty

## Usage

### Miminal setup

```hcl
provider "pagerduty" {
token = "Pagerduty_Token"
}
module "pagerduty_service" {
source = "[email protected]:hazelops/terraform-pagerduty-service.git"
escalation_policy = module.pagerduty_escalation.id
service_name = ""
}

```

### Full setup

```hcl
provider "pagerduty" {
token = "Pagerduty_Token"
}
module "pagerduty_service" {
source = "[email protected]:hazelops/terraform-pagerduty-service.git"
enabled = true
acknowledgement_timeout = 10
alert_creation = "create_alerts_and_incidents"
escalation_policy = module.pagerduty_escalation.id
service_integration_name = "Datadog"
service_name = ""
}
```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.12 |

## Providers

| Name | Version |
|------|---------|
| [pagerduty](#provider\_pagerduty) | n/a |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [pagerduty_service.this](https://registry.terraform.io/providers/pagerduty/pagerduty/latest/docs/resources/service) | resource |
| [pagerduty_service_integration.this](https://registry.terraform.io/providers/pagerduty/pagerduty/latest/docs/resources/service_integration) | resource |
| [pagerduty_vendor.this](https://registry.terraform.io/providers/pagerduty/pagerduty/latest/docs/data-sources/vendor) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [acknowledgement\_timeout](#input\_acknowledgement\_timeout) | Time in seconds that an incident changes to the Triggered State after being Acknowledged. Disabled if set to the 'null' string. | `number` | `14400` | no |
| [alert\_creation](#input\_alert\_creation) | Must be one of two values. PagerDuty receives events from your monitoring systems and can then create incidents in different ways. Value 'create\_incidents' is default: events will create an incident that cannot be merged. Value 'create\_alerts\_and\_incidents' is the alternative: events will create an alert and then add it to a new incident, these incidents can be merged. | `string` | `"create_alerts_and_incidents"` | no |
| [auto\_resolve\_timeout](#input\_auto\_resolve\_timeout) | Time in seconds that an incident is automatically resolved if left open for that long. Disabled if set to the 'null' string. | `number` | `14400` | no |
| [enabled](#input\_enabled) | Gives ability to enable or disable a module | `bool` | `true` | no |
| [escalation\_policy](#input\_escalation\_policy) | The escalation policy used by this service. | `any` | n/a | yes |
| [service\_integration\_name](#input\_service\_integration\_name) | The name of the service integration (Datadog or Cloudwatch). This will be used in 'pagerduty\_vendor'. | `string` | `"Amazon CloudWatch"` | no |
| [service\_name](#input\_service\_name) | Name of service. Make it meaningful | `any` | n/a | yes |

## Outputs

| Name | Description |
|------|-------------|
| [service\_id](#output\_service\_id) | n/a |
| [service\_integration\_id](#output\_service\_integration\_id) | n/a |
| [service\_integration\_key](#output\_service\_integration\_key) | n/a |

## Pagerduty settings
Here's a guide on how to set up the correct display of alarms name in Pagerduty
![](./Alarms.svg)

### Terraform Module Registry

![Hazelops logo](https://avatars0.githubusercontent.com/u/63737915?s=25&v=4) [Terraform Pagerduty Service
](https://registry.terraform.io/modules/hazelops/service/pagerduty/latest)