PagerDuty

v3.6.0 published on Wednesday, Aug 31, 2022 by Pulumi

ServiceIntegration

A service integration is an integration that belongs to a service.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Pagerduty = Pulumi.Pagerduty;

return await Deployment.RunAsync(() => 
{
    var exampleUser = new Pagerduty.User("exampleUser", new()
    {
        Email = "125.greenholt.earline@graham.name",
        Teams = new[]
        {
            pagerduty_team.Example.Id,
        },
    });

    var foo = new Pagerduty.EscalationPolicy("foo", new()
    {
        NumLoops = 2,
        Rules = new[]
        {
            new Pagerduty.Inputs.EscalationPolicyRuleArgs
            {
                EscalationDelayInMinutes = 10,
                Targets = new[]
                {
                    new Pagerduty.Inputs.EscalationPolicyRuleTargetArgs
                    {
                        Type = "user",
                        Id = exampleUser.Id,
                    },
                },
            },
        },
    });

    var exampleService = new Pagerduty.Service("exampleService", new()
    {
        AutoResolveTimeout = "14400",
        AcknowledgementTimeout = "600",
        EscalationPolicy = pagerduty_escalation_policy.Example.Id,
    });

    var exampleServiceIntegration = new Pagerduty.ServiceIntegration("exampleServiceIntegration", new()
    {
        Type = "generic_events_api_inbound_integration",
        Service = exampleService.Id,
    });

    var apiv2 = new Pagerduty.ServiceIntegration("apiv2", new()
    {
        Type = "events_api_v2_inbound_integration",
        IntegrationKey = "12345678910testtesttesttesttes",
        Service = exampleService.Id,
    });

    var emailX = new Pagerduty.ServiceIntegration("emailX", new()
    {
        Type = "generic_email_inbound_integration",
        IntegrationEmail = "ecommerce@subdomain.pagerduty.com",
        Service = exampleService.Id,
    });

    var datadogVendor = Pagerduty.GetVendor.Invoke(new()
    {
        Name = "Datadog",
    });

    var datadogServiceIntegration = new Pagerduty.ServiceIntegration("datadogServiceIntegration", new()
    {
        Service = exampleService.Id,
        Vendor = datadogVendor.Apply(getVendorResult => getVendorResult.Id),
    });

    var cloudwatchVendor = Pagerduty.GetVendor.Invoke(new()
    {
        Name = "Cloudwatch",
    });

    var cloudwatchServiceIntegration = new Pagerduty.ServiceIntegration("cloudwatchServiceIntegration", new()
    {
        Service = exampleService.Id,
        Vendor = cloudwatchVendor.Apply(getVendorResult => getVendorResult.Id),
    });

    var emailVendor = Pagerduty.GetVendor.Invoke(new()
    {
        Name = "Email",
    });

    var emailServiceIntegration = new Pagerduty.ServiceIntegration("emailServiceIntegration", new()
    {
        Service = exampleService.Id,
        Vendor = emailVendor.Apply(getVendorResult => getVendorResult.Id),
        IntegrationEmail = "s1@your_account.pagerduty.com",
        EmailIncidentCreation = "use_rules",
        EmailFilterMode = "and-rules-email",
        EmailFilters = new[]
        {
            new Pagerduty.Inputs.ServiceIntegrationEmailFilterArgs
            {
                BodyMode = "always",
                BodyRegex = null,
                FromEmailMode = "match",
                FromEmailRegex = "(@foo.test*)",
                SubjectMode = "match",
                SubjectRegex = "(CRITICAL*)",
            },
            new Pagerduty.Inputs.ServiceIntegrationEmailFilterArgs
            {
                BodyMode = "always",
                BodyRegex = null,
                FromEmailMode = "match",
                FromEmailRegex = "(@bar.com*)",
                SubjectMode = "match",
                SubjectRegex = "(CRITICAL*)",
            },
        },
        EmailParsers = new[]
        {
            new Pagerduty.Inputs.ServiceIntegrationEmailParserArgs
            {
                Action = "resolve",
                MatchPredicate = new Pagerduty.Inputs.ServiceIntegrationEmailParserMatchPredicateArgs
                {
                    Type = "any",
                    Predicates = new[]
                    {
                        new Pagerduty.Inputs.ServiceIntegrationEmailParserMatchPredicatePredicateArgs
                        {
                            Matcher = "foo",
                            Part = "subject",
                            Type = "contains",
                        },
                        new Pagerduty.Inputs.ServiceIntegrationEmailParserMatchPredicatePredicateArgs
                        {
                            Type = "not",
                            Predicates = new[]
                            {
                                new Pagerduty.Inputs.ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs
                                {
                                    Matcher = "(bar*)",
                                    Part = "body",
                                    Type = "regex",
                                },
                            },
                        },
                    },
                },
                ValueExtractors = new[]
                {
                    new Pagerduty.Inputs.ServiceIntegrationEmailParserValueExtractorArgs
                    {
                        EndsBefore = "end",
                        Part = "subject",
                        StartsAfter = "start",
                        Type = "between",
                        ValueName = "incident_key",
                    },
                    new Pagerduty.Inputs.ServiceIntegrationEmailParserValueExtractorArgs
                    {
                        EndsBefore = "end",
                        Part = "subject",
                        StartsAfter = "start",
                        Type = "between",
                        ValueName = "FieldName1",
                    },
                },
            },
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-pagerduty/sdk/v3/go/pagerduty"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleUser, err := pagerduty.NewUser(ctx, "exampleUser", &pagerduty.UserArgs{
			Email: pulumi.String("125.greenholt.earline@graham.name"),
			Teams: pulumi.StringArray{
				pulumi.Any(pagerduty_team.Example.Id),
			},
		})
		if err != nil {
			return err
		}
		_, err = pagerduty.NewEscalationPolicy(ctx, "foo", &pagerduty.EscalationPolicyArgs{
			NumLoops: pulumi.Int(2),
			Rules: EscalationPolicyRuleArray{
				&EscalationPolicyRuleArgs{
					EscalationDelayInMinutes: pulumi.Int(10),
					Targets: EscalationPolicyRuleTargetArray{
						&EscalationPolicyRuleTargetArgs{
							Type: pulumi.String("user"),
							Id:   exampleUser.ID(),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleService, err := pagerduty.NewService(ctx, "exampleService", &pagerduty.ServiceArgs{
			AutoResolveTimeout:     pulumi.String("14400"),
			AcknowledgementTimeout: pulumi.String("600"),
			EscalationPolicy:       pulumi.Any(pagerduty_escalation_policy.Example.Id),
		})
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "exampleServiceIntegration", &pagerduty.ServiceIntegrationArgs{
			Type:    pulumi.String("generic_events_api_inbound_integration"),
			Service: exampleService.ID(),
		})
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "apiv2", &pagerduty.ServiceIntegrationArgs{
			Type:           pulumi.String("events_api_v2_inbound_integration"),
			IntegrationKey: pulumi.String("12345678910testtesttesttesttes"),
			Service:        exampleService.ID(),
		})
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "emailX", &pagerduty.ServiceIntegrationArgs{
			Type:             pulumi.String("generic_email_inbound_integration"),
			IntegrationEmail: pulumi.String("ecommerce@subdomain.pagerduty.com"),
			Service:          exampleService.ID(),
		})
		if err != nil {
			return err
		}
		datadogVendor, err := pagerduty.GetVendor(ctx, &GetVendorArgs{
			Name: "Datadog",
		}, nil)
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "datadogServiceIntegration", &pagerduty.ServiceIntegrationArgs{
			Service: exampleService.ID(),
			Vendor:  pulumi.String(datadogVendor.Id),
		})
		if err != nil {
			return err
		}
		cloudwatchVendor, err := pagerduty.GetVendor(ctx, &GetVendorArgs{
			Name: "Cloudwatch",
		}, nil)
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "cloudwatchServiceIntegration", &pagerduty.ServiceIntegrationArgs{
			Service: exampleService.ID(),
			Vendor:  pulumi.String(cloudwatchVendor.Id),
		})
		if err != nil {
			return err
		}
		emailVendor, err := pagerduty.GetVendor(ctx, &GetVendorArgs{
			Name: "Email",
		}, nil)
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "emailServiceIntegration", &pagerduty.ServiceIntegrationArgs{
			Service:               exampleService.ID(),
			Vendor:                pulumi.String(emailVendor.Id),
			IntegrationEmail:      pulumi.String("s1@your_account.pagerduty.com"),
			EmailIncidentCreation: pulumi.String("use_rules"),
			EmailFilterMode:       pulumi.String("and-rules-email"),
			EmailFilters: ServiceIntegrationEmailFilterArray{
				&ServiceIntegrationEmailFilterArgs{
					BodyMode:       pulumi.String("always"),
					BodyRegex:      nil,
					FromEmailMode:  pulumi.String("match"),
					FromEmailRegex: pulumi.String("(@foo.test*)"),
					SubjectMode:    pulumi.String("match"),
					SubjectRegex:   pulumi.String("(CRITICAL*)"),
				},
				&ServiceIntegrationEmailFilterArgs{
					BodyMode:       pulumi.String("always"),
					BodyRegex:      nil,
					FromEmailMode:  pulumi.String("match"),
					FromEmailRegex: pulumi.String("(@bar.com*)"),
					SubjectMode:    pulumi.String("match"),
					SubjectRegex:   pulumi.String("(CRITICAL*)"),
				},
			},
			EmailParsers: ServiceIntegrationEmailParserArray{
				&ServiceIntegrationEmailParserArgs{
					Action: pulumi.String("resolve"),
					MatchPredicate: &ServiceIntegrationEmailParserMatchPredicateArgs{
						Type: pulumi.String("any"),
						Predicates: ServiceIntegrationEmailParserMatchPredicatePredicateArray{
							&ServiceIntegrationEmailParserMatchPredicatePredicateArgs{
								Matcher: pulumi.String("foo"),
								Part:    pulumi.String("subject"),
								Type:    pulumi.String("contains"),
							},
							&ServiceIntegrationEmailParserMatchPredicatePredicateArgs{
								Type: pulumi.String("not"),
								Predicates: ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArray{
									&ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs{
										Matcher: pulumi.String("(bar*)"),
										Part:    pulumi.String("body"),
										Type:    pulumi.String("regex"),
									},
								},
							},
						},
					},
					ValueExtractors: ServiceIntegrationEmailParserValueExtractorArray{
						&ServiceIntegrationEmailParserValueExtractorArgs{
							EndsBefore:  pulumi.String("end"),
							Part:        pulumi.String("subject"),
							StartsAfter: pulumi.String("start"),
							Type:        pulumi.String("between"),
							ValueName:   pulumi.String("incident_key"),
						},
						&ServiceIntegrationEmailParserValueExtractorArgs{
							EndsBefore:  pulumi.String("end"),
							Part:        pulumi.String("subject"),
							StartsAfter: pulumi.String("start"),
							Type:        pulumi.String("between"),
							ValueName:   pulumi.String("FieldName1"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.pagerduty.User;
import com.pulumi.pagerduty.UserArgs;
import com.pulumi.pagerduty.EscalationPolicy;
import com.pulumi.pagerduty.EscalationPolicyArgs;
import com.pulumi.pagerduty.inputs.EscalationPolicyRuleArgs;
import com.pulumi.pagerduty.Service;
import com.pulumi.pagerduty.ServiceArgs;
import com.pulumi.pagerduty.ServiceIntegration;
import com.pulumi.pagerduty.ServiceIntegrationArgs;
import com.pulumi.pagerduty.PagerdutyFunctions;
import com.pulumi.pagerduty.inputs.GetVendorArgs;
import com.pulumi.pagerduty.inputs.ServiceIntegrationEmailFilterArgs;
import com.pulumi.pagerduty.inputs.ServiceIntegrationEmailParserArgs;
import com.pulumi.pagerduty.inputs.ServiceIntegrationEmailParserMatchPredicateArgs;
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) {
        var exampleUser = new User("exampleUser", UserArgs.builder()        
            .email("125.greenholt.earline@graham.name")
            .teams(pagerduty_team.example().id())
            .build());

        var foo = new EscalationPolicy("foo", EscalationPolicyArgs.builder()        
            .numLoops(2)
            .rules(EscalationPolicyRuleArgs.builder()
                .escalationDelayInMinutes(10)
                .targets(EscalationPolicyRuleTargetArgs.builder()
                    .type("user")
                    .id(exampleUser.id())
                    .build())
                .build())
            .build());

        var exampleService = new Service("exampleService", ServiceArgs.builder()        
            .autoResolveTimeout(14400)
            .acknowledgementTimeout(600)
            .escalationPolicy(pagerduty_escalation_policy.example().id())
            .build());

        var exampleServiceIntegration = new ServiceIntegration("exampleServiceIntegration", ServiceIntegrationArgs.builder()        
            .type("generic_events_api_inbound_integration")
            .service(exampleService.id())
            .build());

        var apiv2 = new ServiceIntegration("apiv2", ServiceIntegrationArgs.builder()        
            .type("events_api_v2_inbound_integration")
            .integrationKey("12345678910testtesttesttesttes")
            .service(exampleService.id())
            .build());

        var emailX = new ServiceIntegration("emailX", ServiceIntegrationArgs.builder()        
            .type("generic_email_inbound_integration")
            .integrationEmail("ecommerce@subdomain.pagerduty.com")
            .service(exampleService.id())
            .build());

        final var datadogVendor = PagerdutyFunctions.getVendor(GetVendorArgs.builder()
            .name("Datadog")
            .build());

        var datadogServiceIntegration = new ServiceIntegration("datadogServiceIntegration", ServiceIntegrationArgs.builder()        
            .service(exampleService.id())
            .vendor(datadogVendor.applyValue(getVendorResult -> getVendorResult.id()))
            .build());

        final var cloudwatchVendor = PagerdutyFunctions.getVendor(GetVendorArgs.builder()
            .name("Cloudwatch")
            .build());

        var cloudwatchServiceIntegration = new ServiceIntegration("cloudwatchServiceIntegration", ServiceIntegrationArgs.builder()        
            .service(exampleService.id())
            .vendor(cloudwatchVendor.applyValue(getVendorResult -> getVendorResult.id()))
            .build());

        final var emailVendor = PagerdutyFunctions.getVendor(GetVendorArgs.builder()
            .name("Email")
            .build());

        var emailServiceIntegration = new ServiceIntegration("emailServiceIntegration", ServiceIntegrationArgs.builder()        
            .service(exampleService.id())
            .vendor(emailVendor.applyValue(getVendorResult -> getVendorResult.id()))
            .integrationEmail("s1@your_account.pagerduty.com")
            .emailIncidentCreation("use_rules")
            .emailFilterMode("and-rules-email")
            .emailFilters(            
                ServiceIntegrationEmailFilterArgs.builder()
                    .bodyMode("always")
                    .bodyRegex(null)
                    .fromEmailMode("match")
                    .fromEmailRegex("(@foo.test*)")
                    .subjectMode("match")
                    .subjectRegex("(CRITICAL*)")
                    .build(),
                ServiceIntegrationEmailFilterArgs.builder()
                    .bodyMode("always")
                    .bodyRegex(null)
                    .fromEmailMode("match")
                    .fromEmailRegex("(@bar.com*)")
                    .subjectMode("match")
                    .subjectRegex("(CRITICAL*)")
                    .build())
            .emailParsers(ServiceIntegrationEmailParserArgs.builder()
                .action("resolve")
                .matchPredicate(ServiceIntegrationEmailParserMatchPredicateArgs.builder()
                    .type("any")
                    .predicates(                    
                        ServiceIntegrationEmailParserMatchPredicatePredicateArgs.builder()
                            .matcher("foo")
                            .part("subject")
                            .type("contains")
                            .build(),
                        ServiceIntegrationEmailParserMatchPredicatePredicateArgs.builder()
                            .type("not")
                            .predicates(ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs.builder()
                                .matcher("(bar*)")
                                .part("body")
                                .type("regex")
                                .build())
                            .build())
                    .build())
                .valueExtractors(                
                    ServiceIntegrationEmailParserValueExtractorArgs.builder()
                        .endsBefore("end")
                        .part("subject")
                        .startsAfter("start")
                        .type("between")
                        .valueName("incident_key")
                        .build(),
                    ServiceIntegrationEmailParserValueExtractorArgs.builder()
                        .endsBefore("end")
                        .part("subject")
                        .startsAfter("start")
                        .type("between")
                        .valueName("FieldName1")
                        .build())
                .build())
            .build());

    }
}
import pulumi
import pulumi_pagerduty as pagerduty

example_user = pagerduty.User("exampleUser",
    email="125.greenholt.earline@graham.name",
    teams=[pagerduty_team["example"]["id"]])
foo = pagerduty.EscalationPolicy("foo",
    num_loops=2,
    rules=[pagerduty.EscalationPolicyRuleArgs(
        escalation_delay_in_minutes=10,
        targets=[pagerduty.EscalationPolicyRuleTargetArgs(
            type="user",
            id=example_user.id,
        )],
    )])
example_service = pagerduty.Service("exampleService",
    auto_resolve_timeout="14400",
    acknowledgement_timeout="600",
    escalation_policy=pagerduty_escalation_policy["example"]["id"])
example_service_integration = pagerduty.ServiceIntegration("exampleServiceIntegration",
    type="generic_events_api_inbound_integration",
    service=example_service.id)
apiv2 = pagerduty.ServiceIntegration("apiv2",
    type="events_api_v2_inbound_integration",
    integration_key="12345678910testtesttesttesttes",
    service=example_service.id)
email_x = pagerduty.ServiceIntegration("emailX",
    type="generic_email_inbound_integration",
    integration_email="ecommerce@subdomain.pagerduty.com",
    service=example_service.id)
datadog_vendor = pagerduty.get_vendor(name="Datadog")
datadog_service_integration = pagerduty.ServiceIntegration("datadogServiceIntegration",
    service=example_service.id,
    vendor=datadog_vendor.id)
cloudwatch_vendor = pagerduty.get_vendor(name="Cloudwatch")
cloudwatch_service_integration = pagerduty.ServiceIntegration("cloudwatchServiceIntegration",
    service=example_service.id,
    vendor=cloudwatch_vendor.id)
email_vendor = pagerduty.get_vendor(name="Email")
email_service_integration = pagerduty.ServiceIntegration("emailServiceIntegration",
    service=example_service.id,
    vendor=email_vendor.id,
    integration_email="s1@your_account.pagerduty.com",
    email_incident_creation="use_rules",
    email_filter_mode="and-rules-email",
    email_filters=[
        pagerduty.ServiceIntegrationEmailFilterArgs(
            body_mode="always",
            body_regex=None,
            from_email_mode="match",
            from_email_regex="(@foo.test*)",
            subject_mode="match",
            subject_regex="(CRITICAL*)",
        ),
        pagerduty.ServiceIntegrationEmailFilterArgs(
            body_mode="always",
            body_regex=None,
            from_email_mode="match",
            from_email_regex="(@bar.com*)",
            subject_mode="match",
            subject_regex="(CRITICAL*)",
        ),
    ],
    email_parsers=[pagerduty.ServiceIntegrationEmailParserArgs(
        action="resolve",
        match_predicate=pagerduty.ServiceIntegrationEmailParserMatchPredicateArgs(
            type="any",
            predicates=[
                pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicateArgs(
                    matcher="foo",
                    part="subject",
                    type="contains",
                ),
                pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicateArgs(
                    type="not",
                    predicates=[pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs(
                        matcher="(bar*)",
                        part="body",
                        type="regex",
                    )],
                ),
            ],
        ),
        value_extractors=[
            pagerduty.ServiceIntegrationEmailParserValueExtractorArgs(
                ends_before="end",
                part="subject",
                starts_after="start",
                type="between",
                value_name="incident_key",
            ),
            pagerduty.ServiceIntegrationEmailParserValueExtractorArgs(
                ends_before="end",
                part="subject",
                starts_after="start",
                type="between",
                value_name="FieldName1",
            ),
        ],
    )])
import * as pulumi from "@pulumi/pulumi";
import * as pagerduty from "@pulumi/pagerduty";

const exampleUser = new pagerduty.User("exampleUser", {
    email: "125.greenholt.earline@graham.name",
    teams: [pagerduty_team.example.id],
});
const foo = new pagerduty.EscalationPolicy("foo", {
    numLoops: 2,
    rules: [{
        escalationDelayInMinutes: 10,
        targets: [{
            type: "user",
            id: exampleUser.id,
        }],
    }],
});
const exampleService = new pagerduty.Service("exampleService", {
    autoResolveTimeout: "14400",
    acknowledgementTimeout: "600",
    escalationPolicy: pagerduty_escalation_policy.example.id,
});
const exampleServiceIntegration = new pagerduty.ServiceIntegration("exampleServiceIntegration", {
    type: "generic_events_api_inbound_integration",
    service: exampleService.id,
});
const apiv2 = new pagerduty.ServiceIntegration("apiv2", {
    type: "events_api_v2_inbound_integration",
    integrationKey: "12345678910testtesttesttesttes",
    service: exampleService.id,
});
const emailX = new pagerduty.ServiceIntegration("emailX", {
    type: "generic_email_inbound_integration",
    integrationEmail: "ecommerce@subdomain.pagerduty.com",
    service: exampleService.id,
});
const datadogVendor = pagerduty.getVendor({
    name: "Datadog",
});
const datadogServiceIntegration = new pagerduty.ServiceIntegration("datadogServiceIntegration", {
    service: exampleService.id,
    vendor: datadogVendor.then(datadogVendor => datadogVendor.id),
});
const cloudwatchVendor = pagerduty.getVendor({
    name: "Cloudwatch",
});
const cloudwatchServiceIntegration = new pagerduty.ServiceIntegration("cloudwatchServiceIntegration", {
    service: exampleService.id,
    vendor: cloudwatchVendor.then(cloudwatchVendor => cloudwatchVendor.id),
});
const emailVendor = pagerduty.getVendor({
    name: "Email",
});
const emailServiceIntegration = new pagerduty.ServiceIntegration("emailServiceIntegration", {
    service: exampleService.id,
    vendor: emailVendor.then(emailVendor => emailVendor.id),
    integrationEmail: "s1@your_account.pagerduty.com",
    emailIncidentCreation: "use_rules",
    emailFilterMode: "and-rules-email",
    emailFilters: [
        {
            bodyMode: "always",
            bodyRegex: undefined,
            fromEmailMode: "match",
            fromEmailRegex: "(@foo.test*)",
            subjectMode: "match",
            subjectRegex: "(CRITICAL*)",
        },
        {
            bodyMode: "always",
            bodyRegex: undefined,
            fromEmailMode: "match",
            fromEmailRegex: "(@bar.com*)",
            subjectMode: "match",
            subjectRegex: "(CRITICAL*)",
        },
    ],
    emailParsers: [{
        action: "resolve",
        matchPredicate: {
            type: "any",
            predicates: [
                {
                    matcher: "foo",
                    part: "subject",
                    type: "contains",
                },
                {
                    type: "not",
                    predicates: [{
                        matcher: "(bar*)",
                        part: "body",
                        type: "regex",
                    }],
                },
            ],
        },
        valueExtractors: [
            {
                endsBefore: "end",
                part: "subject",
                startsAfter: "start",
                type: "between",
                valueName: "incident_key",
            },
            {
                endsBefore: "end",
                part: "subject",
                startsAfter: "start",
                type: "between",
                valueName: "FieldName1",
            },
        ],
    }],
});
resources:
  exampleUser:
    type: pagerduty:User
    properties:
      email: 125.greenholt.earline@graham.name
      teams:
        - ${pagerduty_team.example.id}
  foo:
    type: pagerduty:EscalationPolicy
    properties:
      numLoops: 2
      rules:
        - escalationDelayInMinutes: 10
          targets:
            - type: user
              id: ${exampleUser.id}
  exampleService:
    type: pagerduty:Service
    properties:
      autoResolveTimeout: 14400
      acknowledgementTimeout: 600
      escalationPolicy: ${pagerduty_escalation_policy.example.id}
  exampleServiceIntegration:
    type: pagerduty:ServiceIntegration
    properties:
      type: generic_events_api_inbound_integration
      service: ${exampleService.id}
  apiv2:
    type: pagerduty:ServiceIntegration
    properties:
      type: events_api_v2_inbound_integration
      integrationKey: 12345678910testtesttesttesttes
      service: ${exampleService.id}
  emailX:
    type: pagerduty:ServiceIntegration
    properties:
      type: generic_email_inbound_integration
      integrationEmail: ecommerce@subdomain.pagerduty.com
      service: ${exampleService.id}
  datadogServiceIntegration:
    type: pagerduty:ServiceIntegration
    properties:
      service: ${exampleService.id}
      vendor: ${datadogVendor.id}
  cloudwatchServiceIntegration:
    type: pagerduty:ServiceIntegration
    properties:
      service: ${exampleService.id}
      vendor: ${cloudwatchVendor.id}
  emailServiceIntegration:
    type: pagerduty:ServiceIntegration
    properties:
      service: ${exampleService.id}
      vendor: ${emailVendor.id}
      integrationEmail: s1@your_account.pagerduty.com
      emailIncidentCreation: use_rules
      emailFilterMode: and-rules-email
      emailFilters:
        - bodyMode: always
          bodyRegex: null
          fromEmailMode: match
          fromEmailRegex: (@foo.test*)
          subjectMode: match
          subjectRegex: (CRITICAL*)
        - bodyMode: always
          bodyRegex: null
          fromEmailMode: match
          fromEmailRegex: (@bar.com*)
          subjectMode: match
          subjectRegex: (CRITICAL*)
      emailParsers:
        - action: resolve
          matchPredicate:
            type: any
            predicates:
              - matcher: foo
                part: subject
                type: contains
              - type: not
                predicates:
                  - matcher: (bar*)
                    part: body
                    type: regex
          valueExtractors:
            - endsBefore: end
              part: subject
              startsAfter: start
              type: between
              valueName: incident_key
            - endsBefore: end
              part: subject
              startsAfter: start
              type: between
              valueName: FieldName1
variables:
  datadogVendor:
    Fn::Invoke:
      Function: pagerduty:getVendor
      Arguments:
        name: Datadog
  cloudwatchVendor:
    Fn::Invoke:
      Function: pagerduty:getVendor
      Arguments:
        name: Cloudwatch
  emailVendor:
    Fn::Invoke:
      Function: pagerduty:getVendor
      Arguments:
        name: Email

Create ServiceIntegration Resource

new ServiceIntegration(name: string, args: ServiceIntegrationArgs, opts?: CustomResourceOptions);
@overload
def ServiceIntegration(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       email_filter_mode: Optional[str] = None,
                       email_filters: Optional[Sequence[ServiceIntegrationEmailFilterArgs]] = None,
                       email_incident_creation: Optional[str] = None,
                       email_parsers: Optional[Sequence[ServiceIntegrationEmailParserArgs]] = None,
                       email_parsing_fallback: Optional[str] = None,
                       integration_email: Optional[str] = None,
                       integration_key: Optional[str] = None,
                       name: Optional[str] = None,
                       service: Optional[str] = None,
                       type: Optional[str] = None,
                       vendor: Optional[str] = None)
@overload
def ServiceIntegration(resource_name: str,
                       args: ServiceIntegrationArgs,
                       opts: Optional[ResourceOptions] = None)
func NewServiceIntegration(ctx *Context, name string, args ServiceIntegrationArgs, opts ...ResourceOption) (*ServiceIntegration, error)
public ServiceIntegration(string name, ServiceIntegrationArgs args, CustomResourceOptions? opts = null)
public ServiceIntegration(String name, ServiceIntegrationArgs args)
public ServiceIntegration(String name, ServiceIntegrationArgs args, CustomResourceOptions options)
type: pagerduty:ServiceIntegration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ServiceIntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ServiceIntegrationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ServiceIntegrationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ServiceIntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ServiceIntegrationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

ServiceIntegration Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ServiceIntegration resource accepts the following input properties:

Service string

The ID of the service the integration should belong to.

EmailFilterMode string

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

EmailFilters List<ServiceIntegrationEmailFilterArgs>
EmailIncidentCreation string

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

EmailParsers List<ServiceIntegrationEmailParserArgs>
EmailParsingFallback string

Can be open_new_incident or discard.

IntegrationEmail string

This is the unique fully-qualified email address used for routing emails to this integration for processing.

IntegrationKey string

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

Name string

The name of the service integration.

Type string

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

Vendor string

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

Service string

The ID of the service the integration should belong to.

EmailFilterMode string

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

EmailFilters []ServiceIntegrationEmailFilterArgs
EmailIncidentCreation string

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

EmailParsers []ServiceIntegrationEmailParserArgs
EmailParsingFallback string

Can be open_new_incident or discard.

IntegrationEmail string

This is the unique fully-qualified email address used for routing emails to this integration for processing.

IntegrationKey string

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

Name string

The name of the service integration.

Type string

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

Vendor string

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

service String

The ID of the service the integration should belong to.

emailFilterMode String

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

emailFilters List<ServiceIntegrationEmailFilterArgs>
emailIncidentCreation String

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

emailParsers List<ServiceIntegrationEmailParserArgs>
emailParsingFallback String

Can be open_new_incident or discard.

integrationEmail String

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integrationKey String

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name String

The name of the service integration.

type String

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor String

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

service string

The ID of the service the integration should belong to.

emailFilterMode string

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

emailFilters ServiceIntegrationEmailFilterArgs[]
emailIncidentCreation string

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

emailParsers ServiceIntegrationEmailParserArgs[]
emailParsingFallback string

Can be open_new_incident or discard.

integrationEmail string

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integrationKey string

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name string

The name of the service integration.

type string

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor string

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

service str

The ID of the service the integration should belong to.

email_filter_mode str

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

email_filters Sequence[ServiceIntegrationEmailFilterArgs]
email_incident_creation str

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

email_parsers Sequence[ServiceIntegrationEmailParserArgs]
email_parsing_fallback str

Can be open_new_incident or discard.

integration_email str

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integration_key str

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name str

The name of the service integration.

type str

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor str

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

service String

The ID of the service the integration should belong to.

emailFilterMode String

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

emailFilters List<Property Map>
emailIncidentCreation String

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

emailParsers List<Property Map>
emailParsingFallback String

Can be open_new_incident or discard.

integrationEmail String

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integrationKey String

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name String

The name of the service integration.

type String

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor String

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

Outputs

All input properties are implicitly available as output properties. Additionally, the ServiceIntegration resource produces the following output properties:

HtmlUrl string

URL at which the entity is uniquely displayed in the Web app.

Id string

The provider-assigned unique ID for this managed resource.

HtmlUrl string

URL at which the entity is uniquely displayed in the Web app.

Id string

The provider-assigned unique ID for this managed resource.

htmlUrl String

URL at which the entity is uniquely displayed in the Web app.

id String

The provider-assigned unique ID for this managed resource.

htmlUrl string

URL at which the entity is uniquely displayed in the Web app.

id string

The provider-assigned unique ID for this managed resource.

html_url str

URL at which the entity is uniquely displayed in the Web app.

id str

The provider-assigned unique ID for this managed resource.

htmlUrl String

URL at which the entity is uniquely displayed in the Web app.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing ServiceIntegration Resource

Get an existing ServiceIntegration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ServiceIntegrationState, opts?: CustomResourceOptions): ServiceIntegration
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        email_filter_mode: Optional[str] = None,
        email_filters: Optional[Sequence[ServiceIntegrationEmailFilterArgs]] = None,
        email_incident_creation: Optional[str] = None,
        email_parsers: Optional[Sequence[ServiceIntegrationEmailParserArgs]] = None,
        email_parsing_fallback: Optional[str] = None,
        html_url: Optional[str] = None,
        integration_email: Optional[str] = None,
        integration_key: Optional[str] = None,
        name: Optional[str] = None,
        service: Optional[str] = None,
        type: Optional[str] = None,
        vendor: Optional[str] = None) -> ServiceIntegration
func GetServiceIntegration(ctx *Context, name string, id IDInput, state *ServiceIntegrationState, opts ...ResourceOption) (*ServiceIntegration, error)
public static ServiceIntegration Get(string name, Input<string> id, ServiceIntegrationState? state, CustomResourceOptions? opts = null)
public static ServiceIntegration get(String name, Output<String> id, ServiceIntegrationState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
EmailFilterMode string

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

EmailFilters List<ServiceIntegrationEmailFilterArgs>
EmailIncidentCreation string

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

EmailParsers List<ServiceIntegrationEmailParserArgs>
EmailParsingFallback string

Can be open_new_incident or discard.

HtmlUrl string

URL at which the entity is uniquely displayed in the Web app.

IntegrationEmail string

This is the unique fully-qualified email address used for routing emails to this integration for processing.

IntegrationKey string

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

Name string

The name of the service integration.

Service string

The ID of the service the integration should belong to.

Type string

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

Vendor string

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

EmailFilterMode string

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

EmailFilters []ServiceIntegrationEmailFilterArgs
EmailIncidentCreation string

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

EmailParsers []ServiceIntegrationEmailParserArgs
EmailParsingFallback string

Can be open_new_incident or discard.

HtmlUrl string

URL at which the entity is uniquely displayed in the Web app.

IntegrationEmail string

This is the unique fully-qualified email address used for routing emails to this integration for processing.

IntegrationKey string

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

Name string

The name of the service integration.

Service string

The ID of the service the integration should belong to.

Type string

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

Vendor string

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

emailFilterMode String

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

emailFilters List<ServiceIntegrationEmailFilterArgs>
emailIncidentCreation String

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

emailParsers List<ServiceIntegrationEmailParserArgs>
emailParsingFallback String

Can be open_new_incident or discard.

htmlUrl String

URL at which the entity is uniquely displayed in the Web app.

integrationEmail String

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integrationKey String

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name String

The name of the service integration.

service String

The ID of the service the integration should belong to.

type String

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor String

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

emailFilterMode string

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

emailFilters ServiceIntegrationEmailFilterArgs[]
emailIncidentCreation string

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

emailParsers ServiceIntegrationEmailParserArgs[]
emailParsingFallback string

Can be open_new_incident or discard.

htmlUrl string

URL at which the entity is uniquely displayed in the Web app.

integrationEmail string

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integrationKey string

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name string

The name of the service integration.

service string

The ID of the service the integration should belong to.

type string

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor string

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

email_filter_mode str

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

email_filters Sequence[ServiceIntegrationEmailFilterArgs]
email_incident_creation str

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

email_parsers Sequence[ServiceIntegrationEmailParserArgs]
email_parsing_fallback str

Can be open_new_incident or discard.

html_url str

URL at which the entity is uniquely displayed in the Web app.

integration_email str

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integration_key str

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name str

The name of the service integration.

service str

The ID of the service the integration should belong to.

type str

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor str

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

emailFilterMode String

Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.

emailFilters List<Property Map>
emailIncidentCreation String

Behaviour of Email Management feature (explained in PD docs). Can be on_new_email, on_new_email_subject, only_if_no_open_incidents or use_rules.

emailParsers List<Property Map>
emailParsingFallback String

Can be open_new_incident or discard.

htmlUrl String

URL at which the entity is uniquely displayed in the Web app.

integrationEmail String

This is the unique fully-qualified email address used for routing emails to this integration for processing.

integrationKey String

This is the unique key used to route events to this integration when received via the PagerDuty Events API.

name String

The name of the service integration.

service String

The ID of the service the integration should belong to.

type String

The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

vendor String

The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).

Supporting Types

ServiceIntegrationEmailFilter

BodyMode string

Can be always or match.

BodyRegex string

Should be a valid regex or null

FromEmailMode string

Can be always or match.

FromEmailRegex string

Should be a valid regex or null

Id string

The ID of the service integration.

SubjectMode string

Can be always or match.

SubjectRegex string

Should be a valid regex or null

BodyMode string

Can be always or match.

BodyRegex string

Should be a valid regex or null

FromEmailMode string

Can be always or match.

FromEmailRegex string

Should be a valid regex or null

Id string

The ID of the service integration.

SubjectMode string

Can be always or match.

SubjectRegex string

Should be a valid regex or null

bodyMode String

Can be always or match.

bodyRegex String

Should be a valid regex or null

fromEmailMode String

Can be always or match.

fromEmailRegex String

Should be a valid regex or null

id String

The ID of the service integration.

subjectMode String

Can be always or match.

subjectRegex String

Should be a valid regex or null

bodyMode string

Can be always or match.

bodyRegex string

Should be a valid regex or null

fromEmailMode string

Can be always or match.

fromEmailRegex string

Should be a valid regex or null

id string

The ID of the service integration.

subjectMode string

Can be always or match.

subjectRegex string

Should be a valid regex or null

body_mode str

Can be always or match.

body_regex str

Should be a valid regex or null

from_email_mode str

Can be always or match.

from_email_regex str

Should be a valid regex or null

id str

The ID of the service integration.

subject_mode str

Can be always or match.

subject_regex str

Should be a valid regex or null

bodyMode String

Can be always or match.

bodyRegex String

Should be a valid regex or null

fromEmailMode String

Can be always or match.

fromEmailRegex String

Should be a valid regex or null

id String

The ID of the service integration.

subjectMode String

Can be always or match.

subjectRegex String

Should be a valid regex or null

ServiceIntegrationEmailParser

action String

Can be resolve or trigger.

matchPredicate Property Map
id Number

The ID of the service integration.

valueExtractors List<Property Map>

ServiceIntegrationEmailParserMatchPredicate

type String

Can be any or all.

predicates List<Property Map>

ServiceIntegrationEmailParserMatchPredicatePredicate

Type string

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

Matcher string

Predicate value or valid regex.

Part string

Can be subject, body or from_addresses.

Predicates List<ServiceIntegrationEmailParserMatchPredicatePredicatePredicate>
Type string

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

Matcher string

Predicate value or valid regex.

Part string

Can be subject, body or from_addresses.

Predicates []ServiceIntegrationEmailParserMatchPredicatePredicatePredicate
type String

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher String

Predicate value or valid regex.

part String

Can be subject, body or from_addresses.

predicates List<ServiceIntegrationEmailParserMatchPredicatePredicatePredicate>
type string

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher string

Predicate value or valid regex.

part string

Can be subject, body or from_addresses.

predicates ServiceIntegrationEmailParserMatchPredicatePredicatePredicate[]
type str

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher str

Predicate value or valid regex.

part str

Can be subject, body or from_addresses.

predicates Sequence[ServiceIntegrationEmailParserMatchPredicatePredicatePredicate]
type String

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher String

Predicate value or valid regex.

part String

Can be subject, body or from_addresses.

predicates List<Property Map>

ServiceIntegrationEmailParserMatchPredicatePredicatePredicate

Matcher string

Predicate value or valid regex.

Part string

Can be subject, body or from_addresses.

Type string

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

Matcher string

Predicate value or valid regex.

Part string

Can be subject, body or from_addresses.

Type string

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher String

Predicate value or valid regex.

part String

Can be subject, body or from_addresses.

type String

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher string

Predicate value or valid regex.

part string

Can be subject, body or from_addresses.

type string

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher str

Predicate value or valid regex.

part str

Can be subject, body or from_addresses.

type str

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

matcher String

Predicate value or valid regex.

part String

Can be subject, body or from_addresses.

type String

Can be contains, exactly, regex or not. If type is not predicate should contain child predicate with all parameters.

ServiceIntegrationEmailParserValueExtractor

Part string

Can be subject or body.

Type string

Can be between, entire or regex.

ValueName string

First value extractor should have name incident_key other value extractors should contain custom names.

EndsBefore string
Regex string

If type has value regex this value should contain valid regex.

StartsAfter string
Part string

Can be subject or body.

Type string

Can be between, entire or regex.

ValueName string

First value extractor should have name incident_key other value extractors should contain custom names.

EndsBefore string
Regex string

If type has value regex this value should contain valid regex.

StartsAfter string
part String

Can be subject or body.

type String

Can be between, entire or regex.

valueName String

First value extractor should have name incident_key other value extractors should contain custom names.

endsBefore String
regex String

If type has value regex this value should contain valid regex.

startsAfter String
part string

Can be subject or body.

type string

Can be between, entire or regex.

valueName string

First value extractor should have name incident_key other value extractors should contain custom names.

endsBefore string
regex string

If type has value regex this value should contain valid regex.

startsAfter string
part str

Can be subject or body.

type str

Can be between, entire or regex.

value_name str

First value extractor should have name incident_key other value extractors should contain custom names.

ends_before str
regex str

If type has value regex this value should contain valid regex.

starts_after str
part String

Can be subject or body.

type String

Can be between, entire or regex.

valueName String

First value extractor should have name incident_key other value extractors should contain custom names.

endsBefore String
regex String

If type has value regex this value should contain valid regex.

startsAfter String

Import

Services can be imported using their related service id and service integration id separated by a dot, e.g.

 $ pulumi import pagerduty:index/serviceIntegration:ServiceIntegration main PLSSSSS.PLIIIII

Package Details

Repository
https://github.com/pulumi/pulumi-pagerduty
License
Apache-2.0
Notes

This Pulumi package is based on the pagerduty Terraform Provider.