Skip to content

rhythmictech/terraform-pagerduty-rhythmic-awsmanaged

Repository files navigation

terraform-pagerduty-rhythmic-awsmanaged

tflint trivy yamllint misspell pre-commit-check follow on Twitter

Configures PagerDuty for a customer with AWS Managed Services.

Suppression rules allow for PagerDuty Event Orchestration to automatically silence specified patterns, including optionally for a specified time range.

Requirements

  • PagerDuty provider
  • PagerDuty API key

Requirements

Name Version
pagerduty ~> 3.17

Providers

Name Version
aws n/a
pagerduty 3.15.1

Modules

No modules.

Resources

Name Type
pagerduty_business_service.aws resource
pagerduty_event_orchestration_service.account_rules resource
pagerduty_event_orchestration_service.compliance_rules resource
pagerduty_event_orchestration_service.cost_rules resource
pagerduty_event_orchestration_service.security_rules resource
pagerduty_jira_cloud_account_mapping_rule.account resource
pagerduty_jira_cloud_account_mapping_rule.compliance resource
pagerduty_jira_cloud_account_mapping_rule.cost resource
pagerduty_jira_cloud_account_mapping_rule.security resource
pagerduty_service.account resource
pagerduty_service.compliance resource
pagerduty_service.cost resource
pagerduty_service.security resource
pagerduty_service_dependency.account resource
pagerduty_service_dependency.aws resource
pagerduty_service_dependency.compliance resource
pagerduty_service_dependency.cost resource
pagerduty_service_dependency.security resource
pagerduty_service_integration.account resource
pagerduty_service_integration.compliance resource
pagerduty_service_integration.cost resource
pagerduty_service_integration.security resource
pagerduty_slack_connection.account resource
pagerduty_slack_connection.compliance resource
pagerduty_slack_connection.cost resource
pagerduty_slack_connection.security resource
aws_ssm_parameter.jira_account_create_issue_on_incident_trigger data source
aws_ssm_parameter.jira_account_custom_fixed_fields data source
aws_ssm_parameter.jira_account_custom_jira_fields data source
aws_ssm_parameter.jira_account_issue_type_id data source
aws_ssm_parameter.jira_account_issue_type_name data source
aws_ssm_parameter.jira_account_mapping_name data source
aws_ssm_parameter.jira_account_project_id data source
aws_ssm_parameter.jira_account_project_key data source
aws_ssm_parameter.jira_account_project_name data source
aws_ssm_parameter.jira_account_sync_notes_user data source
aws_ssm_parameter.jira_compliance_create_issue_on_incident_trigger data source
aws_ssm_parameter.jira_compliance_custom_fixed_fields data source
aws_ssm_parameter.jira_compliance_custom_jira_fields data source
aws_ssm_parameter.jira_compliance_issue_type_id data source
aws_ssm_parameter.jira_compliance_issue_type_name data source
aws_ssm_parameter.jira_compliance_mapping_name data source
aws_ssm_parameter.jira_compliance_project_id data source
aws_ssm_parameter.jira_compliance_project_key data source
aws_ssm_parameter.jira_compliance_project_name data source
aws_ssm_parameter.jira_compliance_sync_notes_user data source
aws_ssm_parameter.jira_cost_create_issue_on_incident_trigger data source
aws_ssm_parameter.jira_cost_custom_fixed_fields data source
aws_ssm_parameter.jira_cost_custom_jira_fields data source
aws_ssm_parameter.jira_cost_issue_type_id data source
aws_ssm_parameter.jira_cost_issue_type_name data source
aws_ssm_parameter.jira_cost_mapping_name data source
aws_ssm_parameter.jira_cost_project_id data source
aws_ssm_parameter.jira_cost_project_key data source
aws_ssm_parameter.jira_cost_project_name data source
aws_ssm_parameter.jira_cost_sync_notes_user data source
aws_ssm_parameter.jira_security_create_issue_on_incident_trigger data source
aws_ssm_parameter.jira_security_custom_fixed_fields data source
aws_ssm_parameter.jira_security_custom_jira_fields data source
aws_ssm_parameter.jira_security_issue_type_id data source
aws_ssm_parameter.jira_security_issue_type_name data source
aws_ssm_parameter.jira_security_mapping_name data source
aws_ssm_parameter.jira_security_project_id data source
aws_ssm_parameter.jira_security_project_key data source
aws_ssm_parameter.jira_security_project_name data source
aws_ssm_parameter.jira_security_sync_notes_user data source
pagerduty_business_service.customer data source
pagerduty_escalation_policy.account data source
pagerduty_escalation_policy.compliance data source
pagerduty_escalation_policy.cost data source
pagerduty_escalation_policy.security data source
pagerduty_extension_schema.jira data source
pagerduty_jira_cloud_account_mapping.account data source
pagerduty_jira_cloud_account_mapping.compliance data source
pagerduty_jira_cloud_account_mapping.cost data source
pagerduty_jira_cloud_account_mapping.security data source
pagerduty_priority.p1 data source
pagerduty_priority.p2 data source
pagerduty_priority.p3 data source
pagerduty_priority.p4 data source
pagerduty_priority.p5 data source
pagerduty_team.customer_success data source
pagerduty_user.account_user data source
pagerduty_user.compliance_user data source
pagerduty_user.cost_user data source
pagerduty_user.security_user data source
pagerduty_vendor.datadog data source

Inputs

Name Description Type Default Required
account_default_suppression_rules Default event suppression rules (override to an empty list to disable)
list(object({
label = string
condition = string
}))
[
{
"condition": "event.custom_details.body matches part 'This is to notify you that AWS Certificate Manager (ACM) has completed the renewal of an SSL/TLS certificate'",
"label": "ACM certificate renewal successful"
},
{
"condition": "event.custom_details.body matches part 'AWS_CLOUDSHELL_PERSISTENCE_EXPIRING'",
"label": "CloudShell home directory inactivity"
},
{
"condition": "event.custom_details.log_sample matches part 'Connectivity on the second tunnel was not affected during this time' or event.custom_details.body matches part 'Connectivity on the second tunnel was not affected during this time'",
"label": "VPN Connectivity (no redundancy lost)"
}
]
no
account_jira_integration_profile The Jira integration profile string "NOC" no
account_suppression_rules Event suppression rules (uses PagerDuty event orchestration, merged with account_default_suppression_rules)
list(object({
label = string
condition = string
}))
[] no
account_timebound_suppression_rules Timebound event suppression rules (uses PagerDuty event orchestration)
list(object({
label = string
condition = string
start_time = string
end_time = string
}))
[] no
awsorg_name AWS Organization Name (can be nickname or formal name) string n/a yes
compliance_default_suppression_rules Default event suppression rules (override to an empty list to disable)
list(object({
label = string
condition = string
}))
[] no
compliance_jira_integration_profile The Jira integration profile string "NOC" no
compliance_suppression_rules Event suppression rules (uses PagerDuty event orchestration, merged with compliance_default_suppression_rules)
list(object({
label = string
condition = string
}))
[] no
compliance_timebound_suppression_rules Timebound event suppression rules (uses PagerDuty event orchestration)
list(object({
label = string
condition = string
start_time = string
end_time = string
}))
[] no
cost_default_suppression_rules Default event suppression rules (override to an empty list to disable)
list(object({
label = string
condition = string
}))
[] no
cost_jira_integration_profile The Jira integration profile string "NOC" no
cost_suppression_rules Event suppression rules (uses PagerDuty event orchestration, merged with cost_default_suppression_rules)
list(object({
label = string
condition = string
}))
[] no
cost_timebound_suppression_rules Timebound event suppression rules (uses PagerDuty event orchestration)
list(object({
label = string
condition = string
start_time = string # Format "2024-03-00 00:00:00 Etc/UTC"
end_time = string # Format "2024-03-00 00:00:00 Etc/UTC"
}))
[] no
customer_name Customer Name string n/a yes
jira_organization_id Organization ID for Jira integration string n/a yes
security_default_suppression_rules Default event suppression rules (override to an empty list to disable)
list(object({
label = string
condition = string
}))
[] no
security_jira_integration_profile The Jira integration profile string "NOC" no
security_suppression_rules Event suppression rules (uses PagerDuty event orchestration, merged with security_default_suppression_rules)
list(object({
label = string
condition = string
}))
[] no
security_timebound_suppression_rules Timebound event suppression rules (uses PagerDuty event orchestration)
list(object({
label = string
condition = string
start_time = string # Format "2024-03-00 00:00:00 Etc/UTC"
end_time = string # Format "2024-03-00 00:00:00 Etc/UTC"
}))
[] no
slack_compliance_team_channel The Slack channel ID for the compliance team string null no
slack_customer_success_team_channel The Slack channel ID for the customer success team string null no
slack_security_team_channel The Slack channel ID for the security team string null no
slack_workspace_id The Slack workspace ID string null no

Outputs

Name Description
account_datadog_integration_key PagerDuty Datadog Integration for account notifications
account_datadog_mention PagerDuty Service Mention with proper formatting
account_service_id PagerDuty service ID for account notifications
account_service_name PagerDuty service name for account notifications
compliance_datadog_integration_key PagerDuty Datadog Integration for compliance notifications
compliance_datadog_mention PagerDuty Service Mention with proper formatting
compliance_service_id PagerDuty service ID for compliance notifications
compliance_service_name PagerDuty service name for compliance notifications
cost_datadog_integration_key PagerDuty Datadog Integration for cost notifications
cost_datadog_mention PagerDuty Service Mention with proper formatting
cost_service_id PagerDuty service ID for cost notifications
cost_service_name PagerDuty service name for cost notifications
datadog_integrations All PagerDuty Datadog integrations
pagerduty_services All PagerDuty services
security_datadog_integration_key PagerDuty Datadog Integration for security notifications
security_datadog_mention PagerDuty Service Mention with proper formatting
security_service_id PagerDuty service ID for security notifications
security_service_name PagerDuty service name for security notifications