PagerDuty v4.13.2 published on Thursday, Jun 27, 2024 by Pulumi
pagerduty.getUser
Explore with Pulumi AI
Use this data source to get information about a specific user that you can use for other PagerDuty resources.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as pagerduty from "@pulumi/pagerduty";
const me = pagerduty.getUser({
    email: "me@example.com",
});
const foo = new pagerduty.EscalationPolicy("foo", {
    name: "Engineering Escalation Policy",
    numLoops: 2,
    rules: [{
        escalationDelayInMinutes: 10,
        targets: [{
            type: "user_reference",
            id: me.then(me => me.id),
        }],
    }],
});
import pulumi
import pulumi_pagerduty as pagerduty
me = pagerduty.get_user(email="me@example.com")
foo = pagerduty.EscalationPolicy("foo",
    name="Engineering Escalation Policy",
    num_loops=2,
    rules=[pagerduty.EscalationPolicyRuleArgs(
        escalation_delay_in_minutes=10,
        targets=[pagerduty.EscalationPolicyRuleTargetArgs(
            type="user_reference",
            id=me.id,
        )],
    )])
package main
import (
	"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		me, err := pagerduty.LookupUser(ctx, &pagerduty.LookupUserArgs{
			Email: "me@example.com",
		}, nil)
		if err != nil {
			return err
		}
		_, err = pagerduty.NewEscalationPolicy(ctx, "foo", &pagerduty.EscalationPolicyArgs{
			Name:     pulumi.String("Engineering Escalation Policy"),
			NumLoops: pulumi.Int(2),
			Rules: pagerduty.EscalationPolicyRuleArray{
				&pagerduty.EscalationPolicyRuleArgs{
					EscalationDelayInMinutes: pulumi.Int(10),
					Targets: pagerduty.EscalationPolicyRuleTargetArray{
						&pagerduty.EscalationPolicyRuleTargetArgs{
							Type: pulumi.String("user_reference"),
							Id:   pulumi.String(me.Id),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Pagerduty = Pulumi.Pagerduty;
return await Deployment.RunAsync(() => 
{
    var me = Pagerduty.GetUser.Invoke(new()
    {
        Email = "me@example.com",
    });
    var foo = new Pagerduty.EscalationPolicy("foo", new()
    {
        Name = "Engineering Escalation Policy",
        NumLoops = 2,
        Rules = new[]
        {
            new Pagerduty.Inputs.EscalationPolicyRuleArgs
            {
                EscalationDelayInMinutes = 10,
                Targets = new[]
                {
                    new Pagerduty.Inputs.EscalationPolicyRuleTargetArgs
                    {
                        Type = "user_reference",
                        Id = me.Apply(getUserResult => getUserResult.Id),
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.pagerduty.PagerdutyFunctions;
import com.pulumi.pagerduty.inputs.GetUserArgs;
import com.pulumi.pagerduty.EscalationPolicy;
import com.pulumi.pagerduty.EscalationPolicyArgs;
import com.pulumi.pagerduty.inputs.EscalationPolicyRuleArgs;
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 me = PagerdutyFunctions.getUser(GetUserArgs.builder()
            .email("me@example.com")
            .build());
        var foo = new EscalationPolicy("foo", EscalationPolicyArgs.builder()
            .name("Engineering Escalation Policy")
            .numLoops(2)
            .rules(EscalationPolicyRuleArgs.builder()
                .escalationDelayInMinutes(10)
                .targets(EscalationPolicyRuleTargetArgs.builder()
                    .type("user_reference")
                    .id(me.applyValue(getUserResult -> getUserResult.id()))
                    .build())
                .build())
            .build());
    }
}
resources:
  foo:
    type: pagerduty:EscalationPolicy
    properties:
      name: Engineering Escalation Policy
      numLoops: 2
      rules:
        - escalationDelayInMinutes: 10
          targets:
            - type: user_reference
              id: ${me.id}
variables:
  me:
    fn::invoke:
      Function: pagerduty:getUser
      Arguments:
        email: me@example.com
Using getUser
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 getUser(args: GetUserArgs, opts?: InvokeOptions): Promise<GetUserResult>
function getUserOutput(args: GetUserOutputArgs, opts?: InvokeOptions): Output<GetUserResult>def get_user(email: Optional[str] = None,
             opts: Optional[InvokeOptions] = None) -> GetUserResult
def get_user_output(email: Optional[pulumi.Input[str]] = None,
             opts: Optional[InvokeOptions] = None) -> Output[GetUserResult]func LookupUser(ctx *Context, args *LookupUserArgs, opts ...InvokeOption) (*LookupUserResult, error)
func LookupUserOutput(ctx *Context, args *LookupUserOutputArgs, opts ...InvokeOption) LookupUserResultOutput> Note: This function is named LookupUser in the Go SDK.
public static class GetUser 
{
    public static Task<GetUserResult> InvokeAsync(GetUserArgs args, InvokeOptions? opts = null)
    public static Output<GetUserResult> Invoke(GetUserInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetUserResult> getUser(GetUserArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: pagerduty:index/getUser:getUser
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Email string
 - The email to use to find a user in the PagerDuty API.
 
- Email string
 - The email to use to find a user in the PagerDuty API.
 
- email String
 - The email to use to find a user in the PagerDuty API.
 
- email string
 - The email to use to find a user in the PagerDuty API.
 
- email str
 - The email to use to find a user in the PagerDuty API.
 
- email String
 - The email to use to find a user in the PagerDuty API.
 
getUser Result
The following output properties are available:
- Description string
 - The human-friendly description of the found user.
 - Email string
 - Id string
 - The provider-assigned unique ID for this managed resource.
 - Job
Title string - The job title of the found user.
 - Name string
 - The short name of the found user.
 - Role string
 - The role of the found user.
 - Time
Zone string - The timezone of the found user.
 
- Description string
 - The human-friendly description of the found user.
 - Email string
 - Id string
 - The provider-assigned unique ID for this managed resource.
 - Job
Title string - The job title of the found user.
 - Name string
 - The short name of the found user.
 - Role string
 - The role of the found user.
 - Time
Zone string - The timezone of the found user.
 
- description String
 - The human-friendly description of the found user.
 - email String
 - id String
 - The provider-assigned unique ID for this managed resource.
 - job
Title String - The job title of the found user.
 - name String
 - The short name of the found user.
 - role String
 - The role of the found user.
 - time
Zone String - The timezone of the found user.
 
- description string
 - The human-friendly description of the found user.
 - email string
 - id string
 - The provider-assigned unique ID for this managed resource.
 - job
Title string - The job title of the found user.
 - name string
 - The short name of the found user.
 - role string
 - The role of the found user.
 - time
Zone string - The timezone of the found user.
 
- description str
 - The human-friendly description of the found user.
 - email str
 - id str
 - The provider-assigned unique ID for this managed resource.
 - job_
title str - The job title of the found user.
 - name str
 - The short name of the found user.
 - role str
 - The role of the found user.
 - time_
zone str - The timezone of the found user.
 
- description String
 - The human-friendly description of the found user.
 - email String
 - id String
 - The provider-assigned unique ID for this managed resource.
 - job
Title String - The job title of the found user.
 - name String
 - The short name of the found user.
 - role String
 - The role of the found user.
 - time
Zone String - The timezone of the found user.
 
Package Details
- Repository
 - PagerDuty pulumi/pulumi-pagerduty
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
pagerdutyTerraform Provider.