Confirmar una plantilla de usuario de monitor existente
https://api.datadoghq.com/api/v2/monitor/template/{template_id}/validatehttps://api.us3.datadoghq.com/api/v2/monitor/template/{template_id}/validatehttps://api.us5.datadoghq.com/api/v2/monitor/template/{template_id}/validatehttps://api.datadoghq.eu/api/v2/monitor/template/{template_id}/validatehttps://api.ap1.datadoghq.com/api/v2/monitor/template/{template_id}/validatehttps://api.ap2.datadoghq.com/api/v2/monitor/template/{template_id}/validatehttps://api.uk1.datadoghq.com/api/v2/monitor/template/{template_id}/validatehttps://api.ddog-gov.com/api/v2/monitor/template/{template_id}/validatehttps://api.us2.ddog-gov.com/api/v2/monitor/template/{template_id}/validateDescripción general
Confirma la estructura y el contenido de una plantilla de usuario de monitor existente que se está actualizando a una nueva versión.
Argumentos
Parámetros de ruta
template_id [required]ID of the monitor user template.
Solicitud
Body Data (required)
data [required]Solicitud de creación de una nueva versión de plantilla de usuario de monitor.
attributes [required]Attributes for a monitor user template.
descriptionA brief description of the monitor user template.
monitor_definition [required]A valid monitor definition in the same format as the V1 Monitor API.
tags [required]The definition of MonitorUserTemplateTags object.
template_variablesThe definition of MonitorUserTemplateTemplateVariables object.
available_valuesAvailable values for the variable.
defaultsDefault values of the template variable.
name [required]The name of the template variable.
tag_keyThe tag key associated with the variable. This works the same as dashboard template variables.
title [required]The title of the monitor user template.
id [required]The unique identifier.
type [required]Monitor user template resource type.
monitor-user-templatemonitor-user-template{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}Respuesta
OK
Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Found
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Ejemplo de código
# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF# Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/template/${template_id}/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "A description.",
"monitor_definition": {
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert"
},
"tags": [
"integration:Azure"
],
"template_variables": [
{
"available_values": [
"value1",
"value2"
],
"defaults": [
"defaultValue"
],
"name": "regionName",
"tag_key": "datacenter"
}
],
"title": "Postgres DB example-monitor"
},
"id": "00000000-0000-1234-0000-000000000000",
"type": "monitor-user-template"
}
}
EOF// Validate an existing monitor user template returns "OK" response
package main
import (
"context"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
// there is a valid "monitor_user_template" in the system
MonitorUserTemplateDataID := os.Getenv("MONITOR_USER_TEMPLATE_DATA_ID")
body := datadogV2.MonitorUserTemplateUpdateRequest{
Data: datadogV2.MonitorUserTemplateUpdateData{
Attributes: datadogV2.MonitorUserTemplateRequestAttributes{
Description: *datadog.NewNullableString(datadog.PtrString("A description.")),
MonitorDefinition: map[string]interface{}{
"message": "A msg.",
"name": "A name example-monitor",
"query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
"type": "query alert",
},
Tags: []string{
"integration:Azure",
},
TemplateVariables: []datadogV2.MonitorUserTemplateTemplateVariablesItems{
{
AvailableValues: []string{
"value1",
"value2",
},
Defaults: []string{
"defaultValue",
},
Name: "regionName",
TagKey: datadog.PtrString("datacenter"),
},
},
Title: "Postgres DB example-monitor",
},
Id: MonitorUserTemplateDataID,
Type: datadogV2.MONITORUSERTEMPLATERESOURCETYPE_MONITOR_USER_TEMPLATE,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.ValidateExistingMonitorUserTemplate", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewMonitorsApi(apiClient)
r, err := api.ValidateExistingMonitorUserTemplate(ctx, MonitorUserTemplateDataID, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.ValidateExistingMonitorUserTemplate`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Validate an existing monitor user template returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.MonitorsApi;
import com.datadog.api.client.v2.model.MonitorUserTemplateRequestAttributes;
import com.datadog.api.client.v2.model.MonitorUserTemplateResourceType;
import com.datadog.api.client.v2.model.MonitorUserTemplateTemplateVariablesItems;
import com.datadog.api.client.v2.model.MonitorUserTemplateUpdateData;
import com.datadog.api.client.v2.model.MonitorUserTemplateUpdateRequest;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled("v2.validateExistingMonitorUserTemplate", true);
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
// there is a valid "monitor_user_template" in the system
String MONITOR_USER_TEMPLATE_DATA_ID = System.getenv("MONITOR_USER_TEMPLATE_DATA_ID");
MonitorUserTemplateUpdateRequest body =
new MonitorUserTemplateUpdateRequest()
.data(
new MonitorUserTemplateUpdateData()
.attributes(
new MonitorUserTemplateRequestAttributes()
.description("A description.")
.monitorDefinition(
Map.ofEntries(
Map.entry("message", "A msg."),
Map.entry("name", "A name example-monitor"),
Map.entry(
"query",
"avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100"),
Map.entry("type", "query alert")))
.tags(Collections.singletonList("integration:Azure"))
.templateVariables(
Collections.singletonList(
new MonitorUserTemplateTemplateVariablesItems()
.availableValues(Arrays.asList("value1", "value2"))
.defaults(Collections.singletonList("defaultValue"))
.name("regionName")
.tagKey("datacenter")))
.title("Postgres DB example-monitor"))
.id(MONITOR_USER_TEMPLATE_DATA_ID)
.type(MonitorUserTemplateResourceType.MONITOR_USER_TEMPLATE));
try {
apiInstance.validateExistingMonitorUserTemplate(MONITOR_USER_TEMPLATE_DATA_ID, body);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#validateExistingMonitorUserTemplate");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Validate an existing monitor user template returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.monitors_api import MonitorsApi
from datadog_api_client.v2.model.monitor_user_template_request_attributes import MonitorUserTemplateRequestAttributes
from datadog_api_client.v2.model.monitor_user_template_resource_type import MonitorUserTemplateResourceType
from datadog_api_client.v2.model.monitor_user_template_template_variables_items import (
MonitorUserTemplateTemplateVariablesItems,
)
from datadog_api_client.v2.model.monitor_user_template_update_data import MonitorUserTemplateUpdateData
from datadog_api_client.v2.model.monitor_user_template_update_request import MonitorUserTemplateUpdateRequest
# there is a valid "monitor_user_template" in the system
MONITOR_USER_TEMPLATE_DATA_ID = environ["MONITOR_USER_TEMPLATE_DATA_ID"]
body = MonitorUserTemplateUpdateRequest(
data=MonitorUserTemplateUpdateData(
attributes=MonitorUserTemplateRequestAttributes(
description="A description.",
monitor_definition=dict(
[
("message", "A msg."),
("name", "A name example-monitor"),
("query", "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100"),
("type", "query alert"),
]
),
tags=[
"integration:Azure",
],
template_variables=[
MonitorUserTemplateTemplateVariablesItems(
available_values=[
"value1",
"value2",
],
defaults=[
"defaultValue",
],
name="regionName",
tag_key="datacenter",
),
],
title="Postgres DB example-monitor",
),
id=MONITOR_USER_TEMPLATE_DATA_ID,
type=MonitorUserTemplateResourceType.MONITOR_USER_TEMPLATE,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["validate_existing_monitor_user_template"] = True
with ApiClient(configuration) as api_client:
api_instance = MonitorsApi(api_client)
api_instance.validate_existing_monitor_user_template(template_id=MONITOR_USER_TEMPLATE_DATA_ID, body=body)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Validate an existing monitor user template returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.validate_existing_monitor_user_template".to_sym] = true
end
api_instance = DatadogAPIClient::V2::MonitorsAPI.new
# there is a valid "monitor_user_template" in the system
MONITOR_USER_TEMPLATE_DATA_ID = ENV["MONITOR_USER_TEMPLATE_DATA_ID"]
body = DatadogAPIClient::V2::MonitorUserTemplateUpdateRequest.new({
data: DatadogAPIClient::V2::MonitorUserTemplateUpdateData.new({
attributes: DatadogAPIClient::V2::MonitorUserTemplateRequestAttributes.new({
description: "A description.",
monitor_definition: {
"message": "A msg.", "name": "A name example-monitor", "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100", "type": "query alert",
},
tags: [
"integration:Azure",
],
template_variables: [
DatadogAPIClient::V2::MonitorUserTemplateTemplateVariablesItems.new({
available_values: [
"value1",
"value2",
],
defaults: [
"defaultValue",
],
name: "regionName",
tag_key: "datacenter",
}),
],
title: "Postgres DB example-monitor",
}),
id: MONITOR_USER_TEMPLATE_DATA_ID,
type: DatadogAPIClient::V2::MonitorUserTemplateResourceType::MONITOR_USER_TEMPLATE,
}),
})
api_instance.validate_existing_monitor_user_template(MONITOR_USER_TEMPLATE_DATA_ID, body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Validate an existing monitor user template returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;
use datadog_api_client::datadogV2::model::MonitorUserTemplateRequestAttributes;
use datadog_api_client::datadogV2::model::MonitorUserTemplateResourceType;
use datadog_api_client::datadogV2::model::MonitorUserTemplateTemplateVariablesItems;
use datadog_api_client::datadogV2::model::MonitorUserTemplateUpdateData;
use datadog_api_client::datadogV2::model::MonitorUserTemplateUpdateRequest;
use serde_json::Value;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
// there is a valid "monitor_user_template" in the system
let monitor_user_template_data_id = std::env::var("MONITOR_USER_TEMPLATE_DATA_ID").unwrap();
let body = MonitorUserTemplateUpdateRequest::new(MonitorUserTemplateUpdateData::new(
MonitorUserTemplateRequestAttributes::new(
BTreeMap::from([
("message".to_string(), Value::from("A msg.")),
("name".to_string(), Value::from("A name example-monitor")),
(
"query".to_string(),
Value::from("avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100"),
),
("type".to_string(), Value::from("query alert")),
]),
vec!["integration:Azure".to_string()],
"Postgres DB example-monitor".to_string(),
)
.description(Some("A description.".to_string()))
.template_variables(vec![MonitorUserTemplateTemplateVariablesItems::new(
"regionName".to_string(),
)
.available_values(vec!["value1".to_string(), "value2".to_string()])
.defaults(vec!["defaultValue".to_string()])
.tag_key("datacenter".to_string())]),
monitor_user_template_data_id.clone(),
MonitorUserTemplateResourceType::MONITOR_USER_TEMPLATE,
));
let mut configuration = datadog::Configuration::new();
configuration
.set_unstable_operation_enabled("v2.validate_existing_monitor_user_template", true);
let api = MonitorsAPI::with_config(configuration);
let resp = api
.validate_existing_monitor_user_template(monitor_user_template_data_id.clone(), body)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run/**
* Validate an existing monitor user template returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
configuration.unstableOperations["v2.validateExistingMonitorUserTemplate"] =
true;
const apiInstance = new v2.MonitorsApi(configuration);
// there is a valid "monitor_user_template" in the system
const MONITOR_USER_TEMPLATE_DATA_ID = process.env
.MONITOR_USER_TEMPLATE_DATA_ID as string;
const params: v2.MonitorsApiValidateExistingMonitorUserTemplateRequest = {
body: {
data: {
attributes: {
description: "A description.",
monitorDefinition: {
message: "A msg.",
name: "A name example-monitor",
query: "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
type: "query alert",
},
tags: ["integration:Azure"],
templateVariables: [
{
availableValues: ["value1", "value2"],
defaults: ["defaultValue"],
name: "regionName",
tagKey: "datacenter",
},
],
title: "Postgres DB example-monitor",
},
id: MONITOR_USER_TEMPLATE_DATA_ID,
type: "monitor-user-template",
},
},
templateId: MONITOR_USER_TEMPLATE_DATA_ID,
};
apiInstance
.validateExistingMonitorUserTemplate(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"