Viewing docs for logdna 1.17.2
published on Thursday, Oct 16, 2025 by logdna
published on Thursday, Oct 16, 2025 by logdna
Viewing docs for logdna 1.17.2
published on Thursday, Oct 16, 2025 by logdna
published on Thursday, Oct 16, 2025 by logdna
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as logdna from "@pulumi/logdna";
const managed = new logdna.Alert("managed", {
emailChannels: [{
emails: ["test@logdna.com"],
immediate: "false",
operator: "presence",
triggerlimit: 15,
triggerinterval: "15m",
terminal: "true",
timezone: "Pacific/Samoa",
}],
pagerdutyChannels: [{
immediate: "true",
key: "Your PagerDuty API key goes here",
terminal: "true",
triggerinterval: "15m",
triggerlimit: 15,
}],
slackChannels: [{
immediate: "false",
operator: "absence",
terminal: "true",
triggerinterval: "15m",
triggerlimit: 15,
url: "https://hooks.slack.com/services/identifier/secret",
}],
webhookChannels: [{
bodytemplate: JSON.stringify({
message: "Alerts from {{name}}",
}),
headers: {
Authentication: "auth_header_value",
HeaderTwo: "ValueTwo",
},
immediate: "false",
method: "post",
terminal: "true",
triggerinterval: "15m",
triggerlimit: 15,
url: "https://yourwebhook/endpoint",
}],
});
const managedRemote = logdna.getAlertOutput({
presetid: managed.alertId,
});
const externalRemote = logdna.getAlert({
presetid: "xxxxxxxxxx",
});
// pass in data source attributes as arguments for module(s) declared in the same config
const test = new logdna.View("test", {
query: "level:debug my query",
emailChannels: managedRemote.apply(managedRemote => managedRemote.emailChannels),
pagerdutyChannels: externalRemote.then(externalRemote => externalRemote.pagerdutyChannels),
slackChannels: externalRemote.then(externalRemote => externalRemote.slackChannels),
webhookChannels: externalRemote.then(externalRemote => externalRemote.webhookChannels),
});
import pulumi
import json
import pulumi_logdna as logdna
managed = logdna.Alert("managed",
email_channels=[{
"emails": ["test@logdna.com"],
"immediate": "false",
"operator": "presence",
"triggerlimit": 15,
"triggerinterval": "15m",
"terminal": "true",
"timezone": "Pacific/Samoa",
}],
pagerduty_channels=[{
"immediate": "true",
"key": "Your PagerDuty API key goes here",
"terminal": "true",
"triggerinterval": "15m",
"triggerlimit": 15,
}],
slack_channels=[{
"immediate": "false",
"operator": "absence",
"terminal": "true",
"triggerinterval": "15m",
"triggerlimit": 15,
"url": "https://hooks.slack.com/services/identifier/secret",
}],
webhook_channels=[{
"bodytemplate": json.dumps({
"message": "Alerts from {{name}}",
}),
"headers": {
"Authentication": "auth_header_value",
"HeaderTwo": "ValueTwo",
},
"immediate": "false",
"method": "post",
"terminal": "true",
"triggerinterval": "15m",
"triggerlimit": 15,
"url": "https://yourwebhook/endpoint",
}])
managed_remote = logdna.get_alert_output(presetid=managed.alert_id)
external_remote = logdna.get_alert(presetid="xxxxxxxxxx")
# pass in data source attributes as arguments for module(s) declared in the same config
test = logdna.View("test",
query="level:debug my query",
email_channels=managed_remote.email_channels,
pagerduty_channels=external_remote.pagerduty_channels,
slack_channels=external_remote.slack_channels,
webhook_channels=external_remote.webhook_channels)
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-terraform-provider/sdks/go/logdna/logdna"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tmpJSON0, err := json.Marshal(map[string]interface{}{
"message": "Alerts from {{name}}",
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
managed, err := logdna.NewAlert(ctx, "managed", &logdna.AlertArgs{
EmailChannels: logdna.AlertEmailChannelArray{
&logdna.AlertEmailChannelArgs{
Emails: pulumi.StringArray{
pulumi.String("test@logdna.com"),
},
Immediate: pulumi.String("false"),
Operator: pulumi.String("presence"),
Triggerlimit: pulumi.Float64(15),
Triggerinterval: pulumi.String("15m"),
Terminal: pulumi.String("true"),
Timezone: pulumi.String("Pacific/Samoa"),
},
},
PagerdutyChannels: logdna.AlertPagerdutyChannelArray{
&logdna.AlertPagerdutyChannelArgs{
Immediate: pulumi.String("true"),
Key: pulumi.String("Your PagerDuty API key goes here"),
Terminal: pulumi.String("true"),
Triggerinterval: pulumi.String("15m"),
Triggerlimit: pulumi.Float64(15),
},
},
SlackChannels: logdna.AlertSlackChannelArray{
&logdna.AlertSlackChannelArgs{
Immediate: pulumi.String("false"),
Operator: pulumi.String("absence"),
Terminal: pulumi.String("true"),
Triggerinterval: pulumi.String("15m"),
Triggerlimit: pulumi.Float64(15),
Url: pulumi.String("https://hooks.slack.com/services/identifier/secret"),
},
},
WebhookChannels: logdna.AlertWebhookChannelArray{
&logdna.AlertWebhookChannelArgs{
Bodytemplate: pulumi.String(json0),
Headers: pulumi.StringMap{
"Authentication": pulumi.String("auth_header_value"),
"HeaderTwo": pulumi.String("ValueTwo"),
},
Immediate: pulumi.String("false"),
Method: pulumi.String("post"),
Terminal: pulumi.String("true"),
Triggerinterval: pulumi.String("15m"),
Triggerlimit: pulumi.Float64(15),
Url: pulumi.String("https://yourwebhook/endpoint"),
},
},
})
if err != nil {
return err
}
managedRemote := logdna.LookupAlertOutput(ctx, logdna.GetAlertOutputArgs{
Presetid: managed.AlertId,
}, nil)
externalRemote, err := logdna.LookupAlert(ctx, &logdna.LookupAlertArgs{
Presetid: "xxxxxxxxxx",
}, nil)
if err != nil {
return err
}
// pass in data source attributes as arguments for module(s) declared in the same config
_, err = logdna.NewView(ctx, "test", &logdna.ViewArgs{
Query: pulumi.String("level:debug my query"),
EmailChannels: []logdna.ViewEmailChannel(managedRemote.ApplyT(func(managedRemote logdna.GetAlertResult) ([]logdna.GetAlertEmailChannel, error) {
return []logdna.GetAlertEmailChannel(managedRemote.EmailChannels), nil
}).([]logdna.GetAlertEmailChannelOutput)),
PagerdutyChannels: []logdna.GetAlertPagerdutyChannel(externalRemote.PagerdutyChannels),
SlackChannels: []logdna.GetAlertSlackChannel(externalRemote.SlackChannels),
WebhookChannels: []logdna.GetAlertWebhookChannel(externalRemote.WebhookChannels),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Logdna = Pulumi.Logdna;
return await Deployment.RunAsync(() =>
{
var managed = new Logdna.Alert("managed", new()
{
EmailChannels = new[]
{
new Logdna.Inputs.AlertEmailChannelArgs
{
Emails = new[]
{
"test@logdna.com",
},
Immediate = "false",
Operator = "presence",
Triggerlimit = 15,
Triggerinterval = "15m",
Terminal = "true",
Timezone = "Pacific/Samoa",
},
},
PagerdutyChannels = new[]
{
new Logdna.Inputs.AlertPagerdutyChannelArgs
{
Immediate = "true",
Key = "Your PagerDuty API key goes here",
Terminal = "true",
Triggerinterval = "15m",
Triggerlimit = 15,
},
},
SlackChannels = new[]
{
new Logdna.Inputs.AlertSlackChannelArgs
{
Immediate = "false",
Operator = "absence",
Terminal = "true",
Triggerinterval = "15m",
Triggerlimit = 15,
Url = "https://hooks.slack.com/services/identifier/secret",
},
},
WebhookChannels = new[]
{
new Logdna.Inputs.AlertWebhookChannelArgs
{
Bodytemplate = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["message"] = "Alerts from {{name}}",
}),
Headers =
{
{ "Authentication", "auth_header_value" },
{ "HeaderTwo", "ValueTwo" },
},
Immediate = "false",
Method = "post",
Terminal = "true",
Triggerinterval = "15m",
Triggerlimit = 15,
Url = "https://yourwebhook/endpoint",
},
},
});
var managedRemote = Logdna.GetAlert.Invoke(new()
{
Presetid = managed.AlertId,
});
var externalRemote = Logdna.GetAlert.Invoke(new()
{
Presetid = "xxxxxxxxxx",
});
// pass in data source attributes as arguments for module(s) declared in the same config
var test = new Logdna.View("test", new()
{
Query = "level:debug my query",
EmailChannels = managedRemote.Apply(getAlertResult => getAlertResult.EmailChannels),
PagerdutyChannels = externalRemote.Apply(getAlertResult => getAlertResult.PagerdutyChannels),
SlackChannels = externalRemote.Apply(getAlertResult => getAlertResult.SlackChannels),
WebhookChannels = externalRemote.Apply(getAlertResult => getAlertResult.WebhookChannels),
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.logdna.Alert;
import com.pulumi.logdna.AlertArgs;
import com.pulumi.logdna.inputs.AlertEmailChannelArgs;
import com.pulumi.logdna.inputs.AlertPagerdutyChannelArgs;
import com.pulumi.logdna.inputs.AlertSlackChannelArgs;
import com.pulumi.logdna.inputs.AlertWebhookChannelArgs;
import com.pulumi.logdna.LogdnaFunctions;
import com.pulumi.logdna.inputs.GetAlertArgs;
import com.pulumi.logdna.View;
import com.pulumi.logdna.ViewArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var managed = new Alert("managed", AlertArgs.builder()
.emailChannels(AlertEmailChannelArgs.builder()
.emails("test@logdna.com")
.immediate("false")
.operator("presence")
.triggerlimit(15)
.triggerinterval("15m")
.terminal("true")
.timezone("Pacific/Samoa")
.build())
.pagerdutyChannels(AlertPagerdutyChannelArgs.builder()
.immediate("true")
.key("Your PagerDuty API key goes here")
.terminal("true")
.triggerinterval("15m")
.triggerlimit(15)
.build())
.slackChannels(AlertSlackChannelArgs.builder()
.immediate("false")
.operator("absence")
.terminal("true")
.triggerinterval("15m")
.triggerlimit(15)
.url("https://hooks.slack.com/services/identifier/secret")
.build())
.webhookChannels(AlertWebhookChannelArgs.builder()
.bodytemplate(serializeJson(
jsonObject(
jsonProperty("message", "Alerts from {{name}}")
)))
.headers(Map.ofEntries(
Map.entry("Authentication", "auth_header_value"),
Map.entry("HeaderTwo", "ValueTwo")
))
.immediate("false")
.method("post")
.terminal("true")
.triggerinterval("15m")
.triggerlimit(15)
.url("https://yourwebhook/endpoint")
.build())
.build());
final var managedRemote = LogdnaFunctions.getAlert(GetAlertArgs.builder()
.presetid(managed.alertId())
.build());
final var externalRemote = LogdnaFunctions.getAlert(GetAlertArgs.builder()
.presetid("xxxxxxxxxx")
.build());
// pass in data source attributes as arguments for module(s) declared in the same config
var test = new View("test", ViewArgs.builder()
.query("level:debug my query")
.emailChannels(managedRemote.applyValue(getAlertResult -> getAlertResult).applyValue(managedRemote -> managedRemote.applyValue(getAlertResult -> getAlertResult.emailChannels())))
.pagerdutyChannels(externalRemote.applyValue(getAlertResult -> getAlertResult.pagerdutyChannels()))
.slackChannels(externalRemote.applyValue(getAlertResult -> getAlertResult.slackChannels()))
.webhookChannels(externalRemote.applyValue(getAlertResult -> getAlertResult.webhookChannels()))
.build());
}
}
resources:
managed:
type: logdna:Alert
properties:
emailChannels:
- emails:
- test@logdna.com
immediate: 'false'
operator: presence
triggerlimit: 15
triggerinterval: 15m
terminal: 'true'
timezone: Pacific/Samoa
pagerdutyChannels:
- immediate: 'true'
key: Your PagerDuty API key goes here
terminal: 'true'
triggerinterval: 15m
triggerlimit: 15
slackChannels:
- immediate: 'false'
operator: absence
terminal: 'true'
triggerinterval: 15m
triggerlimit: 15
url: https://hooks.slack.com/services/identifier/secret
webhookChannels:
- bodytemplate:
fn::toJSON:
message: Alerts from {{name}}
headers:
Authentication: auth_header_value
HeaderTwo: ValueTwo
immediate: 'false'
method: post
terminal: 'true'
triggerinterval: 15m
triggerlimit: 15
url: https://yourwebhook/endpoint
# pass in data source attributes as arguments for module(s) declared in the same config
test:
type: logdna:View
properties:
query: level:debug my query
emailChannels: ${managedRemote.emailChannels}
pagerdutyChannels: ${externalRemote.pagerdutyChannels}
slackChannels: ${externalRemote.slackChannels}
webhookChannels: ${externalRemote.webhookChannels}
variables:
managedRemote:
fn::invoke:
function: logdna:getAlert
arguments:
presetid: ${managed.alertId}
externalRemote:
fn::invoke:
function: logdna:getAlert
arguments:
presetid: xxxxxxxxxx
Using getAlert
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getAlert(args: GetAlertArgs, opts?: InvokeOptions): Promise<GetAlertResult>
function getAlertOutput(args: GetAlertOutputArgs, opts?: InvokeOptions): Output<GetAlertResult>def get_alert(id: Optional[str] = None,
presetid: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetAlertResult
def get_alert_output(id: Optional[pulumi.Input[str]] = None,
presetid: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetAlertResult]func LookupAlert(ctx *Context, args *LookupAlertArgs, opts ...InvokeOption) (*LookupAlertResult, error)
func LookupAlertOutput(ctx *Context, args *LookupAlertOutputArgs, opts ...InvokeOption) LookupAlertResultOutput> Note: This function is named LookupAlert in the Go SDK.
public static class GetAlert
{
public static Task<GetAlertResult> InvokeAsync(GetAlertArgs args, InvokeOptions? opts = null)
public static Output<GetAlertResult> Invoke(GetAlertInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetAlertResult> getAlert(GetAlertArgs args, InvokeOptions options)
public static Output<GetAlertResult> getAlert(GetAlertArgs args, InvokeOptions options)
fn::invoke:
function: logdna:index/getAlert:getAlert
arguments:
# arguments dictionaryThe following arguments are supported:
getAlert Result
The following output properties are available:
- Email
Channels List<GetAlert Email Channel> - List of notifications configured via email in the given preset alert
- Id string
- Name string
- Name of the given preset alert
- Pagerduty
Channels List<GetAlert Pagerduty Channel> - List of notifications configured via PagerDuty in the given preset alert
- Presetid string
- Slack
Channels List<GetAlert Slack Channel> - List of notifications configured via Slack in the given preset alert
- Webhook
Channels List<GetAlert Webhook Channel> - List of notifications configured via webhook(s) in the given preset alert
- Email
Channels []GetAlert Email Channel - List of notifications configured via email in the given preset alert
- Id string
- Name string
- Name of the given preset alert
- Pagerduty
Channels []GetAlert Pagerduty Channel - List of notifications configured via PagerDuty in the given preset alert
- Presetid string
- Slack
Channels []GetAlert Slack Channel - List of notifications configured via Slack in the given preset alert
- Webhook
Channels []GetAlert Webhook Channel - List of notifications configured via webhook(s) in the given preset alert
- email
Channels List<GetAlert Email Channel> - List of notifications configured via email in the given preset alert
- id String
- name String
- Name of the given preset alert
- pagerduty
Channels List<GetAlert Pagerduty Channel> - List of notifications configured via PagerDuty in the given preset alert
- presetid String
- slack
Channels List<GetAlert Slack Channel> - List of notifications configured via Slack in the given preset alert
- webhook
Channels List<GetAlert Webhook Channel> - List of notifications configured via webhook(s) in the given preset alert
- email
Channels GetAlert Email Channel[] - List of notifications configured via email in the given preset alert
- id string
- name string
- Name of the given preset alert
- pagerduty
Channels GetAlert Pagerduty Channel[] - List of notifications configured via PagerDuty in the given preset alert
- presetid string
- slack
Channels GetAlert Slack Channel[] - List of notifications configured via Slack in the given preset alert
- webhook
Channels GetAlert Webhook Channel[] - List of notifications configured via webhook(s) in the given preset alert
- email_
channels Sequence[GetAlert Email Channel] - List of notifications configured via email in the given preset alert
- id str
- name str
- Name of the given preset alert
- pagerduty_
channels Sequence[GetAlert Pagerduty Channel] - List of notifications configured via PagerDuty in the given preset alert
- presetid str
- slack_
channels Sequence[GetAlert Slack Channel] - List of notifications configured via Slack in the given preset alert
- webhook_
channels Sequence[GetAlert Webhook Channel] - List of notifications configured via webhook(s) in the given preset alert
- email
Channels List<Property Map> - List of notifications configured via email in the given preset alert
- id String
- name String
- Name of the given preset alert
- pagerduty
Channels List<Property Map> - List of notifications configured via PagerDuty in the given preset alert
- presetid String
- slack
Channels List<Property Map> - List of notifications configured via Slack in the given preset alert
- webhook
Channels List<Property Map> - List of notifications configured via webhook(s) in the given preset alert
Supporting Types
GetAlertEmailChannel
- Emails List<string>
- Immediate string
- Operator string
- Terminal string
- Timezone string
- Triggerinterval string
- Triggerlimit double
- Emails []string
- Immediate string
- Operator string
- Terminal string
- Timezone string
- Triggerinterval string
- Triggerlimit float64
- emails List<String>
- immediate String
- operator String
- terminal String
- timezone String
- triggerinterval String
- triggerlimit Double
- emails string[]
- immediate string
- operator string
- terminal string
- timezone string
- triggerinterval string
- triggerlimit number
- emails Sequence[str]
- immediate str
- operator str
- terminal str
- timezone str
- triggerinterval str
- triggerlimit float
- emails List<String>
- immediate String
- operator String
- terminal String
- timezone String
- triggerinterval String
- triggerlimit Number
GetAlertPagerdutyChannel
- Autoresolve bool
- Autoresolveinterval string
- Autoresolvelimit double
- Immediate string
- Key string
- Operator string
- Terminal string
- Triggerinterval string
- Triggerlimit double
- Autoresolve bool
- Autoresolveinterval string
- Autoresolvelimit float64
- Immediate string
- Key string
- Operator string
- Terminal string
- Triggerinterval string
- Triggerlimit float64
- autoresolve Boolean
- autoresolveinterval String
- autoresolvelimit Double
- immediate String
- key String
- operator String
- terminal String
- triggerinterval String
- triggerlimit Double
- autoresolve boolean
- autoresolveinterval string
- autoresolvelimit number
- immediate string
- key string
- operator string
- terminal string
- triggerinterval string
- triggerlimit number
- autoresolve bool
- autoresolveinterval str
- autoresolvelimit float
- immediate str
- key str
- operator str
- terminal str
- triggerinterval str
- triggerlimit float
- autoresolve Boolean
- autoresolveinterval String
- autoresolvelimit Number
- immediate String
- key String
- operator String
- terminal String
- triggerinterval String
- triggerlimit Number
GetAlertSlackChannel
- Immediate string
- Operator string
- Terminal string
- Triggerinterval string
- Triggerlimit double
- Url string
- Immediate string
- Operator string
- Terminal string
- Triggerinterval string
- Triggerlimit float64
- Url string
- immediate String
- operator String
- terminal String
- triggerinterval String
- triggerlimit Double
- url String
- immediate string
- operator string
- terminal string
- triggerinterval string
- triggerlimit number
- url string
- immediate str
- operator str
- terminal str
- triggerinterval str
- triggerlimit float
- url str
- immediate String
- operator String
- terminal String
- triggerinterval String
- triggerlimit Number
- url String
GetAlertWebhookChannel
- Bodytemplate string
- Headers Dictionary<string, string>
- Immediate string
- Method string
- Operator string
- Terminal string
- Triggerinterval string
- Triggerlimit double
- Url string
- Bodytemplate string
- Headers map[string]string
- Immediate string
- Method string
- Operator string
- Terminal string
- Triggerinterval string
- Triggerlimit float64
- Url string
- bodytemplate String
- headers Map<String,String>
- immediate String
- method String
- operator String
- terminal String
- triggerinterval String
- triggerlimit Double
- url String
- bodytemplate string
- headers {[key: string]: string}
- immediate string
- method string
- operator string
- terminal string
- triggerinterval string
- triggerlimit number
- url string
- bodytemplate str
- headers Mapping[str, str]
- immediate str
- method str
- operator str
- terminal str
- triggerinterval str
- triggerlimit float
- url str
- bodytemplate String
- headers Map<String>
- immediate String
- method String
- operator String
- terminal String
- triggerinterval String
- triggerlimit Number
- url String
Package Details
- Repository
- logdna logdna/terraform-provider-logdna
- License
- Notes
- This Pulumi package is based on the
logdnaTerraform Provider.
Viewing docs for logdna 1.17.2
published on Thursday, Oct 16, 2025 by logdna
published on Thursday, Oct 16, 2025 by logdna
