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

newrelic.getGroup

Explore with Pulumi AI

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

The newrelic.Group data source helps search for a group by its name and retrieve the ID of the matching group and other associated attributes.

Example Usage

The below example illustrates fetching the ID of a group (and IDs of users who belong to the group, if any) using the required arguments.

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

const foo = newrelic.getAuthenticationDomain({
    name: "Test Authentication Domain",
});
const fooGetGroup = foo.then(foo => newrelic.getGroup({
    authenticationDomainId: foo.id,
    name: "Test Group",
}));
Copy
import pulumi
import pulumi_newrelic as newrelic

foo = newrelic.get_authentication_domain(name="Test Authentication Domain")
foo_get_group = newrelic.get_group(authentication_domain_id=foo.id,
    name="Test Group")
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 {
		foo, err := newrelic.GetAuthenticationDomain(ctx, &newrelic.GetAuthenticationDomainArgs{
			Name: "Test Authentication Domain",
		}, nil)
		if err != nil {
			return err
		}
		_, err = newrelic.LookupGroup(ctx, &newrelic.LookupGroupArgs{
			AuthenticationDomainId: foo.Id,
			Name:                   "Test Group",
		}, nil)
		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 foo = NewRelic.GetAuthenticationDomain.Invoke(new()
    {
        Name = "Test Authentication Domain",
    });

    var fooGetGroup = NewRelic.GetGroup.Invoke(new()
    {
        AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id),
        Name = "Test Group",
    });

});
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.GetAuthenticationDomainArgs;
import com.pulumi.newrelic.inputs.GetGroupArgs;
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 foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()
            .name("Test Authentication Domain")
            .build());

        final var fooGetGroup = NewrelicFunctions.getGroup(GetGroupArgs.builder()
            .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
            .name("Test Group")
            .build());

    }
}
Copy
variables:
  foo:
    fn::invoke:
      function: newrelic:getAuthenticationDomain
      arguments:
        name: Test Authentication Domain
  fooGetGroup:
    fn::invoke:
      function: newrelic:getGroup
      arguments:
        authenticationDomainId: ${foo.id}
        name: Test Group
Copy

Additional Examples

The following example demonstrates utilizing attributes exported by this data source.

In order to directly reference the attributes id and user_ids from this data source, you can use the syntax data.newrelic_group.foo.id and data.newrelic_group.foo.user_ids, respectively. However, if you need to assign these values to local variables and perform further processing (such as conditionally formatting the user_ids attribute as shown in the example below), consider using the provided configuration. These variables can then be accessed elsewhere using the syntax local.id and local.user_id, respectively.

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

const foo = newrelic.getAuthenticationDomain({
    name: "Test Authentication Domain",
});
const fooGetGroup = foo.then(foo => newrelic.getGroup({
    authenticationDomainId: foo.id,
    name: "Test Group",
}));
const id = fooGetGroup.then(fooGetGroup => fooGetGroup.id);
const userIds = Promise.all([fooGetGroup.then(fooGetGroup => fooGetGroup.userIds).length, fooGetGroup.then(fooGetGroup => std.join({
    separator: ", ",
    input: fooGetGroup.userIds,
}))]).then(([length, invoke]) => length > 0 ? invoke.result : "");
Copy
import pulumi
import pulumi_newrelic as newrelic
import pulumi_std as std

foo = newrelic.get_authentication_domain(name="Test Authentication Domain")
foo_get_group = newrelic.get_group(authentication_domain_id=foo.id,
    name="Test Group")
id = foo_get_group.id
user_ids = std.join(separator=", ",
    input=foo_get_group.user_ids).result if len(foo_get_group.user_ids) > 0 else ""
Copy
package main

import (
	"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := newrelic.GetAuthenticationDomain(ctx, &newrelic.GetAuthenticationDomainArgs{
			Name: "Test Authentication Domain",
		}, nil)
		if err != nil {
			return err
		}
		fooGetGroup, err := newrelic.LookupGroup(ctx, &newrelic.LookupGroupArgs{
			AuthenticationDomainId: foo.Id,
			Name:                   "Test Group",
		}, nil)
		if err != nil {
			return err
		}
		_ := fooGetGroup.Id
		var tmp0 *string
		if pulumi.Float64(len(fooGetGroup.UserIds)) > 0 {
			tmp0 = std.Join(ctx, &std.JoinArgs{
				Separator: ", ",
				Input:     fooGetGroup.UserIds,
			}, nil).Result
		} else {
			tmp0 = ""
		}
		_ := tmp0
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using NewRelic = Pulumi.NewRelic;
using Std = Pulumi.Std;

return await Deployment.RunAsync(() => 
{
    var foo = NewRelic.GetAuthenticationDomain.Invoke(new()
    {
        Name = "Test Authentication Domain",
    });

    var fooGetGroup = NewRelic.GetGroup.Invoke(new()
    {
        AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id),
        Name = "Test Group",
    });

    var id = fooGetGroup.Apply(getGroupResult => getGroupResult.Id);

    var userIds = Output.Tuple(fooGetGroup.Apply(getGroupResult => getGroupResult.UserIds).Length, Std.Join.Invoke(new()
    {
        Separator = ", ",
        Input = fooGetGroup.Apply(getGroupResult => getGroupResult.UserIds),
    })).Apply(values =>
    {
        var length = values.Item1;
        var invoke = values.Item2;
        return length > 0 ? invoke.Result : "";
    });

});
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.GetAuthenticationDomainArgs;
import com.pulumi.newrelic.inputs.GetGroupArgs;
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 foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()
            .name("Test Authentication Domain")
            .build());

        final var fooGetGroup = NewrelicFunctions.getGroup(GetGroupArgs.builder()
            .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
            .name("Test Group")
            .build());

        final var id = fooGetGroup.applyValue(getGroupResult -> getGroupResult.id());

        final var userIds = fooGetGroup.applyValue(getGroupResult -> getGroupResult.userIds()).length() > 0 ? StdFunctions.join(JoinArgs.builder()
            .separator(", ")
            .input(fooGetGroup.applyValue(getGroupResult -> getGroupResult.userIds()))
            .build()).result() : "";

    }
}
Copy
Coming soon!

Using getGroup

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 getGroup(args: GetGroupArgs, opts?: InvokeOptions): Promise<GetGroupResult>
function getGroupOutput(args: GetGroupOutputArgs, opts?: InvokeOptions): Output<GetGroupResult>
Copy
def get_group(authentication_domain_id: Optional[str] = None,
              name: Optional[str] = None,
              opts: Optional[InvokeOptions] = None) -> GetGroupResult
def get_group_output(authentication_domain_id: Optional[pulumi.Input[str]] = None,
              name: Optional[pulumi.Input[str]] = None,
              opts: Optional[InvokeOptions] = None) -> Output[GetGroupResult]
Copy
func LookupGroup(ctx *Context, args *LookupGroupArgs, opts ...InvokeOption) (*LookupGroupResult, error)
func LookupGroupOutput(ctx *Context, args *LookupGroupOutputArgs, opts ...InvokeOption) LookupGroupResultOutput
Copy

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

public static class GetGroup 
{
    public static Task<GetGroupResult> InvokeAsync(GetGroupArgs args, InvokeOptions? opts = null)
    public static Output<GetGroupResult> Invoke(GetGroupInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetGroupResult> getGroup(GetGroupArgs args, InvokeOptions options)
public static Output<GetGroupResult> getGroup(GetGroupArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: newrelic:index/getGroup:getGroup
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

AuthenticationDomainId This property is required. string
The ID of the authentication domain the group to be searched for belongs to.
Name This property is required. string

The name of the group to search for.

NOTE The ID of an authentication domain can be retrieved using its name, via the data source newrelic.getAuthenticationDomain, as shown in the example above. Head over to the documentation of this data source for more details and examples.

AuthenticationDomainId This property is required. string
The ID of the authentication domain the group to be searched for belongs to.
Name This property is required. string

The name of the group to search for.

NOTE The ID of an authentication domain can be retrieved using its name, via the data source newrelic.getAuthenticationDomain, as shown in the example above. Head over to the documentation of this data source for more details and examples.

authenticationDomainId This property is required. String
The ID of the authentication domain the group to be searched for belongs to.
name This property is required. String

The name of the group to search for.

NOTE The ID of an authentication domain can be retrieved using its name, via the data source newrelic.getAuthenticationDomain, as shown in the example above. Head over to the documentation of this data source for more details and examples.

authenticationDomainId This property is required. string
The ID of the authentication domain the group to be searched for belongs to.
name This property is required. string

The name of the group to search for.

NOTE The ID of an authentication domain can be retrieved using its name, via the data source newrelic.getAuthenticationDomain, as shown in the example above. Head over to the documentation of this data source for more details and examples.

authentication_domain_id This property is required. str
The ID of the authentication domain the group to be searched for belongs to.
name This property is required. str

The name of the group to search for.

NOTE The ID of an authentication domain can be retrieved using its name, via the data source newrelic.getAuthenticationDomain, as shown in the example above. Head over to the documentation of this data source for more details and examples.

authenticationDomainId This property is required. String
The ID of the authentication domain the group to be searched for belongs to.
name This property is required. String

The name of the group to search for.

NOTE The ID of an authentication domain can be retrieved using its name, via the data source newrelic.getAuthenticationDomain, as shown in the example above. Head over to the documentation of this data source for more details and examples.

getGroup Result

The following output properties are available:

AuthenticationDomainId string
Id string
The ID of the fetched matching group.
Name string
UserIds List<string>
IDs of users who belong to the group. In the absence of any users in the group, the value of this attribute would be an empty list.
AuthenticationDomainId string
Id string
The ID of the fetched matching group.
Name string
UserIds []string
IDs of users who belong to the group. In the absence of any users in the group, the value of this attribute would be an empty list.
authenticationDomainId String
id String
The ID of the fetched matching group.
name String
userIds List<String>
IDs of users who belong to the group. In the absence of any users in the group, the value of this attribute would be an empty list.
authenticationDomainId string
id string
The ID of the fetched matching group.
name string
userIds string[]
IDs of users who belong to the group. In the absence of any users in the group, the value of this attribute would be an empty list.
authentication_domain_id str
id str
The ID of the fetched matching group.
name str
user_ids Sequence[str]
IDs of users who belong to the group. In the absence of any users in the group, the value of this attribute would be an empty list.
authenticationDomainId String
id String
The ID of the fetched matching group.
name String
userIds List<String>
IDs of users who belong to the group. In the absence of any users in the group, the value of this attribute would be an empty list.

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