diff --git a/docs/index.md b/docs/index.md index c3d90bac..7b3eeb1a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -24,7 +24,7 @@ The Nobl9 Provider delivers tools working with the Nobl9 API to create and manag The Nobl9 Terraform Provider does not support the configuration of the following resources: - [SLO Annotations](https://docs.nobl9.com/features/slo-annotations/) -- [Alert Silence](https://docs.nobl9.com/Alerting/Alert_silence/) +- [Alert Silence](https://docs.nobl9.com/alerting/alert-silence/) ## Configuration diff --git a/docs/resources/agent.md b/docs/resources/agent.md index 9b590955..fd016bdd 100644 --- a/docs/resources/agent.md +++ b/docs/resources/agent.md @@ -1,7 +1,7 @@ --- page_title: "nobl9_agent Resource - terraform-provider-nobl9" description: |- - Agent configuration | Nobl9 Documentation https://docs.nobl9.com/nobl9_agent + Agent configuration | Nobl9 Documentation https://docs.nobl9.com/nobl9-agent/ --- # nobl9_agent (Resource) @@ -10,7 +10,7 @@ The Agent is a lightweight application that executes the queries defined for you The Agent then sends your SLI metrics back to Nobl9 for processing and error budget calculation. -For more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent) +For more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9-agent/) ## Example Usage diff --git a/docs/resources/alert_method_discord.md b/docs/resources/alert_method_discord.md index 6cee57a0..8d7ffbaf 100644 --- a/docs/resources/alert_method_discord.md +++ b/docs/resources/alert_method_discord.md @@ -2,14 +2,14 @@ page_title: "nobl9_alert_method_discord Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - Discord Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/discord + Discord Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/discord --- # nobl9_alert_method_discord (Resource) The **Discord Alert Method** enables sending alerts through Discord to notify Nobl9 users whenever an incident is triggered. -For more details, refer to [Discord Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/discord). +For more details, refer to [Discord Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/discord). ## Example Usage @@ -45,6 +45,6 @@ resource "nobl9_alert_method_discord" "this" { ## Useful Links -[Discord alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/discord/) +[Discord alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/discord/) [Intro to webhooks | Discord Documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) \ No newline at end of file diff --git a/docs/resources/alert_method_email.md b/docs/resources/alert_method_email.md index 4637251d..6c29148a 100644 --- a/docs/resources/alert_method_email.md +++ b/docs/resources/alert_method_email.md @@ -2,14 +2,14 @@ page_title: "nobl9_alert_method_email Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - Email Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/email-alert + Email Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/email-alert --- # nobl9_alert_method_email (Resource) The **Email Alert Method** enables sending automated and customized alert messages to up to 30 different inboxes per alert to notify Nobl9 users whenever an incident is triggered. -For more details, refer to [Email Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert). +For more details, refer to [Email Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/email-alert). ## Example Usage @@ -51,4 +51,4 @@ resource "nobl9_alert_method_email" "this" { ## Useful links -[Email alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert) \ No newline at end of file +[Email alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/email-alert) \ No newline at end of file diff --git a/docs/resources/alert_method_jira.md b/docs/resources/alert_method_jira.md index 55e395a8..bd8d233f 100644 --- a/docs/resources/alert_method_jira.md +++ b/docs/resources/alert_method_jira.md @@ -2,14 +2,14 @@ page_title: "nobl9_alert_method_jira Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - Jira Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/jira + Jira Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/jira --- # nobl9_alert_method_jira (Resource) The **Jira Alert Method** automatically opens a Jira issue to notify you whenever an incident is triggered. -For more details, refer to [Jira Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/jira). +For more details, refer to [Jira Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/jira). ## Example Usage @@ -51,6 +51,6 @@ resource "nobl9_alert_method_jira" "this" { ## Useful Links -[Jira alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/jira/) +[Jira alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/jira/) [Atlassian Accounts Documentation](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) \ No newline at end of file diff --git a/docs/resources/alert_method_msteams.md b/docs/resources/alert_method_msteams.md index 08469d36..8134fda1 100644 --- a/docs/resources/alert_method_msteams.md +++ b/docs/resources/alert_method_msteams.md @@ -2,14 +2,14 @@ page_title: "nobl9_alert_method_msteams Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - MS Teams Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/ms-teams + MS Teams Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/ms-teams --- # nobl9_alert_method_msteams (Resource) The **MS Teams Alert Method** enables sending alerts through MS Teams to notify Nobl9 users whenever an incident is triggered. -For more details, refer to [MS Teams Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/ms-teams). +For more details, refer to [MS Teams Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/ms-teams). ## Example Usage @@ -45,6 +45,6 @@ resource "nobl9_alert_method_msteams" "this" { ## Useful Links -[MS Teams alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/msteams/) +[MS Teams alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/msteams/) [MS Teams webhooks | MS Teams Documentation](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) \ No newline at end of file diff --git a/docs/resources/alert_method_opsgenie.md b/docs/resources/alert_method_opsgenie.md index 8ef7b31a..b3fd8bd2 100644 --- a/docs/resources/alert_method_opsgenie.md +++ b/docs/resources/alert_method_opsgenie.md @@ -2,14 +2,14 @@ page_title: "nobl9_alert_method_opsgenie Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - OpsGenie Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/opsgenie + OpsGenie Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/opsgenie --- # nobl9_alert_method_opsgenie (Resource) The **OpsGenie Alert Method** enables triggering alerts through OpsGenie to notify whenever an incident is triggered. -For more details, refer to [OpsGenie Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie). +For more details, refer to [OpsGenie Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie). ## Example Usage @@ -33,11 +33,11 @@ resource "nobl9_alert_method_opsgenie" "this" { - `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). -- `url` (String) Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. +- `url` (String) Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie#creating-opsgenie-api-key) for more details. ### Optional -- `auth` (String, Sensitive) Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. +- `auth` (String, Sensitive) Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie#authentication) for supported formats. - `description` (String) Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. - `display_name` (String) User-friendly display name of the resource. @@ -47,4 +47,4 @@ resource "nobl9_alert_method_opsgenie" "this" { ## Useful Links -[OpsGenie alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie/) \ No newline at end of file +[OpsGenie alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie/) \ No newline at end of file diff --git a/docs/resources/alert_method_pagerduty.md b/docs/resources/alert_method_pagerduty.md index 99d2f746..61f78c3f 100644 --- a/docs/resources/alert_method_pagerduty.md +++ b/docs/resources/alert_method_pagerduty.md @@ -2,14 +2,14 @@ page_title: "nobl9_alert_method_pagerduty Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - PagerDuty Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/pagerduty + PagerDuty Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/pagerduty --- # nobl9_alert_method_pagerduty (Resource) The **PagerDuty Alert Method** enables triggering alerts through PagerDuty to notify Nobl9 users whenever an incident is triggered. -For more details, refer to [PagerDuty Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/pagerduty). +For more details, refer to [PagerDuty Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/pagerduty). ## Example Usage @@ -56,4 +56,4 @@ Optional: ## Useful Links -[PagerDuty alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/pagerduty/) \ No newline at end of file +[PagerDuty alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/pagerduty/) \ No newline at end of file diff --git a/docs/resources/alert_method_servicenow.md b/docs/resources/alert_method_servicenow.md index 51e9149b..6a949c82 100644 --- a/docs/resources/alert_method_servicenow.md +++ b/docs/resources/alert_method_servicenow.md @@ -2,16 +2,16 @@ page_title: "nobl9_alert_method_servicenow Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - ServiceNow Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/servicenow + ServiceNow Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/servicenow --- # nobl9_alert_method_servicenow (Resource) The **ServiceNow Alert Method** automatically opens an issue in your ServiceNow workflow to notify you whenever an incident is triggered. --> **NOTE** To allow ServiceNow alerts to integrate with Nobl9, you need to set up an Access Control List (ACL) for your ServiceNow users. Refer to [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow) for more details. +-> **NOTE** To allow ServiceNow alerts to integrate with Nobl9, you need to set up an Access Control List (ACL) for your ServiceNow users. Refer to [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow) for more details. -For more details, refer to [ServiceNow Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow). +For more details, refer to [ServiceNow Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow). ## Example Usage @@ -34,7 +34,7 @@ resource "nobl9_alert_method_servicenow" "this" { ### Required -- `instance_name` (String) ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). +- `instance_name` (String) ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow#servicenow-credentials). - `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - `username` (String) ServiceNow username. @@ -51,4 +51,4 @@ resource "nobl9_alert_method_servicenow" "this" { ## Useful Links -[ServiceNow alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow/) \ No newline at end of file +[ServiceNow alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow/) \ No newline at end of file diff --git a/docs/resources/alert_method_slack.md b/docs/resources/alert_method_slack.md index 471b8e45..5b325a0c 100644 --- a/docs/resources/alert_method_slack.md +++ b/docs/resources/alert_method_slack.md @@ -2,7 +2,7 @@ page_title: "nobl9_alert_method_slack Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - Slack Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/slack + Slack Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/slack --- # nobl9_alert_method_slack (Resource) @@ -11,7 +11,7 @@ The **Slack Alert Method** allows sending a predefined notification through Slac -> **NOTE** To set up the Slack integration, you'll need to provide an Incoming Webhook URL. This allows Slack to send an automated notification to a channel of your choice. For details, see the [Slack documentation](https://api.slack.com/messaging/webhooks#enable_webhooks). -For more details, refer to [Slack Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/slack). +For more details, refer to [Slack Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/slack). ## Example Usage @@ -47,4 +47,4 @@ resource "nobl9_alert_method_slack" "this" { ## Useful links -[Slack alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/slack/) \ No newline at end of file +[Slack alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/slack/) \ No newline at end of file diff --git a/docs/resources/alert_method_webhook.md b/docs/resources/alert_method_webhook.md index 8d4beb25..6f40a61f 100644 --- a/docs/resources/alert_method_webhook.md +++ b/docs/resources/alert_method_webhook.md @@ -2,16 +2,16 @@ page_title: "nobl9_alert_method_webhook Resource - terraform-provider-nobl9" subcategory: "Alert Methods" description: |- - Webhook Alert Method | Nobl9 Documentation https://docs.nobl9.com/Alerting/Alert_methods/webhook + Webhook Alert Method | Nobl9 Documentation https://docs.nobl9.com/alerting/alert-methods/webhook --- # nobl9_alert_method_webhook (Resource) The **Webhook Alert Method** enables sending alerts through an HTTP callback handler that is triggered by an event. You can create webhooks and configure them to handle different incident notifications, using either custom or predefined notification templates. --> **NOTE** For details on how to use Webhook message templates, check the [Nobl9 documentation](https://docs.nobl9.com/Alerting/webhook#creating-webhook-custom-templates-through-yaml). +-> **NOTE** For details on how to use Webhook message templates, check the [Nobl9 documentation](https://docs.nobl9.com/alerting/webhook#creating-webhook-custom-templates-through-yaml). -For more details, refer to [Webhook Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/webhook). +For more details, refer to [Webhook Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/webhook). ## Example Usage @@ -67,4 +67,4 @@ resource "nobl9_alert_method_webhook" "this" { ## Useful Links -[Webhook alerts documentation | Nobl9 Documentation](https://docs.nobl9.com/Alerting/webhook/) \ No newline at end of file +[Webhook alerts documentation | Nobl9 Documentation](https://docs.nobl9.com/alerting/webhook/) \ No newline at end of file diff --git a/docs/resources/direct_azure_monitor.md b/docs/resources/direct_azure_monitor.md index 7cc6ebf1..7548eb07 100644 --- a/docs/resources/direct_azure_monitor.md +++ b/docs/resources/direct_azure_monitor.md @@ -1,20 +1,105 @@ --- -page_title: "Resources" +page_title: "nobl9_direct_azure_monitor Resource - terraform-provider-nobl9" description: |- - The Nobl9 provider provides utilities for working with Nobl9 API. + Azure Monitor Direct | Nobl9 Documentation https://docs.nobl9.com/Sources/azure-monitor#azure-monitor-direct --- -# NOBL9 Provider +# nobl9_direct_azure_monitor (Resource) -There are many types of resources in the Nobl9 platform, which you can configure via: -- UI (https://app.nobl9.com) -- [sloctl](https://docs.nobl9.com/sloctl-user-guide/) -- Nobl9 Terraform Provider +Azure Monitor is a comprehensive monitoring solution for collecting, analyzing, and responding to monitoring data from your cloud and on-premises environments. Nobl9 connects to Azure Monitor for SLI measurement collection and comparison with SLO targets. -## Unsupported Resources +For more information, refer to [Azure Monitor Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/azure-monitor#azure-monitor-direct) -There are couple of resources that cannot be configured using Terraform Provider. -Their creation and management are limited to sloctl/UI. -This is the list that are not supported in this provider: -- [SLO Annotations](https://docs.nobl9.com/features/slo-annotations/) -- Alert Silences +## Example Usage + +```terraform +resource "nobl9_direct_azure_monitor" "test-azure-monitor" { + name = "test-azure-monitor" + project = "terraform" + description = "desc" + tenant_id = "45e4c1ed-5b6b-4555-a693-6ab7f15f3d6e" + client_id = "secret" + client_secret = "secret" + log_collection_enabled = true + release_channel = "beta" + historical_data_retrieval { + default_duration { + unit = "Day" + value = 0 + } + max_duration { + unit = "Day" + value = 30 + } + } + query_delay { + unit = "Minute" + value = 6 + } +} +``` + + +## Schema + +### Required + +- `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +- `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +- `tenant_id` (String) [required] | Azure Tenant ID. + +### Optional + +- `client_id` (String, Sensitive) [required] | Azure Application (client) ID. +- `client_secret` (String, Sensitive) [required] | Azure Application (client) Secret. +- `description` (String) Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +- `display_name` (String) User-friendly display name of the resource. +- `historical_data_retrieval` (Block List, Max: 1) [Replay configuration documentation](https://docs.nobl9.com/replay) (see [below for nested schema](#nestedblock--historical_data_retrieval)) +- `log_collection_enabled` (Boolean) [Logs documentation](https://docs.nobl9.com/features/slo-troubleshooting/event-logs) +- `query_delay` (Block Set, Max: 1) [Query delay configuration documentation](https://docs.nobl9.com/features/query-delay). Computed if not provided. (see [below for nested schema](#nestedblock--query_delay)) +- `release_channel` (String) Release channel of the created data source [stable/beta] +- `source_of` (List of String, Deprecated) This value indicated whether the field was a source of metrics and/or services. 'source_of' is deprecated and not used anywhere; however, it's kept for backward compatibility. + +### Read-Only + +- `id` (String) The ID of this resource. +- `status` (String) The status of the created direct. + + +### Nested Schema for `historical_data_retrieval` + +Required: + +- `default_duration` (Block List, Min: 1) Used by default for any SLOs connected to this data source. (see [below for nested schema](#nestedblock--historical_data_retrieval--default_duration)) +- `max_duration` (Block List, Min: 1) Defines the maximum period for which data can be retrieved. (see [below for nested schema](#nestedblock--historical_data_retrieval--max_duration)) + + +### Nested Schema for `historical_data_retrieval.default_duration` + +Required: + +- `unit` (String) Must be one of Minute, Hour, or Day. +- `value` (Number) Must be an integer greater than or equal to 0. + + + +### Nested Schema for `historical_data_retrieval.max_duration` + +Required: + +- `unit` (String) Must be one of Minute, Hour, or Day. +- `value` (Number) Must be an integer greater than or equal to 0. + + + + +### Nested Schema for `query_delay` + +Required: + +- `unit` (String) Must be one of Minute or Second. +- `value` (Number) Must be an integer greater than or equal to 0. + +## Nobl9 Official Documentation + +https://docs.nobl9.com/ \ No newline at end of file diff --git a/docs/resources/direct_honeycomb.md b/docs/resources/direct_honeycomb.md index cda69625..aa678183 100644 --- a/docs/resources/direct_honeycomb.md +++ b/docs/resources/direct_honeycomb.md @@ -1,14 +1,14 @@ --- page_title: "nobl9_direct_honeycomb Resource - terraform-provider-nobl9" description: |- - Honeycomb Direct | Nobl9 Documentation https://docs.nobl9.com/Sources/honeycomb#hc-direct. + Honeycomb Direct | Nobl9 Documentation https://docs.nobl9.com/Sources/honeycomb-integration/#hc-direct. --- # nobl9_direct_honeycomb (Resource) Honeycomb is an observability platform that integrates system metrics with high-cardinality application data for in-depth analysis and swift debugging of complex software systems. Nobl9 connects to Honeycomb for SLI measurement collection and comparison with SLO targets. -For more information, refer to [Honeycomb Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/honeycomb#hc-direct). +For more information, refer to [Honeycomb Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/honeycomb-integration/#hc-direct). ## Example Usage diff --git a/examples/resources/nobl9_direct_azure_monitor/resource.tf b/examples/resources/nobl9_direct_azure_monitor/resource.tf new file mode 100644 index 00000000..367da538 --- /dev/null +++ b/examples/resources/nobl9_direct_azure_monitor/resource.tf @@ -0,0 +1,24 @@ +resource "nobl9_direct_azure_monitor" "test-azure-monitor" { + name = "test-azure-monitor" + project = "terraform" + description = "desc" + tenant_id = "45e4c1ed-5b6b-4555-a693-6ab7f15f3d6e" + client_id = "secret" + client_secret = "secret" + log_collection_enabled = true + release_channel = "beta" + historical_data_retrieval { + default_duration { + unit = "Day" + value = 0 + } + max_duration { + unit = "Day" + value = 30 + } + } + query_delay { + unit = "Minute" + value = 6 + } +} \ No newline at end of file diff --git a/nobl9/resource_agent.go b/nobl9/resource_agent.go index 57988ddf..2821cea2 100644 --- a/nobl9/resource_agent.go +++ b/nobl9/resource_agent.go @@ -31,7 +31,7 @@ func resourceAgent() *schema.Resource { Importer: &schema.ResourceImporter{ StateContext: schema.ImportStatePassthroughContext, }, - Description: "[Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent)", + Description: "[Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9-agent/)", } } diff --git a/nobl9/resource_alertmethod.go b/nobl9/resource_alertmethod.go index d407d38e..12b79a30 100644 --- a/nobl9/resource_alertmethod.go +++ b/nobl9/resource_alertmethod.go @@ -154,7 +154,7 @@ func resourceAlertMethodDelete(ctx context.Context, d *schema.ResourceData, meta type alertMethodWebhook struct{} func (i alertMethodWebhook) GetDescription() string { - return "[Webhook Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/webhook)" + return "[Webhook Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/webhook)" } //nolint:lll @@ -222,7 +222,7 @@ func (i alertMethodWebhook) UnmarshalSpec(d *schema.ResourceData, spec v1alphaAl type alertMethodPagerDuty struct{} func (i alertMethodPagerDuty) GetDescription() string { - return "[PagerDuty Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/pagerduty)" + return "[PagerDuty Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/pagerduty)" } func (i alertMethodPagerDuty) GetSchema() map[string]*schema.Schema { @@ -289,7 +289,7 @@ func (i alertMethodPagerDuty) UnmarshalSpec(_ *schema.ResourceData, _ v1alphaAle type alertMethodSlack struct{} func (i alertMethodSlack) GetDescription() string { - return "[Slack Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/slack)" + return "[Slack Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/slack)" } func (i alertMethodSlack) GetSchema() map[string]*schema.Schema { @@ -321,7 +321,7 @@ func (i alertMethodSlack) UnmarshalSpec(_ *schema.ResourceData, _ v1alphaAlertMe type alertMethodDiscord struct{} func (i alertMethodDiscord) GetDescription() string { - return "[Discord Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/discord)" + return "[Discord Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/discord)" } func (i alertMethodDiscord) GetSchema() map[string]*schema.Schema { @@ -353,7 +353,7 @@ func (i alertMethodDiscord) UnmarshalSpec(_ *schema.ResourceData, _ v1alphaAlert type alertMethodOpsgenie struct{} func (i alertMethodOpsgenie) GetDescription() string { - return "[OpsGenie Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie)" + return "[OpsGenie Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie)" } func (i alertMethodOpsgenie) GetSchema() map[string]*schema.Schema { @@ -361,14 +361,14 @@ func (i alertMethodOpsgenie) GetSchema() map[string]*schema.Schema { "auth": { Type: schema.TypeString, Optional: true, - Description: "Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats.", + Description: "Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie#authentication) for supported formats.", Sensitive: true, Computed: true, }, "url": { Type: schema.TypeString, Required: true, - Description: "Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details.", + Description: "Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie#creating-opsgenie-api-key) for more details.", }, } } @@ -396,7 +396,7 @@ func (i alertMethodOpsgenie) UnmarshalSpec(d *schema.ResourceData, spec v1alphaA type alertMethodServiceNow struct{} func (i alertMethodServiceNow) GetDescription() string { - return "[ServiceNow Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow)" + return "[ServiceNow Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow)" } func (i alertMethodServiceNow) GetSchema() map[string]*schema.Schema { @@ -416,7 +416,7 @@ func (i alertMethodServiceNow) GetSchema() map[string]*schema.Schema { "instance_name": { Type: schema.TypeString, Required: true, - Description: "ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials).", + Description: "ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow#servicenow-credentials).", }, } } @@ -447,7 +447,7 @@ func (i alertMethodServiceNow) UnmarshalSpec(d *schema.ResourceData, spec v1alph type alertMethodJira struct{} func (i alertMethodJira) GetDescription() string { - return "[Jira Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/jira)" + return "[Jira Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/jira)" } func (i alertMethodJira) GetSchema() map[string]*schema.Schema { @@ -506,7 +506,7 @@ func (i alertMethodJira) UnmarshalSpec(d *schema.ResourceData, spec v1alphaAlert type alertMethodTeams struct{} func (i alertMethodTeams) GetDescription() string { - return "[MS Teams Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/ms-teams)" + return "[MS Teams Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/ms-teams)" } func (i alertMethodTeams) GetSchema() map[string]*schema.Schema { @@ -538,7 +538,7 @@ func (i alertMethodTeams) UnmarshalSpec(_ *schema.ResourceData, _ v1alphaAlertMe type alertMethodEmail struct{} func (i alertMethodEmail) GetDescription() string { - return "[Email Alert Method | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert)" + return "[Email Alert Method | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/email-alert)" } func (i alertMethodEmail) GetSchema() map[string]*schema.Schema { diff --git a/nobl9/resource_direct.go b/nobl9/resource_direct.go index 518900f1..a822e523 100644 --- a/nobl9/resource_direct.go +++ b/nobl9/resource_direct.go @@ -606,7 +606,7 @@ func (h honeycombDirectSpec) GetSchema() map[string]*schema.Schema { } func (h honeycombDirectSpec) GetDescription() string { - return "[Honeycomb Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/honeycomb#hc-direct)." + return "[Honeycomb Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/honeycomb-integration/#hc-direct)." } func (h honeycombDirectSpec) MarshalSpec(d *schema.ResourceData) v1alphaDirect.Spec { diff --git a/templates/index.md.tmpl b/templates/index.md.tmpl index 5195533b..56a96a26 100644 --- a/templates/index.md.tmpl +++ b/templates/index.md.tmpl @@ -24,7 +24,7 @@ The Nobl9 Provider delivers tools working with the Nobl9 API to create and manag The Nobl9 Terraform Provider does not support the configuration of the following resources: - [SLO Annotations](https://docs.nobl9.com/features/slo-annotations/) -- [Alert Silence](https://docs.nobl9.com/Alerting/Alert_silence/) +- [Alert Silence](https://docs.nobl9.com/alerting/alert-silence/) ## Configuration diff --git a/templates/resources/alert_method_discord.md.tmpl b/templates/resources/alert_method_discord.md.tmpl index 6a183987..410659de 100644 --- a/templates/resources/alert_method_discord.md.tmpl +++ b/templates/resources/alert_method_discord.md.tmpl @@ -21,6 +21,6 @@ Here's an example of Discord Terraform resource configuration: ## Useful Links -[Discord alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/discord/) +[Discord alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/discord/) [Intro to webhooks | Discord Documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) \ No newline at end of file diff --git a/templates/resources/alert_method_email.md.tmpl b/templates/resources/alert_method_email.md.tmpl index aba5fee5..d837ff74 100644 --- a/templates/resources/alert_method_email.md.tmpl +++ b/templates/resources/alert_method_email.md.tmpl @@ -21,4 +21,4 @@ Here's an example of Email Terraform resource configuration: ## Useful links -[Email alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert) \ No newline at end of file +[Email alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/email-alert) \ No newline at end of file diff --git a/templates/resources/alert_method_jira.md.tmpl b/templates/resources/alert_method_jira.md.tmpl index 67f20caa..40b804b7 100644 --- a/templates/resources/alert_method_jira.md.tmpl +++ b/templates/resources/alert_method_jira.md.tmpl @@ -21,6 +21,6 @@ Here's an example of Jira Terraform resource configuration: ## Useful Links -[Jira alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/jira/) +[Jira alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/jira/) [Atlassian Accounts Documentation](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) \ No newline at end of file diff --git a/templates/resources/alert_method_msteams.md.tmpl b/templates/resources/alert_method_msteams.md.tmpl index 823fc2d1..ae259681 100644 --- a/templates/resources/alert_method_msteams.md.tmpl +++ b/templates/resources/alert_method_msteams.md.tmpl @@ -21,6 +21,6 @@ Here's an example of MS Teams Terraform resource configuration: ## Useful Links -[MS Teams alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/msteams/) +[MS Teams alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/msteams/) [MS Teams webhooks | MS Teams Documentation](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) \ No newline at end of file diff --git a/templates/resources/alert_method_opsgenie.md.tmpl b/templates/resources/alert_method_opsgenie.md.tmpl index 2884a343..89e78835 100644 --- a/templates/resources/alert_method_opsgenie.md.tmpl +++ b/templates/resources/alert_method_opsgenie.md.tmpl @@ -21,4 +21,4 @@ Here's an example of OpsGenie Terraform resource configuration: ## Useful Links -[OpsGenie alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie/) \ No newline at end of file +[OpsGenie alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/opsgenie/) \ No newline at end of file diff --git a/templates/resources/alert_method_pagerduty.md.tmpl b/templates/resources/alert_method_pagerduty.md.tmpl index 99e5dd1e..ae4ebfd7 100644 --- a/templates/resources/alert_method_pagerduty.md.tmpl +++ b/templates/resources/alert_method_pagerduty.md.tmpl @@ -21,4 +21,4 @@ Here's an example of PagerDuty Terraform resource configuration: ## Useful Links -[PagerDuty alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/pagerduty/) \ No newline at end of file +[PagerDuty alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/pagerduty/) \ No newline at end of file diff --git a/templates/resources/alert_method_servicenow.md.tmpl b/templates/resources/alert_method_servicenow.md.tmpl index 4f106ee5..d3aeecaf 100644 --- a/templates/resources/alert_method_servicenow.md.tmpl +++ b/templates/resources/alert_method_servicenow.md.tmpl @@ -9,7 +9,7 @@ description: |- The **ServiceNow Alert Method** automatically opens an issue in your ServiceNow workflow to notify you whenever an incident is triggered. --> **NOTE** To allow ServiceNow alerts to integrate with Nobl9, you need to set up an Access Control List (ACL) for your ServiceNow users. Refer to [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow) for more details. +-> **NOTE** To allow ServiceNow alerts to integrate with Nobl9, you need to set up an Access Control List (ACL) for your ServiceNow users. Refer to [Nobl9 documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow) for more details. For more details, refer to {{ .Description | trimspace }}. @@ -23,4 +23,4 @@ Here's an example of ServiceNow Terraform resource configuration: ## Useful Links -[ServiceNow alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow/) \ No newline at end of file +[ServiceNow alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/alert-methods/servicenow/) \ No newline at end of file diff --git a/templates/resources/alert_method_slack.md.tmpl b/templates/resources/alert_method_slack.md.tmpl index de623ccf..b6a6627a 100644 --- a/templates/resources/alert_method_slack.md.tmpl +++ b/templates/resources/alert_method_slack.md.tmpl @@ -23,4 +23,4 @@ Here's an example of Slack Terraform resource configuration: ## Useful links -[Slack alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/Alerting/slack/) \ No newline at end of file +[Slack alerts configuration | Nobl9 Documentation](https://docs.nobl9.com/alerting/slack/) \ No newline at end of file diff --git a/templates/resources/alert_method_webhook.md.tmpl b/templates/resources/alert_method_webhook.md.tmpl index 896fa5f8..95b99b96 100644 --- a/templates/resources/alert_method_webhook.md.tmpl +++ b/templates/resources/alert_method_webhook.md.tmpl @@ -9,7 +9,7 @@ description: |- The **Webhook Alert Method** enables sending alerts through an HTTP callback handler that is triggered by an event. You can create webhooks and configure them to handle different incident notifications, using either custom or predefined notification templates. --> **NOTE** For details on how to use Webhook message templates, check the [Nobl9 documentation](https://docs.nobl9.com/Alerting/webhook#creating-webhook-custom-templates-through-yaml). +-> **NOTE** For details on how to use Webhook message templates, check the [Nobl9 documentation](https://docs.nobl9.com/alerting/webhook#creating-webhook-custom-templates-through-yaml). For more details, refer to {{ .Description | trimspace }}. @@ -23,4 +23,4 @@ Here's an example of Webhook Terraform resource configuration: ## Useful Links -[Webhook alerts documentation | Nobl9 Documentation](https://docs.nobl9.com/Alerting/webhook/) \ No newline at end of file +[Webhook alerts documentation | Nobl9 Documentation](https://docs.nobl9.com/alerting/webhook/) \ No newline at end of file diff --git a/templates/resources/direct_azure_monitor.md.tmpl b/templates/resources/direct_azure_monitor.md.tmpl new file mode 100644 index 00000000..027628c0 --- /dev/null +++ b/templates/resources/direct_azure_monitor.md.tmpl @@ -0,0 +1,21 @@ +--- +page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}" +description: |- +{{ .Description | plainmarkdown | trimspace | prefixlines " " }} +--- + +# {{.Name}} ({{.Type}}) + +Azure Monitor is a comprehensive monitoring solution for collecting, analyzing, and responding to monitoring data from your cloud and on-premises environments. Nobl9 connects to Azure Monitor for SLI measurement collection and comparison with SLO targets. + +For more information, refer to {{ .Description | trimspace }} + +## Example Usage + +{{ tffile (printf "examples/resources/%s/resource.tf" .Name)}} + +{{ .SchemaMarkdown | trimspace }} + +## Nobl9 Official Documentation + +https://docs.nobl9.com/ \ No newline at end of file