New Relic

v5.1.0 published on Tuesday, Oct 4, 2022 by Pulumi

getKeyTransaction

Use this data source to get information about a specific key transaction in New Relic that already exists.

Example Usage

using System.Collections.Generic;
using Pulumi;
using NewRelic = Pulumi.NewRelic;

return await Deployment.RunAsync(() => 
{
    var txn = NewRelic.GetKeyTransaction.Invoke(new()
    {
        Name = "txn",
    });

    var fooAlertPolicy = new NewRelic.AlertPolicy("fooAlertPolicy");

    var fooAlertCondition = new NewRelic.AlertCondition("fooAlertCondition", new()
    {
        PolicyId = fooAlertPolicy.Id,
        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 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, &GetKeyTransactionArgs{
			Name: "txn",
		}, nil)
		if err != nil {
			return err
		}
		fooAlertPolicy, err := newrelic.NewAlertPolicy(ctx, "fooAlertPolicy", nil)
		if err != nil {
			return err
		}
		_, err = newrelic.NewAlertCondition(ctx, "fooAlertCondition", &newrelic.AlertConditionArgs{
			PolicyId: fooAlertPolicy.ID(),
			Type:     pulumi.String("apm_kt_metric"),
			Entities: pulumi.IntArray{
				pulumi.String(txn.Id),
			},
			Metric:     pulumi.String("error_percentage"),
			RunbookUrl: pulumi.String("https://www.example.com"),
			Terms: AlertConditionTermArray{
				&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
	})
}
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.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 fooAlertPolicy = new AlertPolicy("fooAlertPolicy");

        var fooAlertCondition = new AlertCondition("fooAlertCondition", AlertConditionArgs.builder()        
            .policyId(fooAlertPolicy.id())
            .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());

    }
}
import pulumi
import pulumi_newrelic as newrelic

txn = newrelic.get_key_transaction(name="txn")
foo_alert_policy = newrelic.AlertPolicy("fooAlertPolicy")
foo_alert_condition = newrelic.AlertCondition("fooAlertCondition",
    policy_id=foo_alert_policy.id,
    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",
    )])
import * as pulumi from "@pulumi/pulumi";
import * as newrelic from "@pulumi/newrelic";

const txn = newrelic.getKeyTransaction({
    name: "txn",
});
const fooAlertPolicy = new newrelic.AlertPolicy("fooAlertPolicy", {});
const fooAlertCondition = new newrelic.AlertCondition("fooAlertCondition", {
    policyId: fooAlertPolicy.id,
    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",
    }],
});
resources:
  fooAlertPolicy:
    type: newrelic:AlertPolicy
  fooAlertCondition:
    type: newrelic:AlertCondition
    properties:
      policyId: ${fooAlertPolicy.id}
      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 dictionary

The 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:

Id string

The provider-assigned unique ID for this managed resource.

Name string
Id string

The provider-assigned unique ID for this managed resource.

Name string
id String

The provider-assigned unique ID for this managed resource.

name String
id string

The provider-assigned unique ID for this managed resource.

name string
id str

The provider-assigned unique ID for this managed resource.

name str
id String

The provider-assigned unique ID for this managed resource.

name String

Package Details

Repository
https://github.com/pulumi/pulumi-newrelic
License
Apache-2.0
Notes

This Pulumi package is based on the newrelic Terraform Provider.