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=[{
        "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.LookupKeyTransaction(ctx, &newrelic.LookupKeyTransactionArgs{
			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.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(account_id: Optional[str] = None,
                        guid: Optional[str] = None,
                        name: Optional[str] = None,
                        opts: Optional[InvokeOptions] = None) -> GetKeyTransactionResult
def get_key_transaction_output(account_id: Optional[pulumi.Input[str]] = None,
                        guid: Optional[pulumi.Input[str]] = None,
                        name: Optional[pulumi.Input[str]] = None,
                        opts: Optional[InvokeOptions] = None) -> Output[GetKeyTransactionResult]func LookupKeyTransaction(ctx *Context, args *LookupKeyTransactionArgs, opts ...InvokeOption) (*LookupKeyTransactionResult, error)
func LookupKeyTransactionOutput(ctx *Context, args *LookupKeyTransactionOutputArgs, opts ...InvokeOption) LookupKeyTransactionResultOutput> Note: This function is named LookupKeyTransaction 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)
public static Output<GetKeyTransactionResult> getKeyTransaction(GetKeyTransactionArgs args, InvokeOptions options)
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.
- AccountId string
- The account ID you would like to search for key transactions in. Defaults to - account_idin the- provider{}(or- NEW_RELIC_ACCOUNT_IDin your environment) if not specified.- NOTE If the - namespecified in the configuration matches the names of multiple key transactions in the account, the data source will return the first match from the list of all matching key transactions retrieved from the API. However, when using the- guidargument as the search criterion, only the key transaction with that particular GUID is returned, as each key transaction has a unique GUID.
- Guid string
- GUID of the key transaction in New Relic.
- Name string
- The name of the key transaction in New Relic.
- AccountId string
- The account ID you would like to search for key transactions in. Defaults to - account_idin the- provider{}(or- NEW_RELIC_ACCOUNT_IDin your environment) if not specified.- NOTE If the - namespecified in the configuration matches the names of multiple key transactions in the account, the data source will return the first match from the list of all matching key transactions retrieved from the API. However, when using the- guidargument as the search criterion, only the key transaction with that particular GUID is returned, as each key transaction has a unique GUID.
- Guid string
- GUID of the key transaction in New Relic.
- name String
- The name of the key transaction in New Relic.
- accountId String
- The account ID you would like to search for key transactions in. Defaults to - account_idin the- provider{}(or- NEW_RELIC_ACCOUNT_IDin your environment) if not specified.- NOTE If the - namespecified in the configuration matches the names of multiple key transactions in the account, the data source will return the first match from the list of all matching key transactions retrieved from the API. However, when using the- guidargument as the search criterion, only the key transaction with that particular GUID is returned, as each key transaction has a unique GUID.
- guid String
- GUID of the key transaction in New Relic.
- name string
- The name of the key transaction in New Relic.
- accountId string
- The account ID you would like to search for key transactions in. Defaults to - account_idin the- provider{}(or- NEW_RELIC_ACCOUNT_IDin your environment) if not specified.- NOTE If the - namespecified in the configuration matches the names of multiple key transactions in the account, the data source will return the first match from the list of all matching key transactions retrieved from the API. However, when using the- guidargument as the search criterion, only the key transaction with that particular GUID is returned, as each key transaction has a unique GUID.
- guid string
- GUID of the key transaction in New Relic.
- name str
- The name of the key transaction in New Relic.
- account_id str
- The account ID you would like to search for key transactions in. Defaults to - account_idin the- provider{}(or- NEW_RELIC_ACCOUNT_IDin your environment) if not specified.- NOTE If the - namespecified in the configuration matches the names of multiple key transactions in the account, the data source will return the first match from the list of all matching key transactions retrieved from the API. However, when using the- guidargument as the search criterion, only the key transaction with that particular GUID is returned, as each key transaction has a unique GUID.
- guid str
- GUID of the key transaction in New Relic.
- name String
- The name of the key transaction in New Relic.
- accountId String
- The account ID you would like to search for key transactions in. Defaults to - account_idin the- provider{}(or- NEW_RELIC_ACCOUNT_IDin your environment) if not specified.- NOTE If the - namespecified in the configuration matches the names of multiple key transactions in the account, the data source will return the first match from the list of all matching key transactions retrieved from the API. However, when using the- guidargument as the search criterion, only the key transaction with that particular GUID is returned, as each key transaction has a unique GUID.
- guid String
- GUID 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.