Confirmar una plantilla de usuario de monitor
https://api.datadoghq.com/api/v2/monitor/template/validatehttps://api.us3.datadoghq.com/api/v2/monitor/template/validatehttps://api.us5.datadoghq.com/api/v2/monitor/template/validatehttps://api.datadoghq.eu/api/v2/monitor/template/validatehttps://api.ap1.datadoghq.com/api/v2/monitor/template/validatehttps://api.ap2.datadoghq.com/api/v2/monitor/template/validatehttps://api.uk1.datadoghq.com/api/v2/monitor/template/validatehttps://api.ddog-gov.com/api/v2/monitor/template/validatehttps://api.us2.ddog-gov.com/api/v2/monitor/template/validateDescripción general
Confirma la estructura y el contenido de una plantilla de usuario de monitor.
Solicitud
Body Data (required)
data [required]Solicitud de creación de una 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.
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"
},
"type": "monitor-user-template"
}
}Respuesta
OK
Bad Request
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
# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF# 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/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"
},
"type": "monitor-user-template"
}
}
EOF// Validate a 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() {
body := datadogV2.MonitorUserTemplateCreateRequest{
Data: datadogV2.MonitorUserTemplateCreateData{
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",
},
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.ValidateMonitorUserTemplate", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewMonitorsApi(apiClient)
r, err := api.ValidateMonitorUserTemplate(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.ValidateMonitorUserTemplate`: %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 a 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.MonitorUserTemplateCreateData;
import com.datadog.api.client.v2.model.MonitorUserTemplateCreateRequest;
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 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.validateMonitorUserTemplate", true);
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
MonitorUserTemplateCreateRequest body =
new MonitorUserTemplateCreateRequest()
.data(
new MonitorUserTemplateCreateData()
.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"))
.type(MonitorUserTemplateResourceType.MONITOR_USER_TEMPLATE));
try {
apiInstance.validateMonitorUserTemplate(body);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#validateMonitorUserTemplate");
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 a 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_create_data import MonitorUserTemplateCreateData
from datadog_api_client.v2.model.monitor_user_template_create_request import MonitorUserTemplateCreateRequest
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,
)
body = MonitorUserTemplateCreateRequest(
data=MonitorUserTemplateCreateData(
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",
),
type=MonitorUserTemplateResourceType.MONITOR_USER_TEMPLATE,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["validate_monitor_user_template"] = True
with ApiClient(configuration) as api_client:
api_instance = MonitorsApi(api_client)
api_instance.validate_monitor_user_template(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 a 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_monitor_user_template".to_sym] = true
end
api_instance = DatadogAPIClient::V2::MonitorsAPI.new
body = DatadogAPIClient::V2::MonitorUserTemplateCreateRequest.new({
data: DatadogAPIClient::V2::MonitorUserTemplateCreateData.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",
}),
type: DatadogAPIClient::V2::MonitorUserTemplateResourceType::MONITOR_USER_TEMPLATE,
}),
})
api_instance.validate_monitor_user_template(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 a 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::MonitorUserTemplateCreateData;
use datadog_api_client::datadogV2::model::MonitorUserTemplateCreateRequest;
use datadog_api_client::datadogV2::model::MonitorUserTemplateRequestAttributes;
use datadog_api_client::datadogV2::model::MonitorUserTemplateResourceType;
use datadog_api_client::datadogV2::model::MonitorUserTemplateTemplateVariablesItems;
use serde_json::Value;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = MonitorUserTemplateCreateRequest::new(MonitorUserTemplateCreateData::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())]),
MonitorUserTemplateResourceType::MONITOR_USER_TEMPLATE,
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.validate_monitor_user_template", true);
let api = MonitorsAPI::with_config(configuration);
let resp = api.validate_monitor_user_template(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 a 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.validateMonitorUserTemplate"] = true;
const apiInstance = new v2.MonitorsApi(configuration);
const params: v2.MonitorsApiValidateMonitorUserTemplateRequest = {
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",
},
type: "monitor-user-template",
},
},
};
apiInstance
.validateMonitorUserTemplate(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"