1. Packages
  2. New Relic
  3. API Docs
  4. getApplication
New Relic v5.22.1 published on Friday, Mar 29, 2024 by Pulumi

newrelic.getApplication

Explore with Pulumi AI

newrelic logo
New Relic v5.22.1 published on Friday, Mar 29, 2024 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 fooAlertPolicy = new newrelic.AlertPolicy("fooAlertPolicy", {});
    const fooAlertCondition = new newrelic.AlertCondition("fooAlertCondition", {
        policyId: fooAlertPolicy.id,
        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_alert_policy = newrelic.AlertPolicy("fooAlertPolicy")
    foo_alert_condition = newrelic.AlertCondition("fooAlertCondition",
        policy_id=foo_alert_policy.id,
        type="apm_app_metric",
        entities=[app.id],
        metric="apdex",
        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 {
    		app, err := newrelic.GetApplication(ctx, &newrelic.GetApplicationArgs{
    			Name: "my-app",
    		}, 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_app_metric"),
    			Entities: pulumi.IntArray{
    				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 fooAlertPolicy = new NewRelic.AlertPolicy("fooAlertPolicy");
    
        var fooAlertCondition = new NewRelic.AlertCondition("fooAlertCondition", new()
        {
            PolicyId = fooAlertPolicy.Id,
            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.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 fooAlertPolicy = new AlertPolicy("fooAlertPolicy");
    
            var fooAlertCondition = new AlertCondition("fooAlertCondition", AlertConditionArgs.builder()        
                .policyId(fooAlertPolicy.id())
                .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());
    
        }
    }
    
    resources:
      fooAlertPolicy:
        type: newrelic:AlertPolicy
      fooAlertCondition:
        type: newrelic:AlertCondition
        properties:
          policyId: ${fooAlertPolicy.id}
          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)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: newrelic:index/getApplication:getApplication
      arguments:
        # arguments dictionary

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

    HostIds List<int>
    A list of host IDs associated with the application.
    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceIds List<int>
    A list of instance IDs associated with the application.
    Name string
    HostIds []int
    A list of host IDs associated with the application.
    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceIds []int
    A list of instance IDs associated with the application.
    Name string
    hostIds List<Integer>
    A list of host IDs associated with the application.
    id String
    The provider-assigned unique ID for this managed resource.
    instanceIds List<Integer>
    A list of instance IDs associated with the application.
    name String
    hostIds number[]
    A list of host IDs associated with the application.
    id string
    The provider-assigned unique ID for this managed resource.
    instanceIds number[]
    A list of instance IDs associated with the application.
    name string
    host_ids Sequence[int]
    A list of host IDs associated with the application.
    id str
    The provider-assigned unique ID for this managed resource.
    instance_ids Sequence[int]
    A list of instance IDs associated with the application.
    name str
    hostIds List<Number>
    A list of host IDs associated with the application.
    id String
    The provider-assigned unique ID for this managed resource.
    instanceIds List<Number>
    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.
    newrelic logo
    New Relic v5.22.1 published on Friday, Mar 29, 2024 by Pulumi