1. Packages
  2. Newrelic Provider
  3. API Docs
  4. getApplication
New Relic v5.44.0 published on Saturday, Mar 29, 2025 by Pulumi

newrelic.getApplication

Explore with Pulumi AI

New Relic v5.44.0 published on Saturday, Mar 29, 2025 by Pulumi

DEPRECATED! Use at your own risk. Use the newrelic.getEntity data source instead. This feature may be removed in the next major release

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

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as newrelic from "@pulumi/newrelic";

const app = newrelic.getApplication({
    name: "my-app",
});
const foo = new newrelic.AlertPolicy("foo", {name: "foo"});
const fooAlertCondition = new newrelic.AlertCondition("foo", {
    policyId: foo.id,
    name: "foo",
    type: "apm_app_metric",
    entities: [app.then(app => app.id)],
    metric: "apdex",
    runbookUrl: "https://www.example.com",
    terms: [{
        duration: 5,
        operator: "below",
        priority: "critical",
        threshold: 0.75,
        timeFunction: "all",
    }],
});
Copy
import pulumi
import pulumi_newrelic as newrelic

app = newrelic.get_application(name="my-app")
foo = newrelic.AlertPolicy("foo", name="foo")
foo_alert_condition = newrelic.AlertCondition("foo",
    policy_id=foo.id,
    name="foo",
    type="apm_app_metric",
    entities=[app.id],
    metric="apdex",
    runbook_url="https://www.example.com",
    terms=[{
        "duration": 5,
        "operator": "below",
        "priority": "critical",
        "threshold": 0.75,
        "time_function": "all",
    }])
Copy
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 {
		app, err := newrelic.GetApplication(ctx, &newrelic.GetApplicationArgs{
			Name: "my-app",
		}, 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_app_metric"),
			Entities: pulumi.StringArray{
				pulumi.String(app.Id),
			},
			Metric:     pulumi.String("apdex"),
			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
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using NewRelic = Pulumi.NewRelic;

return await Deployment.RunAsync(() => 
{
    var app = NewRelic.GetApplication.Invoke(new()
    {
        Name = "my-app",
    });

    var foo = new NewRelic.AlertPolicy("foo", new()
    {
        Name = "foo",
    });

    var fooAlertCondition = new NewRelic.AlertCondition("foo", new()
    {
        PolicyId = foo.Id,
        Name = "foo",
        Type = "apm_app_metric",
        Entities = new[]
        {
            app.Apply(getApplicationResult => getApplicationResult.Id),
        },
        Metric = "apdex",
        RunbookUrl = "https://www.example.com",
        Terms = new[]
        {
            new NewRelic.Inputs.AlertConditionTermArgs
            {
                Duration = 5,
                Operator = "below",
                Priority = "critical",
                Threshold = 0.75,
                TimeFunction = "all",
            },
        },
    });

});
Copy
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.GetApplicationArgs;
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 app = NewrelicFunctions.getApplication(GetApplicationArgs.builder()
            .name("my-app")
            .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_app_metric")
            .entities(app.applyValue(getApplicationResult -> getApplicationResult.id()))
            .metric("apdex")
            .runbookUrl("https://www.example.com")
            .terms(AlertConditionTermArgs.builder()
                .duration(5)
                .operator("below")
                .priority("critical")
                .threshold("0.75")
                .timeFunction("all")
                .build())
            .build());

    }
}
Copy
resources:
  foo:
    type: newrelic:AlertPolicy
    properties:
      name: foo
  fooAlertCondition:
    type: newrelic:AlertCondition
    name: foo
    properties:
      policyId: ${foo.id}
      name: foo
      type: apm_app_metric
      entities:
        - ${app.id}
      metric: apdex
      runbookUrl: https://www.example.com
      terms:
        - duration: 5
          operator: below
          priority: critical
          threshold: '0.75'
          timeFunction: all
variables:
  app:
    fn::invoke:
      function: newrelic:getApplication
      arguments:
        name: my-app
Copy

Using getApplication

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 getApplication(args: GetApplicationArgs, opts?: InvokeOptions): Promise<GetApplicationResult>
function getApplicationOutput(args: GetApplicationOutputArgs, opts?: InvokeOptions): Output<GetApplicationResult>
Copy
def get_application(name: Optional[str] = None,
                    opts: Optional[InvokeOptions] = None) -> GetApplicationResult
def get_application_output(name: Optional[pulumi.Input[str]] = None,
                    opts: Optional[InvokeOptions] = None) -> Output[GetApplicationResult]
Copy
func GetApplication(ctx *Context, args *GetApplicationArgs, opts ...InvokeOption) (*GetApplicationResult, error)
func GetApplicationOutput(ctx *Context, args *GetApplicationOutputArgs, opts ...InvokeOption) GetApplicationResultOutput
Copy

> Note: This function is named GetApplication in the Go SDK.

public static class GetApplication 
{
    public static Task<GetApplicationResult> InvokeAsync(GetApplicationArgs args, InvokeOptions? opts = null)
    public static Output<GetApplicationResult> Invoke(GetApplicationInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetApplicationResult> getApplication(GetApplicationArgs args, InvokeOptions options)
public static Output<GetApplicationResult> getApplication(GetApplicationArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: newrelic:index/getApplication:getApplication
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Name This property is required. string
The name of the application in New Relic.
Name This property is required. string
The name of the application in New Relic.
name This property is required. String
The name of the application in New Relic.
name This property is required. string
The name of the application in New Relic.
name This property is required. str
The name of the application in New Relic.
name This property is required. String
The name of the application in New Relic.

getApplication Result

The following output properties are available:

HostIds List<string>
A list of host IDs associated with the application.
Id string
The provider-assigned unique ID for this managed resource.
InstanceIds List<string>
A list of instance IDs associated with the application.
Name string
HostIds []string
A list of host IDs associated with the application.
Id string
The provider-assigned unique ID for this managed resource.
InstanceIds []string
A list of instance IDs associated with the application.
Name string
hostIds List<String>
A list of host IDs associated with the application.
id String
The provider-assigned unique ID for this managed resource.
instanceIds List<String>
A list of instance IDs associated with the application.
name String
hostIds string[]
A list of host IDs associated with the application.
id string
The provider-assigned unique ID for this managed resource.
instanceIds string[]
A list of instance IDs associated with the application.
name string
host_ids Sequence[str]
A list of host IDs associated with the application.
id str
The provider-assigned unique ID for this managed resource.
instance_ids Sequence[str]
A list of instance IDs associated with the application.
name str
hostIds List<String>
A list of host IDs associated with the application.
id String
The provider-assigned unique ID for this managed resource.
instanceIds List<String>
A list of instance IDs associated with the application.
name String

Package Details

Repository
New Relic pulumi/pulumi-newrelic
License
Apache-2.0
Notes
This Pulumi package is based on the newrelic Terraform Provider.
New Relic v5.44.0 published on Saturday, Mar 29, 2025 by Pulumi