New Relic v5.25.3 published on Tuesday, Jun 25, 2024 by Pulumi
newrelic.getKeyTransaction
Explore with Pulumi AI
Use this data source to get information about a specific key transaction in New Relic that already exists.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as newrelic from "@pulumi/newrelic";
const txn = newrelic.getKeyTransaction({
    name: "txn",
});
const foo = new newrelic.AlertPolicy("foo", {name: "foo"});
const fooAlertCondition = new newrelic.AlertCondition("foo", {
    policyId: foo.id,
    name: "foo",
    type: "apm_kt_metric",
    entities: [txn.then(txn => txn.id)],
    metric: "error_percentage",
    runbookUrl: "https://www.example.com",
    terms: [{
        duration: 5,
        operator: "below",
        priority: "critical",
        threshold: 0.75,
        timeFunction: "all",
    }],
});
import pulumi
import pulumi_newrelic as newrelic
txn = newrelic.get_key_transaction(name="txn")
foo = newrelic.AlertPolicy("foo", name="foo")
foo_alert_condition = newrelic.AlertCondition("foo",
    policy_id=foo.id,
    name="foo",
    type="apm_kt_metric",
    entities=[txn.id],
    metric="error_percentage",
    runbook_url="https://www.example.com",
    terms=[newrelic.AlertConditionTermArgs(
        duration=5,
        operator="below",
        priority="critical",
        threshold=0.75,
        time_function="all",
    )])
package main
import (
	"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		txn, err := newrelic.GetKeyTransaction(ctx, &newrelic.GetKeyTransactionArgs{
			Name: "txn",
		}, nil)
		if err != nil {
			return err
		}
		foo, err := newrelic.NewAlertPolicy(ctx, "foo", &newrelic.AlertPolicyArgs{
			Name: pulumi.String("foo"),
		})
		if err != nil {
			return err
		}
		_, err = newrelic.NewAlertCondition(ctx, "foo", &newrelic.AlertConditionArgs{
			PolicyId: foo.ID(),
			Name:     pulumi.String("foo"),
			Type:     pulumi.String("apm_kt_metric"),
			Entities: pulumi.StringArray{
				pulumi.String(txn.Id),
			},
			Metric:     pulumi.String("error_percentage"),
			RunbookUrl: pulumi.String("https://www.example.com"),
			Terms: newrelic.AlertConditionTermArray{
				&newrelic.AlertConditionTermArgs{
					Duration:     pulumi.Int(5),
					Operator:     pulumi.String("below"),
					Priority:     pulumi.String("critical"),
					Threshold:    pulumi.Float64(0.75),
					TimeFunction: pulumi.String("all"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using NewRelic = Pulumi.NewRelic;
return await Deployment.RunAsync(() => 
{
    var txn = NewRelic.GetKeyTransaction.Invoke(new()
    {
        Name = "txn",
    });
    var foo = new NewRelic.AlertPolicy("foo", new()
    {
        Name = "foo",
    });
    var fooAlertCondition = new NewRelic.AlertCondition("foo", new()
    {
        PolicyId = foo.Id,
        Name = "foo",
        Type = "apm_kt_metric",
        Entities = new[]
        {
            txn.Apply(getKeyTransactionResult => getKeyTransactionResult.Id),
        },
        Metric = "error_percentage",
        RunbookUrl = "https://www.example.com",
        Terms = new[]
        {
            new NewRelic.Inputs.AlertConditionTermArgs
            {
                Duration = 5,
                Operator = "below",
                Priority = "critical",
                Threshold = 0.75,
                TimeFunction = "all",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.newrelic.NewrelicFunctions;
import com.pulumi.newrelic.inputs.GetKeyTransactionArgs;
import com.pulumi.newrelic.AlertPolicy;
import com.pulumi.newrelic.AlertPolicyArgs;
import com.pulumi.newrelic.AlertCondition;
import com.pulumi.newrelic.AlertConditionArgs;
import com.pulumi.newrelic.inputs.AlertConditionTermArgs;
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) {
        final var txn = NewrelicFunctions.getKeyTransaction(GetKeyTransactionArgs.builder()
            .name("txn")
            .build());
        var foo = new AlertPolicy("foo", AlertPolicyArgs.builder()
            .name("foo")
            .build());
        var fooAlertCondition = new AlertCondition("fooAlertCondition", AlertConditionArgs.builder()
            .policyId(foo.id())
            .name("foo")
            .type("apm_kt_metric")
            .entities(txn.applyValue(getKeyTransactionResult -> getKeyTransactionResult.id()))
            .metric("error_percentage")
            .runbookUrl("https://www.example.com")
            .terms(AlertConditionTermArgs.builder()
                .duration(5)
                .operator("below")
                .priority("critical")
                .threshold("0.75")
                .timeFunction("all")
                .build())
            .build());
    }
}
resources:
  foo:
    type: newrelic:AlertPolicy
    properties:
      name: foo
  fooAlertCondition:
    type: newrelic:AlertCondition
    name: foo
    properties:
      policyId: ${foo.id}
      name: foo
      type: apm_kt_metric
      entities:
        - ${txn.id}
      metric: error_percentage
      runbookUrl: https://www.example.com
      terms:
        - duration: 5
          operator: below
          priority: critical
          threshold: '0.75'
          timeFunction: all
variables:
  txn:
    fn::invoke:
      Function: newrelic:getKeyTransaction
      Arguments:
        name: txn
Using getKeyTransaction
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 getKeyTransaction(args: GetKeyTransactionArgs, opts?: InvokeOptions): Promise<GetKeyTransactionResult>
function getKeyTransactionOutput(args: GetKeyTransactionOutputArgs, opts?: InvokeOptions): Output<GetKeyTransactionResult>def get_key_transaction(name: Optional[str] = None,
                        opts: Optional[InvokeOptions] = None) -> GetKeyTransactionResult
def get_key_transaction_output(name: Optional[pulumi.Input[str]] = None,
                        opts: Optional[InvokeOptions] = None) -> Output[GetKeyTransactionResult]func GetKeyTransaction(ctx *Context, args *GetKeyTransactionArgs, opts ...InvokeOption) (*GetKeyTransactionResult, error)
func GetKeyTransactionOutput(ctx *Context, args *GetKeyTransactionOutputArgs, opts ...InvokeOption) GetKeyTransactionResultOutput> Note: This function is named GetKeyTransaction in the Go SDK.
public static class GetKeyTransaction 
{
    public static Task<GetKeyTransactionResult> InvokeAsync(GetKeyTransactionArgs args, InvokeOptions? opts = null)
    public static Output<GetKeyTransactionResult> Invoke(GetKeyTransactionInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetKeyTransactionResult> getKeyTransaction(GetKeyTransactionArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: newrelic:index/getKeyTransaction:getKeyTransaction
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Name string
 - The name of the key transaction in New Relic.
 
- Name string
 - The name of the key transaction in New Relic.
 
- name String
 - The name of the key transaction in New Relic.
 
- name string
 - The name of the key transaction in New Relic.
 
- name str
 - The name of the key transaction in New Relic.
 
- name String
 - The name of the key transaction in New Relic.
 
getKeyTransaction Result
The following output properties are available:
Package Details
- Repository
 - New Relic pulumi/pulumi-newrelic
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
newrelicTerraform Provider.