fix(STACKITTPR-168): improve error messages (#762)

* remove deprecated argus resources

* improve error messages
This commit is contained in:
Marcel Jacek 2025-04-04 14:18:16 +02:00 committed by GitHub
parent 1c02c5eb67
commit d6749b6ce3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
76 changed files with 600 additions and 8403 deletions

View file

@ -1,154 +0,0 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_instance Data Source - stackit"
subcategory: ""
description: |-
Argus instance data source schema. Must have a region specified in the provider configuration.
!> The stackit_argus_instance data source has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_instance instead, which offers the exact same functionality.
---
# stackit_argus_instance (Data Source)
Argus instance data source schema. Must have a `region` specified in the provider configuration.
!> The `stackit_argus_instance` data source has been deprecated and will be removed after February 26th 2025. Please use `stackit_observability_instance` instead, which offers the exact same functionality.
## Example Usage
```terraform
data "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) The Argus instance ID.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `acl` (Set of String) The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation.
- `alert_config` (Attributes) Alert configuration for the instance. (see [below for nested schema](#nestedatt--alert_config))
- `alerting_url` (String) Specifies Alerting URL.
- `dashboard_url` (String) Specifies Argus instance dashboard URL.
- `grafana_initial_admin_password` (String, Sensitive) Specifies an initial Grafana admin password.
- `grafana_initial_admin_user` (String) Specifies an initial Grafana admin username.
- `grafana_public_read_access` (Boolean) If true, anyone can access Grafana dashboards without logging in.
- `grafana_url` (String) Specifies Grafana URL.
- `id` (String) Terraform's internal data source ID. It is structured as "`project_id`,`instance_id`".
- `is_updatable` (Boolean) Specifies if the instance can be updated.
- `jaeger_traces_url` (String)
- `jaeger_ui_url` (String)
- `logs_push_url` (String) Specifies URL for pushing logs.
- `logs_url` (String) Specifies Logs URL.
- `metrics_push_url` (String) Specifies URL for pushing metrics.
- `metrics_retention_days` (Number) Specifies for how many days the raw metrics are kept.
- `metrics_retention_days_1h_downsampling` (Number) Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to `0` (disabled).
- `metrics_retention_days_5m_downsampling` (Number) Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to `0` (disabled).
- `metrics_url` (String) Specifies metrics URL.
- `name` (String) The name of the Argus instance.
- `otlp_traces_url` (String)
- `parameters` (Map of String) Additional parameters.
- `plan_id` (String) The Argus plan ID.
- `plan_name` (String) Specifies the Argus plan. E.g. `Monitoring-Medium-EU01`.
- `targets_url` (String) Specifies Targets URL.
- `zipkin_spans_url` (String)
<a id="nestedatt--alert_config"></a>
### Nested Schema for `alert_config`
Read-Only:
- `global` (Attributes) Global configuration for the alerts. (see [below for nested schema](#nestedatt--alert_config--global))
- `receivers` (Attributes List) List of alert receivers. (see [below for nested schema](#nestedatt--alert_config--receivers))
- `route` (Attributes) The route for the alert. (see [below for nested schema](#nestedatt--alert_config--route))
<a id="nestedatt--alert_config--global"></a>
### Nested Schema for `alert_config.global`
Read-Only:
- `opsgenie_api_key` (String, Sensitive) The API key for OpsGenie.
- `opsgenie_api_url` (String) The host to send OpsGenie API requests to. Must be a valid URL
- `resolve_timeout` (String) The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt.
- `smtp_auth_identity` (String) SMTP authentication information. Must be a valid email address
- `smtp_auth_password` (String, Sensitive) SMTP Auth using LOGIN and PLAIN.
- `smtp_auth_username` (String) SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server.
- `smtp_from` (String) The default SMTP From header field. Must be a valid email address
- `smtp_smart_host` (String) The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).
<a id="nestedatt--alert_config--receivers"></a>
### Nested Schema for `alert_config.receivers`
Read-Only:
- `email_configs` (Attributes List) List of email configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--email_configs))
- `name` (String) Name of the receiver.
- `opsgenie_configs` (Attributes List) List of OpsGenie configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--opsgenie_configs))
- `webhooks_configs` (Attributes List) List of Webhooks configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--webhooks_configs))
<a id="nestedatt--alert_config--receivers--email_configs"></a>
### Nested Schema for `alert_config.receivers.email_configs`
Read-Only:
- `auth_identity` (String) SMTP authentication information. Must be a valid email address
- `auth_password` (String) SMTP authentication password.
- `auth_username` (String) SMTP authentication username.
- `from` (String) The sender email address. Must be a valid email address
- `smart_host` (String) The SMTP host through which emails are sent.
- `to` (String) The email address to send notifications to. Must be a valid email address
<a id="nestedatt--alert_config--receivers--opsgenie_configs"></a>
### Nested Schema for `alert_config.receivers.opsgenie_configs`
Read-Only:
- `api_key` (String) The API key for OpsGenie.
- `api_url` (String) The host to send OpsGenie API requests to. Must be a valid URL
- `tags` (String) Comma separated list of tags attached to the notifications.
<a id="nestedatt--alert_config--receivers--webhooks_configs"></a>
### Nested Schema for `alert_config.receivers.webhooks_configs`
Read-Only:
- `ms_teams` (Boolean) Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.
- `url` (String) The endpoint to send HTTP POST requests to. Must be a valid URL
<a id="nestedatt--alert_config--route"></a>
### Nested Schema for `alert_config.route`
Read-Only:
- `group_by` (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
- `group_interval` (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
- `group_wait` (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) .
- `match` (Map of String) A set of equality matchers an alert has to fulfill to match the node.
- `match_regex` (Map of String) A set of regex-matchers an alert has to fulfill to match the node.
- `receiver` (String) The name of the receiver to route the alerts to.
- `repeat_interval` (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).
- `routes` (Attributes List) List of child routes. (see [below for nested schema](#nestedatt--alert_config--route--routes))
<a id="nestedatt--alert_config--route--routes"></a>
### Nested Schema for `alert_config.route.routes`
Read-Only:
- `group_by` (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
- `group_interval` (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
- `group_wait` (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)
- `match` (Map of String) A set of equality matchers an alert has to fulfill to match the node.
- `match_regex` (Map of String) A set of regex-matchers an alert has to fulfill to match the node.
- `receiver` (String) The name of the receiver to route the alerts to.
- `repeat_interval` (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).

View file

@ -1,70 +0,0 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_scrapeconfig Data Source - stackit"
subcategory: ""
description: |-
Argus scrape config data source schema. Must have a region specified in the provider configuration.
!> The stackit_argus_scrapeconfig data source has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_scrapeconfig instead, which offers the exact same functionality.
---
# stackit_argus_scrapeconfig (Data Source)
Argus scrape config data source schema. Must have a `region` specified in the provider configuration.
!> The `stackit_argus_scrapeconfig` data source has been deprecated and will be removed after February 26th 2025. Please use `stackit_observability_scrapeconfig` instead, which offers the exact same functionality.
## Example Usage
```terraform
data "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
job_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) Argus instance ID to which the scraping job is associated.
- `name` (String) Specifies the name of the scraping job
- `project_id` (String) STACKIT project ID to which the scraping job is associated.
### Read-Only
- `basic_auth` (Attributes) A basic authentication block. (see [below for nested schema](#nestedatt--basic_auth))
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`instance_id`,`name`".
- `metrics_path` (String) Specifies the job scraping url path.
- `saml2` (Attributes) A SAML2 configuration block. (see [below for nested schema](#nestedatt--saml2))
- `sample_limit` (Number) Specifies the scrape sample limit.
- `scheme` (String) Specifies the http scheme.
- `scrape_interval` (String) Specifies the scrape interval as duration string.
- `scrape_timeout` (String) Specifies the scrape timeout as duration string.
- `targets` (Attributes List) The targets list (specified by the static config). (see [below for nested schema](#nestedatt--targets))
<a id="nestedatt--basic_auth"></a>
### Nested Schema for `basic_auth`
Read-Only:
- `password` (String, Sensitive) Specifies basic auth password.
- `username` (String) Specifies basic auth username.
<a id="nestedatt--saml2"></a>
### Nested Schema for `saml2`
Read-Only:
- `enable_url_parameters` (Boolean) Specifies if URL parameters are enabled
<a id="nestedatt--targets"></a>
### Nested Schema for `targets`
Read-Only:
- `labels` (Map of String) Specifies labels.
- `urls` (List of String) Specifies target URLs.

View file

@ -1,77 +0,0 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_credential Resource - stackit"
subcategory: ""
description: |-
Argus credential resource schema. Must have a region specified in the provider configuration.
!> The stackit_argus_credential resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_credential instead, which offers the exact same functionality.
Example move
Example to move the deprecated stackit_argus_credential resource to the new stackit_observability_credential resource:
Add a new stackit_observability_credential resource with the same values like your previous stackit_argus_credential resource.Add a moved block which reference the stackit_argus_credential and stackit_observability_credential resource.Remove your old stackit_argus_credential resource and run $ terraform apply.
resource "stackit_argus_credential" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
moved {
from = stackit_argus_credential.example
to = stackit_observability_credential.example
}
resource "stackit_observability_credential" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
---
# stackit_argus_credential (Resource)
Argus credential resource schema. Must have a `region` specified in the provider configuration.
!> The `stackit_argus_credential` resource has been deprecated and will be removed after February 26th 2025. Please use `stackit_observability_credential` instead, which offers the exact same functionality.
## Example move
Example to move the deprecated `stackit_argus_credential` resource to the new `stackit_observability_credential` resource:
1. Add a new `stackit_observability_credential` resource with the same values like your previous `stackit_argus_credential` resource.
1. Add a moved block which reference the `stackit_argus_credential` and `stackit_observability_credential` resource.
1. Remove your old `stackit_argus_credential` resource and run `$ terraform apply`.
```terraform
resource "stackit_argus_credential" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
moved {
from = stackit_argus_credential.example
to = stackit_observability_credential.example
}
resource "stackit_observability_credential" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
## Example Usage
```terraform
resource "stackit_argus_credential" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) The Argus Instance ID the credential belongs to.
- `project_id` (String) STACKIT project ID to which the credential is associated.
### Read-Only
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`username`".
- `password` (String, Sensitive) Credential password
- `username` (String) Credential username

View file

@ -1,235 +0,0 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_instance Resource - stackit"
subcategory: ""
description: |-
Argus instance resource schema. Must have a region specified in the provider configuration.
!> The stackit_argus_instance resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_instance instead, which offers the exact same functionality.
Example move
Example to move the deprecated stackit_argus_instance resource to the newstackit_observability_instance resource:
Add a new stackit_observability_instance resource with the same values like your previous stackit_argus_instance resource.Add a moved block which reference the stackit_argus_instance and stackit_observability_instance resource.Remove your old stackit_argus_instance resource and run $ terraform apply.
resource "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"]
metrics_retention_days = 7
metrics_retention_days_5m_downsampling = 30
metrics_retention_days_1h_downsampling = 365
}
moved {
from = stackit_argus_instance.example
to = stackit_observability_instance.example
}
resource "stackit_observability_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"]
metrics_retention_days = 7
metrics_retention_days_5m_downsampling = 30
metrics_retention_days_1h_downsampling = 365
}
---
# stackit_argus_instance (Resource)
Argus instance resource schema. Must have a `region` specified in the provider configuration.
!> The `stackit_argus_instance` resource has been deprecated and will be removed after February 26th 2025. Please use `stackit_observability_instance` instead, which offers the exact same functionality.
## Example move
Example to move the deprecated `stackit_argus_instance` resource to the new`stackit_observability_instance` resource:
1. Add a new `stackit_observability_instance` resource with the same values like your previous `stackit_argus_instance` resource.
1. Add a moved block which reference the `stackit_argus_instance` and `stackit_observability_instance` resource.
1. Remove your old `stackit_argus_instance` resource and run `$ terraform apply`.
```terraform
resource "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"]
metrics_retention_days = 7
metrics_retention_days_5m_downsampling = 30
metrics_retention_days_1h_downsampling = 365
}
moved {
from = stackit_argus_instance.example
to = stackit_observability_instance.example
}
resource "stackit_observability_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"]
metrics_retention_days = 7
metrics_retention_days_5m_downsampling = 30
metrics_retention_days_1h_downsampling = 365
}
```
## Example Usage
```terraform
resource "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"]
metrics_retention_days = 7
metrics_retention_days_5m_downsampling = 30
metrics_retention_days_1h_downsampling = 365
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) The name of the Argus instance.
- `plan_name` (String) Specifies the Argus plan. E.g. `Monitoring-Medium-EU01`.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Optional
- `acl` (Set of String) The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation.
- `alert_config` (Attributes) Alert configuration for the instance. (see [below for nested schema](#nestedatt--alert_config))
- `metrics_retention_days` (Number) Specifies for how many days the raw metrics are kept.
- `metrics_retention_days_1h_downsampling` (Number) Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to `0` (disabled).
- `metrics_retention_days_5m_downsampling` (Number) Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to `0` (disabled).
- `parameters` (Map of String) Additional parameters.
### Read-Only
- `alerting_url` (String) Specifies Alerting URL.
- `dashboard_url` (String) Specifies Argus instance dashboard URL.
- `grafana_initial_admin_password` (String, Sensitive) Specifies an initial Grafana admin password.
- `grafana_initial_admin_user` (String) Specifies an initial Grafana admin username.
- `grafana_public_read_access` (Boolean) If true, anyone can access Grafana dashboards without logging in.
- `grafana_url` (String) Specifies Grafana URL.
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
- `instance_id` (String) The Argus instance ID.
- `is_updatable` (Boolean) Specifies if the instance can be updated.
- `jaeger_traces_url` (String)
- `jaeger_ui_url` (String)
- `logs_push_url` (String) Specifies URL for pushing logs.
- `logs_url` (String) Specifies Logs URL.
- `metrics_push_url` (String) Specifies URL for pushing metrics.
- `metrics_url` (String) Specifies metrics URL.
- `otlp_traces_url` (String)
- `plan_id` (String) The Argus plan ID.
- `targets_url` (String) Specifies Targets URL.
- `zipkin_spans_url` (String)
<a id="nestedatt--alert_config"></a>
### Nested Schema for `alert_config`
Required:
- `receivers` (Attributes List) List of alert receivers. (see [below for nested schema](#nestedatt--alert_config--receivers))
- `route` (Attributes) Route configuration for the alerts. (see [below for nested schema](#nestedatt--alert_config--route))
Optional:
- `global` (Attributes) Global configuration for the alerts. (see [below for nested schema](#nestedatt--alert_config--global))
<a id="nestedatt--alert_config--receivers"></a>
### Nested Schema for `alert_config.receivers`
Required:
- `name` (String) Name of the receiver.
Optional:
- `email_configs` (Attributes List) List of email configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--email_configs))
- `opsgenie_configs` (Attributes List) List of OpsGenie configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--opsgenie_configs))
- `webhooks_configs` (Attributes List) List of Webhooks configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--webhooks_configs))
<a id="nestedatt--alert_config--receivers--email_configs"></a>
### Nested Schema for `alert_config.receivers.email_configs`
Optional:
- `auth_identity` (String) SMTP authentication information. Must be a valid email address
- `auth_password` (String) SMTP authentication password.
- `auth_username` (String) SMTP authentication username.
- `from` (String) The sender email address. Must be a valid email address
- `smart_host` (String) The SMTP host through which emails are sent.
- `to` (String) The email address to send notifications to. Must be a valid email address
<a id="nestedatt--alert_config--receivers--opsgenie_configs"></a>
### Nested Schema for `alert_config.receivers.opsgenie_configs`
Optional:
- `api_key` (String) The API key for OpsGenie.
- `api_url` (String) The host to send OpsGenie API requests to. Must be a valid URL
- `tags` (String) Comma separated list of tags attached to the notifications.
<a id="nestedatt--alert_config--receivers--webhooks_configs"></a>
### Nested Schema for `alert_config.receivers.webhooks_configs`
Optional:
- `ms_teams` (Boolean) Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.
- `url` (String) The endpoint to send HTTP POST requests to. Must be a valid URL
<a id="nestedatt--alert_config--route"></a>
### Nested Schema for `alert_config.route`
Required:
- `receiver` (String) The name of the receiver to route the alerts to.
Optional:
- `group_by` (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
- `group_interval` (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
- `group_wait` (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)
- `match` (Map of String) A set of equality matchers an alert has to fulfill to match the node.
- `match_regex` (Map of String) A set of regex-matchers an alert has to fulfill to match the node.
- `repeat_interval` (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).
- `routes` (Attributes List) List of child routes. (see [below for nested schema](#nestedatt--alert_config--route--routes))
<a id="nestedatt--alert_config--route--routes"></a>
### Nested Schema for `alert_config.route.routes`
Required:
- `receiver` (String) The name of the receiver to route the alerts to.
Optional:
- `group_by` (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
- `group_interval` (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
- `group_wait` (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)
- `match` (Map of String) A set of equality matchers an alert has to fulfill to match the node.
- `match_regex` (Map of String) A set of regex-matchers an alert has to fulfill to match the node.
- `repeat_interval` (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).
<a id="nestedatt--alert_config--global"></a>
### Nested Schema for `alert_config.global`
Optional:
- `opsgenie_api_key` (String, Sensitive) The API key for OpsGenie.
- `opsgenie_api_url` (String) The host to send OpsGenie API requests to. Must be a valid URL
- `resolve_timeout` (String) The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt.
- `smtp_auth_identity` (String) SMTP authentication information. Must be a valid email address
- `smtp_auth_password` (String, Sensitive) SMTP Auth using LOGIN and PLAIN.
- `smtp_auth_username` (String) SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server.
- `smtp_from` (String) The default SMTP From header field. Must be a valid email address
- `smtp_smart_host` (String) The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).

View file

@ -1,180 +0,0 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_scrapeconfig Resource - stackit"
subcategory: ""
description: |-
Argus scrape config resource schema. Must have a region specified in the provider configuration.
!> The stackit_argus_scrapeconfig resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_scrapeconfig instead, which offers the exact same functionality.
Example move
Example to move the deprecated stackit_argus_scrapeconfig resource to the new stackit_observability_scrapeconfig resource:
Add a new stackit_observability_scrapeconfig resource with the same values like your previous stackit_argus_scrapeconfig resource.Add a moved block which reference the stackit_argus_scrapeconfig and stackit_observability_scrapeconfig resource.Remove your old stackit_argus_scrapeconfig resource and run $ terraform apply.
resource "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job"
metrics_path = "/my-metrics"
saml2 = {
enable_url_parameters = true
}
targets = [
{
urls = ["url1", "urls2"]
labels = {
"url1" = "dev"
}
}
]
}
moved {
from = stackit_argus_scrapeconfig.example
to = stackit_observability_scrapeconfig.example
}
resource "stackit_observability_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job"
metrics_path = "/my-metrics"
saml2 = {
enable_url_parameters = true
}
targets = [
{
urls = ["url1", "urls2"]
labels = {
"url1" = "dev"
}
}
]
}
---
# stackit_argus_scrapeconfig (Resource)
Argus scrape config resource schema. Must have a `region` specified in the provider configuration.
!> The `stackit_argus_scrapeconfig` resource has been deprecated and will be removed after February 26th 2025. Please use `stackit_observability_scrapeconfig` instead, which offers the exact same functionality.
## Example move
Example to move the deprecated `stackit_argus_scrapeconfig` resource to the new `stackit_observability_scrapeconfig` resource:
1. Add a new `stackit_observability_scrapeconfig` resource with the same values like your previous `stackit_argus_scrapeconfig` resource.
1. Add a moved block which reference the `stackit_argus_scrapeconfig` and `stackit_observability_scrapeconfig` resource.
1. Remove your old `stackit_argus_scrapeconfig` resource and run `$ terraform apply`.
```terraform
resource "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job"
metrics_path = "/my-metrics"
saml2 = {
enable_url_parameters = true
}
targets = [
{
urls = ["url1", "urls2"]
labels = {
"url1" = "dev"
}
}
]
}
moved {
from = stackit_argus_scrapeconfig.example
to = stackit_observability_scrapeconfig.example
}
resource "stackit_observability_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job"
metrics_path = "/my-metrics"
saml2 = {
enable_url_parameters = true
}
targets = [
{
urls = ["url1", "urls2"]
labels = {
"url1" = "dev"
}
}
]
}
```
## Example Usage
```terraform
resource "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job"
metrics_path = "/my-metrics"
saml2 = {
enable_url_parameters = true
}
targets = [
{
urls = ["url1", "urls2"]
labels = {
"url1" = "dev"
}
}
]
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) Argus instance ID to which the scraping job is associated.
- `metrics_path` (String) Specifies the job scraping url path. E.g. `/metrics`.
- `name` (String) Specifies the name of the scraping job.
- `project_id` (String) STACKIT project ID to which the scraping job is associated.
- `targets` (Attributes List) The targets list (specified by the static config). (see [below for nested schema](#nestedatt--targets))
### Optional
- `basic_auth` (Attributes) A basic authentication block. (see [below for nested schema](#nestedatt--basic_auth))
- `saml2` (Attributes) A SAML2 configuration block. (see [below for nested schema](#nestedatt--saml2))
- `sample_limit` (Number) Specifies the scrape sample limit. Upper limit depends on the service plan. Defaults to `5000`.
- `scheme` (String) Specifies the http scheme. Defaults to `https`.
- `scrape_interval` (String) Specifies the scrape interval as duration string. Defaults to `5m`.
- `scrape_timeout` (String) Specifies the scrape timeout as duration string. Defaults to `2m`.
### Read-Only
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`name`".
<a id="nestedatt--targets"></a>
### Nested Schema for `targets`
Required:
- `urls` (List of String) Specifies target URLs.
Optional:
- `labels` (Map of String) Specifies labels.
<a id="nestedatt--basic_auth"></a>
### Nested Schema for `basic_auth`
Required:
- `password` (String, Sensitive) Specifies basic auth password.
- `username` (String) Specifies basic auth username.
<a id="nestedatt--saml2"></a>
### Nested Schema for `saml2`
Optional:
- `enable_url_parameters` (Boolean) Specifies if URL parameters are enabled. Defaults to `true`