DEPRECATED Use at your own risk. Use the
newrelic.getEntitydata 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. More information on Terraform’s data sources can be found here.
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",
}],
});
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",
}])
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
})
}
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",
},
},
});
});
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.id())
.metric("apdex")
.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_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
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>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]func GetApplication(ctx *Context, args *GetApplicationArgs, opts ...InvokeOption) (*GetApplicationResult, error)
func GetApplicationOutput(ctx *Context, args *GetApplicationOutputArgs, opts ...InvokeOption) GetApplicationResultOutput> 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)
}public static CompletableFuture<GetApplicationResult> getApplication(GetApplicationArgs args, InvokeOptions options)
public static Output<GetApplicationResult> getApplication(GetApplicationArgs args, InvokeOptions options)
fn::invoke:
function: newrelic:index/getApplication:getApplication
arguments:
# arguments dictionaryThe following arguments are supported:
- Name string
- The name of the application in New Relic.
- Name string
- The name of the application in New Relic.
- name String
- The name of the application in New Relic.
- name string
- The name of the application in New Relic.
- name str
- The name of the application in New Relic.
- name String
- The name of the application in New Relic.
getApplication Result
The following output properties are available:
- Host
Ids List<string> - A list of host IDs associated with the application.
- Id string
- The provider-assigned unique ID for this managed resource.
- Instance
Ids List<string> - A list of instance IDs associated with the application.
- Name string
- Host
Ids []string - A list of host IDs associated with the application.
- Id string
- The provider-assigned unique ID for this managed resource.
- Instance
Ids []string - A list of instance IDs associated with the application.
- Name string
- host
Ids List<String> - A list of host IDs associated with the application.
- id String
- The provider-assigned unique ID for this managed resource.
- instance
Ids List<String> - A list of instance IDs associated with the application.
- name String
- host
Ids string[] - A list of host IDs associated with the application.
- id string
- The provider-assigned unique ID for this managed resource.
- instance
Ids 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
- host
Ids List<String> - A list of host IDs associated with the application.
- id String
- The provider-assigned unique ID for this managed resource.
- instance
Ids 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
newrelicTerraform Provider.
