pagerduty.ServiceIntegration
Explore with Pulumi AI
A service integration is an integration that belongs to a service.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as pagerduty from "@pulumi/pagerduty";
const example = new pagerduty.User("example", {
    name: "Earline Greenholt",
    email: "125.greenholt.earline@graham.name",
    teams: [examplePagerdutyTeam.id],
});
const foo = new pagerduty.EscalationPolicy("foo", {
    name: "Engineering Escalation Policy",
    numLoops: 2,
    rules: [{
        escalationDelayInMinutes: 10,
        targets: [{
            type: "user",
            id: example.id,
        }],
    }],
});
const exampleService = new pagerduty.Service("example", {
    name: "My Web App",
    autoResolveTimeout: "14400",
    acknowledgementTimeout: "600",
    escalationPolicy: examplePagerdutyEscalationPolicy.id,
});
const exampleServiceIntegration = new pagerduty.ServiceIntegration("example", {
    name: "Generic API Service Integration",
    type: "generic_events_api_inbound_integration",
    service: exampleService.id,
});
const apiv2 = new pagerduty.ServiceIntegration("apiv2", {
    name: "API V2",
    type: "events_api_v2_inbound_integration",
    service: exampleService.id,
});
const emailX = new pagerduty.ServiceIntegration("email_x", {
    name: "Email X",
    type: "generic_email_inbound_integration",
    integrationEmail: "ecommerce@subdomain.pagerduty.com",
    service: exampleService.id,
});
const datadog = pagerduty.getVendor({
    name: "Datadog",
});
const datadogServiceIntegration = new pagerduty.ServiceIntegration("datadog", {
    name: datadog.then(datadog => datadog.name),
    service: exampleService.id,
    vendor: datadog.then(datadog => datadog.id),
});
const cloudwatch = pagerduty.getVendor({
    name: "Cloudwatch",
});
const cloudwatchServiceIntegration = new pagerduty.ServiceIntegration("cloudwatch", {
    name: cloudwatch.then(cloudwatch => cloudwatch.name),
    service: exampleService.id,
    vendor: cloudwatch.then(cloudwatch => cloudwatch.id),
});
const email = pagerduty.getVendor({
    name: "Email",
});
const emailServiceIntegration = new pagerduty.ServiceIntegration("email", {
    name: email.then(email => email.name),
    service: exampleService.id,
    vendor: email.then(email => email.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",
            },
        ],
    }],
});
import pulumi
import pulumi_pagerduty as pagerduty
example = pagerduty.User("example",
    name="Earline Greenholt",
    email="125.greenholt.earline@graham.name",
    teams=[example_pagerduty_team["id"]])
foo = pagerduty.EscalationPolicy("foo",
    name="Engineering Escalation Policy",
    num_loops=2,
    rules=[{
        "escalation_delay_in_minutes": 10,
        "targets": [{
            "type": "user",
            "id": example.id,
        }],
    }])
example_service = pagerduty.Service("example",
    name="My Web App",
    auto_resolve_timeout="14400",
    acknowledgement_timeout="600",
    escalation_policy=example_pagerduty_escalation_policy["id"])
example_service_integration = pagerduty.ServiceIntegration("example",
    name="Generic API Service Integration",
    type="generic_events_api_inbound_integration",
    service=example_service.id)
apiv2 = pagerduty.ServiceIntegration("apiv2",
    name="API V2",
    type="events_api_v2_inbound_integration",
    service=example_service.id)
email_x = pagerduty.ServiceIntegration("email_x",
    name="Email X",
    type="generic_email_inbound_integration",
    integration_email="ecommerce@subdomain.pagerduty.com",
    service=example_service.id)
datadog = pagerduty.get_vendor(name="Datadog")
datadog_service_integration = pagerduty.ServiceIntegration("datadog",
    name=datadog.name,
    service=example_service.id,
    vendor=datadog.id)
cloudwatch = pagerduty.get_vendor(name="Cloudwatch")
cloudwatch_service_integration = pagerduty.ServiceIntegration("cloudwatch",
    name=cloudwatch.name,
    service=example_service.id,
    vendor=cloudwatch.id)
email = pagerduty.get_vendor(name="Email")
email_service_integration = pagerduty.ServiceIntegration("email",
    name=email.name,
    service=example_service.id,
    vendor=email.id,
    integration_email="s1@your_account.pagerduty.com",
    email_incident_creation="use_rules",
    email_filter_mode="and-rules-email",
    email_filters=[
        {
            "body_mode": "always",
            "body_regex": None,
            "from_email_mode": "match",
            "from_email_regex": "(@foo.test*)",
            "subject_mode": "match",
            "subject_regex": "(CRITICAL*)",
        },
        {
            "body_mode": "always",
            "body_regex": None,
            "from_email_mode": "match",
            "from_email_regex": "(@bar.com*)",
            "subject_mode": "match",
            "subject_regex": "(CRITICAL*)",
        },
    ],
    email_parsers=[{
        "action": "resolve",
        "match_predicate": {
            "type": "any",
            "predicates": [
                {
                    "matcher": "foo",
                    "part": "subject",
                    "type": "contains",
                },
                {
                    "type": "not",
                    "predicates": [{
                        "matcher": "(bar*)",
                        "part": "body",
                        "type": "regex",
                    }],
                },
            ],
        },
        "value_extractors": [
            {
                "ends_before": "end",
                "part": "subject",
                "starts_after": "start",
                "type": "between",
                "value_name": "incident_key",
            },
            {
                "ends_before": "end",
                "part": "subject",
                "starts_after": "start",
                "type": "between",
                "value_name": "FieldName1",
            },
        ],
    }])
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 {
		example, err := pagerduty.NewUser(ctx, "example", &pagerduty.UserArgs{
			Name:  pulumi.String("Earline Greenholt"),
			Email: pulumi.String("125.greenholt.earline@graham.name"),
			Teams: pulumi.StringArray{
				examplePagerdutyTeam.Id,
			},
		})
		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"),
							Id:   example.ID(),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleService, err := pagerduty.NewService(ctx, "example", &pagerduty.ServiceArgs{
			Name:                   pulumi.String("My Web App"),
			AutoResolveTimeout:     pulumi.String("14400"),
			AcknowledgementTimeout: pulumi.String("600"),
			EscalationPolicy:       pulumi.Any(examplePagerdutyEscalationPolicy.Id),
		})
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "example", &pagerduty.ServiceIntegrationArgs{
			Name:    pulumi.String("Generic API Service Integration"),
			Type:    pulumi.String("generic_events_api_inbound_integration"),
			Service: exampleService.ID(),
		})
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "apiv2", &pagerduty.ServiceIntegrationArgs{
			Name:    pulumi.String("API V2"),
			Type:    pulumi.String("events_api_v2_inbound_integration"),
			Service: exampleService.ID(),
		})
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "email_x", &pagerduty.ServiceIntegrationArgs{
			Name:             pulumi.String("Email X"),
			Type:             pulumi.String("generic_email_inbound_integration"),
			IntegrationEmail: pulumi.String("ecommerce@subdomain.pagerduty.com"),
			Service:          exampleService.ID(),
		})
		if err != nil {
			return err
		}
		datadog, err := pagerduty.GetVendor(ctx, &pagerduty.GetVendorArgs{
			Name: "Datadog",
		}, nil)
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "datadog", &pagerduty.ServiceIntegrationArgs{
			Name:    pulumi.String(datadog.Name),
			Service: exampleService.ID(),
			Vendor:  pulumi.String(datadog.Id),
		})
		if err != nil {
			return err
		}
		cloudwatch, err := pagerduty.GetVendor(ctx, &pagerduty.GetVendorArgs{
			Name: "Cloudwatch",
		}, nil)
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "cloudwatch", &pagerduty.ServiceIntegrationArgs{
			Name:    pulumi.String(cloudwatch.Name),
			Service: exampleService.ID(),
			Vendor:  pulumi.String(cloudwatch.Id),
		})
		if err != nil {
			return err
		}
		email, err := pagerduty.GetVendor(ctx, &pagerduty.GetVendorArgs{
			Name: "Email",
		}, nil)
		if err != nil {
			return err
		}
		_, err = pagerduty.NewServiceIntegration(ctx, "email", &pagerduty.ServiceIntegrationArgs{
			Name:                  pulumi.String(email.Name),
			Service:               exampleService.ID(),
			Vendor:                pulumi.String(email.Id),
			IntegrationEmail:      pulumi.String("s1@your_account.pagerduty.com"),
			EmailIncidentCreation: pulumi.String("use_rules"),
			EmailFilterMode:       pulumi.String("and-rules-email"),
			EmailFilters: pagerduty.ServiceIntegrationEmailFilterArray{
				&pagerduty.ServiceIntegrationEmailFilterArgs{
					BodyMode:       pulumi.String("always"),
					BodyRegex:      nil,
					FromEmailMode:  pulumi.String("match"),
					FromEmailRegex: pulumi.String("(@foo.test*)"),
					SubjectMode:    pulumi.String("match"),
					SubjectRegex:   pulumi.String("(CRITICAL*)"),
				},
				&pagerduty.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: pagerduty.ServiceIntegrationEmailParserArray{
				&pagerduty.ServiceIntegrationEmailParserArgs{
					Action: pulumi.String("resolve"),
					MatchPredicate: &pagerduty.ServiceIntegrationEmailParserMatchPredicateArgs{
						Type: pulumi.String("any"),
						Predicates: pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicateArray{
							&pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicateArgs{
								Matcher: pulumi.String("foo"),
								Part:    pulumi.String("subject"),
								Type:    pulumi.String("contains"),
							},
							&pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicateArgs{
								Type: pulumi.String("not"),
								Predicates: pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArray{
									&pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs{
										Matcher: pulumi.String("(bar*)"),
										Part:    pulumi.String("body"),
										Type:    pulumi.String("regex"),
									},
								},
							},
						},
					},
					ValueExtractors: pagerduty.ServiceIntegrationEmailParserValueExtractorArray{
						&pagerduty.ServiceIntegrationEmailParserValueExtractorArgs{
							EndsBefore:  pulumi.String("end"),
							Part:        pulumi.String("subject"),
							StartsAfter: pulumi.String("start"),
							Type:        pulumi.String("between"),
							ValueName:   pulumi.String("incident_key"),
						},
						&pagerduty.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
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Pagerduty = Pulumi.Pagerduty;
return await Deployment.RunAsync(() => 
{
    var example = new Pagerduty.User("example", new()
    {
        Name = "Earline Greenholt",
        Email = "125.greenholt.earline@graham.name",
        Teams = new[]
        {
            examplePagerdutyTeam.Id,
        },
    });
    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",
                        Id = example.Id,
                    },
                },
            },
        },
    });
    var exampleService = new Pagerduty.Service("example", new()
    {
        Name = "My Web App",
        AutoResolveTimeout = "14400",
        AcknowledgementTimeout = "600",
        EscalationPolicy = examplePagerdutyEscalationPolicy.Id,
    });
    var exampleServiceIntegration = new Pagerduty.ServiceIntegration("example", new()
    {
        Name = "Generic API Service Integration",
        Type = "generic_events_api_inbound_integration",
        Service = exampleService.Id,
    });
    var apiv2 = new Pagerduty.ServiceIntegration("apiv2", new()
    {
        Name = "API V2",
        Type = "events_api_v2_inbound_integration",
        Service = exampleService.Id,
    });
    var emailX = new Pagerduty.ServiceIntegration("email_x", new()
    {
        Name = "Email X",
        Type = "generic_email_inbound_integration",
        IntegrationEmail = "ecommerce@subdomain.pagerduty.com",
        Service = exampleService.Id,
    });
    var datadog = Pagerduty.GetVendor.Invoke(new()
    {
        Name = "Datadog",
    });
    var datadogServiceIntegration = new Pagerduty.ServiceIntegration("datadog", new()
    {
        Name = datadog.Apply(getVendorResult => getVendorResult.Name),
        Service = exampleService.Id,
        Vendor = datadog.Apply(getVendorResult => getVendorResult.Id),
    });
    var cloudwatch = Pagerduty.GetVendor.Invoke(new()
    {
        Name = "Cloudwatch",
    });
    var cloudwatchServiceIntegration = new Pagerduty.ServiceIntegration("cloudwatch", new()
    {
        Name = cloudwatch.Apply(getVendorResult => getVendorResult.Name),
        Service = exampleService.Id,
        Vendor = cloudwatch.Apply(getVendorResult => getVendorResult.Id),
    });
    var email = Pagerduty.GetVendor.Invoke(new()
    {
        Name = "Email",
    });
    var emailServiceIntegration = new Pagerduty.ServiceIntegration("email", new()
    {
        Name = email.Apply(getVendorResult => getVendorResult.Name),
        Service = exampleService.Id,
        Vendor = email.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 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 example = new User("example", UserArgs.builder()
            .name("Earline Greenholt")
            .email("125.greenholt.earline@graham.name")
            .teams(examplePagerdutyTeam.id())
            .build());
        var foo = new EscalationPolicy("foo", EscalationPolicyArgs.builder()
            .name("Engineering Escalation Policy")
            .numLoops(2)
            .rules(EscalationPolicyRuleArgs.builder()
                .escalationDelayInMinutes(10)
                .targets(EscalationPolicyRuleTargetArgs.builder()
                    .type("user")
                    .id(example.id())
                    .build())
                .build())
            .build());
        var exampleService = new Service("exampleService", ServiceArgs.builder()
            .name("My Web App")
            .autoResolveTimeout("14400")
            .acknowledgementTimeout("600")
            .escalationPolicy(examplePagerdutyEscalationPolicy.id())
            .build());
        var exampleServiceIntegration = new ServiceIntegration("exampleServiceIntegration", ServiceIntegrationArgs.builder()
            .name("Generic API Service Integration")
            .type("generic_events_api_inbound_integration")
            .service(exampleService.id())
            .build());
        var apiv2 = new ServiceIntegration("apiv2", ServiceIntegrationArgs.builder()
            .name("API V2")
            .type("events_api_v2_inbound_integration")
            .service(exampleService.id())
            .build());
        var emailX = new ServiceIntegration("emailX", ServiceIntegrationArgs.builder()
            .name("Email X")
            .type("generic_email_inbound_integration")
            .integrationEmail("ecommerce@subdomain.pagerduty.com")
            .service(exampleService.id())
            .build());
        final var datadog = PagerdutyFunctions.getVendor(GetVendorArgs.builder()
            .name("Datadog")
            .build());
        var datadogServiceIntegration = new ServiceIntegration("datadogServiceIntegration", ServiceIntegrationArgs.builder()
            .name(datadog.name())
            .service(exampleService.id())
            .vendor(datadog.id())
            .build());
        final var cloudwatch = PagerdutyFunctions.getVendor(GetVendorArgs.builder()
            .name("Cloudwatch")
            .build());
        var cloudwatchServiceIntegration = new ServiceIntegration("cloudwatchServiceIntegration", ServiceIntegrationArgs.builder()
            .name(cloudwatch.name())
            .service(exampleService.id())
            .vendor(cloudwatch.id())
            .build());
        final var email = PagerdutyFunctions.getVendor(GetVendorArgs.builder()
            .name("Email")
            .build());
        var emailServiceIntegration = new ServiceIntegration("emailServiceIntegration", ServiceIntegrationArgs.builder()
            .name(email.name())
            .service(exampleService.id())
            .vendor(email.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());
    }
}
resources:
  example:
    type: pagerduty:User
    properties:
      name: Earline Greenholt
      email: 125.greenholt.earline@graham.name
      teams:
        - ${examplePagerdutyTeam.id}
  foo:
    type: pagerduty:EscalationPolicy
    properties:
      name: Engineering Escalation Policy
      numLoops: 2
      rules:
        - escalationDelayInMinutes: 10
          targets:
            - type: user
              id: ${example.id}
  exampleService:
    type: pagerduty:Service
    name: example
    properties:
      name: My Web App
      autoResolveTimeout: 14400
      acknowledgementTimeout: 600
      escalationPolicy: ${examplePagerdutyEscalationPolicy.id}
  exampleServiceIntegration:
    type: pagerduty:ServiceIntegration
    name: example
    properties:
      name: Generic API Service Integration
      type: generic_events_api_inbound_integration
      service: ${exampleService.id}
  apiv2:
    type: pagerduty:ServiceIntegration
    properties:
      name: API V2
      type: events_api_v2_inbound_integration
      service: ${exampleService.id}
  emailX:
    type: pagerduty:ServiceIntegration
    name: email_x
    properties:
      name: Email X
      type: generic_email_inbound_integration
      integrationEmail: ecommerce@subdomain.pagerduty.com
      service: ${exampleService.id}
  datadogServiceIntegration:
    type: pagerduty:ServiceIntegration
    name: datadog
    properties:
      name: ${datadog.name}
      service: ${exampleService.id}
      vendor: ${datadog.id}
  cloudwatchServiceIntegration:
    type: pagerduty:ServiceIntegration
    name: cloudwatch
    properties:
      name: ${cloudwatch.name}
      service: ${exampleService.id}
      vendor: ${cloudwatch.id}
  emailServiceIntegration:
    type: pagerduty:ServiceIntegration
    name: email
    properties:
      name: ${email.name}
      service: ${exampleService.id}
      vendor: ${email.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:
  datadog:
    fn::invoke:
      function: pagerduty:getVendor
      arguments:
        name: Datadog
  cloudwatch:
    fn::invoke:
      function: pagerduty:getVendor
      arguments:
        name: Cloudwatch
  email:
    fn::invoke:
      function: pagerduty:getVendor
      arguments:
        name: Email
Create ServiceIntegration Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ServiceIntegration(name: string, args: ServiceIntegrationArgs, opts?: CustomResourceOptions);@overload
def ServiceIntegration(resource_name: str,
                       args: ServiceIntegrationArgs,
                       opts: Optional[ResourceOptions] = None)
@overload
def ServiceIntegration(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       service: Optional[str] = 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,
                       type: Optional[str] = None,
                       vendor: Optional[str] = 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.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var serviceIntegrationResource = new Pagerduty.ServiceIntegration("serviceIntegrationResource", new()
{
    Service = "string",
    EmailFilterMode = "string",
    EmailFilters = new[]
    {
        new Pagerduty.Inputs.ServiceIntegrationEmailFilterArgs
        {
            BodyMode = "string",
            BodyRegex = "string",
            FromEmailMode = "string",
            FromEmailRegex = "string",
            Id = "string",
            SubjectMode = "string",
            SubjectRegex = "string",
        },
    },
    EmailIncidentCreation = "string",
    EmailParsers = new[]
    {
        new Pagerduty.Inputs.ServiceIntegrationEmailParserArgs
        {
            Action = "string",
            MatchPredicate = new Pagerduty.Inputs.ServiceIntegrationEmailParserMatchPredicateArgs
            {
                Type = "string",
                Predicates = new[]
                {
                    new Pagerduty.Inputs.ServiceIntegrationEmailParserMatchPredicatePredicateArgs
                    {
                        Type = "string",
                        Matcher = "string",
                        Part = "string",
                        Predicates = new[]
                        {
                            new Pagerduty.Inputs.ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs
                            {
                                Matcher = "string",
                                Part = "string",
                                Type = "string",
                            },
                        },
                    },
                },
            },
            Id = 0,
            ValueExtractors = new[]
            {
                new Pagerduty.Inputs.ServiceIntegrationEmailParserValueExtractorArgs
                {
                    Part = "string",
                    Type = "string",
                    ValueName = "string",
                    EndsBefore = "string",
                    Regex = "string",
                    StartsAfter = "string",
                },
            },
        },
    },
    EmailParsingFallback = "string",
    IntegrationEmail = "string",
    IntegrationKey = "string",
    Name = "string",
    Type = "string",
    Vendor = "string",
});
example, err := pagerduty.NewServiceIntegration(ctx, "serviceIntegrationResource", &pagerduty.ServiceIntegrationArgs{
	Service:         pulumi.String("string"),
	EmailFilterMode: pulumi.String("string"),
	EmailFilters: pagerduty.ServiceIntegrationEmailFilterArray{
		&pagerduty.ServiceIntegrationEmailFilterArgs{
			BodyMode:       pulumi.String("string"),
			BodyRegex:      pulumi.String("string"),
			FromEmailMode:  pulumi.String("string"),
			FromEmailRegex: pulumi.String("string"),
			Id:             pulumi.String("string"),
			SubjectMode:    pulumi.String("string"),
			SubjectRegex:   pulumi.String("string"),
		},
	},
	EmailIncidentCreation: pulumi.String("string"),
	EmailParsers: pagerduty.ServiceIntegrationEmailParserArray{
		&pagerduty.ServiceIntegrationEmailParserArgs{
			Action: pulumi.String("string"),
			MatchPredicate: &pagerduty.ServiceIntegrationEmailParserMatchPredicateArgs{
				Type: pulumi.String("string"),
				Predicates: pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicateArray{
					&pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicateArgs{
						Type:    pulumi.String("string"),
						Matcher: pulumi.String("string"),
						Part:    pulumi.String("string"),
						Predicates: pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArray{
							&pagerduty.ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs{
								Matcher: pulumi.String("string"),
								Part:    pulumi.String("string"),
								Type:    pulumi.String("string"),
							},
						},
					},
				},
			},
			Id: pulumi.Int(0),
			ValueExtractors: pagerduty.ServiceIntegrationEmailParserValueExtractorArray{
				&pagerduty.ServiceIntegrationEmailParserValueExtractorArgs{
					Part:        pulumi.String("string"),
					Type:        pulumi.String("string"),
					ValueName:   pulumi.String("string"),
					EndsBefore:  pulumi.String("string"),
					Regex:       pulumi.String("string"),
					StartsAfter: pulumi.String("string"),
				},
			},
		},
	},
	EmailParsingFallback: pulumi.String("string"),
	IntegrationEmail:     pulumi.String("string"),
	IntegrationKey:       pulumi.String("string"),
	Name:                 pulumi.String("string"),
	Type:                 pulumi.String("string"),
	Vendor:               pulumi.String("string"),
})
var serviceIntegrationResource = new ServiceIntegration("serviceIntegrationResource", ServiceIntegrationArgs.builder()
    .service("string")
    .emailFilterMode("string")
    .emailFilters(ServiceIntegrationEmailFilterArgs.builder()
        .bodyMode("string")
        .bodyRegex("string")
        .fromEmailMode("string")
        .fromEmailRegex("string")
        .id("string")
        .subjectMode("string")
        .subjectRegex("string")
        .build())
    .emailIncidentCreation("string")
    .emailParsers(ServiceIntegrationEmailParserArgs.builder()
        .action("string")
        .matchPredicate(ServiceIntegrationEmailParserMatchPredicateArgs.builder()
            .type("string")
            .predicates(ServiceIntegrationEmailParserMatchPredicatePredicateArgs.builder()
                .type("string")
                .matcher("string")
                .part("string")
                .predicates(ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs.builder()
                    .matcher("string")
                    .part("string")
                    .type("string")
                    .build())
                .build())
            .build())
        .id(0)
        .valueExtractors(ServiceIntegrationEmailParserValueExtractorArgs.builder()
            .part("string")
            .type("string")
            .valueName("string")
            .endsBefore("string")
            .regex("string")
            .startsAfter("string")
            .build())
        .build())
    .emailParsingFallback("string")
    .integrationEmail("string")
    .integrationKey("string")
    .name("string")
    .type("string")
    .vendor("string")
    .build());
service_integration_resource = pagerduty.ServiceIntegration("serviceIntegrationResource",
    service="string",
    email_filter_mode="string",
    email_filters=[{
        "body_mode": "string",
        "body_regex": "string",
        "from_email_mode": "string",
        "from_email_regex": "string",
        "id": "string",
        "subject_mode": "string",
        "subject_regex": "string",
    }],
    email_incident_creation="string",
    email_parsers=[{
        "action": "string",
        "match_predicate": {
            "type": "string",
            "predicates": [{
                "type": "string",
                "matcher": "string",
                "part": "string",
                "predicates": [{
                    "matcher": "string",
                    "part": "string",
                    "type": "string",
                }],
            }],
        },
        "id": 0,
        "value_extractors": [{
            "part": "string",
            "type": "string",
            "value_name": "string",
            "ends_before": "string",
            "regex": "string",
            "starts_after": "string",
        }],
    }],
    email_parsing_fallback="string",
    integration_email="string",
    integration_key="string",
    name="string",
    type="string",
    vendor="string")
const serviceIntegrationResource = new pagerduty.ServiceIntegration("serviceIntegrationResource", {
    service: "string",
    emailFilterMode: "string",
    emailFilters: [{
        bodyMode: "string",
        bodyRegex: "string",
        fromEmailMode: "string",
        fromEmailRegex: "string",
        id: "string",
        subjectMode: "string",
        subjectRegex: "string",
    }],
    emailIncidentCreation: "string",
    emailParsers: [{
        action: "string",
        matchPredicate: {
            type: "string",
            predicates: [{
                type: "string",
                matcher: "string",
                part: "string",
                predicates: [{
                    matcher: "string",
                    part: "string",
                    type: "string",
                }],
            }],
        },
        id: 0,
        valueExtractors: [{
            part: "string",
            type: "string",
            valueName: "string",
            endsBefore: "string",
            regex: "string",
            startsAfter: "string",
        }],
    }],
    emailParsingFallback: "string",
    integrationEmail: "string",
    integrationKey: "string",
    name: "string",
    type: "string",
    vendor: "string",
});
type: pagerduty:ServiceIntegration
properties:
    emailFilterMode: string
    emailFilters:
        - bodyMode: string
          bodyRegex: string
          fromEmailMode: string
          fromEmailRegex: string
          id: string
          subjectMode: string
          subjectRegex: string
    emailIncidentCreation: string
    emailParsers:
        - action: string
          id: 0
          matchPredicate:
            predicates:
                - matcher: string
                  part: string
                  predicates:
                    - matcher: string
                      part: string
                      type: string
                  type: string
            type: string
          valueExtractors:
            - endsBefore: string
              part: string
              regex: string
              startsAfter: string
              type: string
              valueName: string
    emailParsingFallback: string
    integrationEmail: string
    integrationKey: string
    name: string
    service: string
    type: string
    vendor: string
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ServiceIntegration resource accepts the following input properties:
- Service string
- The ID of the service the integration should belong to.
- EmailFilter stringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- EmailFilters List<ServiceIntegration Email Filter> 
- EmailIncident stringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- EmailParsers List<ServiceIntegration Email Parser> 
- EmailParsing stringFallback 
- Can be open_new_incidentordiscard.
- IntegrationEmail string
- This is the unique fully-qualified email address used for routing emails to this integration for processing.
- IntegrationKey string
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- 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.
- EmailFilter stringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- EmailFilters []ServiceIntegration Email Filter Args 
- EmailIncident stringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- EmailParsers []ServiceIntegration Email Parser Args 
- EmailParsing stringFallback 
- Can be open_new_incidentordiscard.
- IntegrationEmail string
- This is the unique fully-qualified email address used for routing emails to this integration for processing.
- IntegrationKey string
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- 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.
- emailFilter StringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- emailFilters List<ServiceIntegration Email Filter> 
- emailIncident StringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- emailParsers List<ServiceIntegration Email Parser> 
- emailParsing StringFallback 
- Can be open_new_incidentordiscard.
- integrationEmail String
- This is the unique fully-qualified email address used for routing emails to this integration for processing.
- integrationKey String
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- 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.
- emailFilter stringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- emailFilters ServiceIntegration Email Filter[] 
- emailIncident stringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- emailParsers ServiceIntegration Email Parser[] 
- emailParsing stringFallback 
- Can be open_new_incidentordiscard.
- integrationEmail string
- This is the unique fully-qualified email address used for routing emails to this integration for processing.
- integrationKey string
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- 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_ strmode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- email_filters Sequence[ServiceIntegration Email Filter Args] 
- email_incident_ strcreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- email_parsers Sequence[ServiceIntegration Email Parser Args] 
- email_parsing_ strfallback 
- Can be open_new_incidentordiscard.
- integration_email str
- This is the unique fully-qualified email address used for routing emails to this integration for processing.
- integration_key str
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- 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.
- emailFilter StringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- emailFilters List<Property Map>
- emailIncident StringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- emailParsers List<Property Map>
- emailParsing StringFallback 
- Can be open_new_incidentordiscard.
- integrationEmail String
- This is the unique fully-qualified email address used for routing emails to this integration for processing.
- integrationKey String
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- 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:
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) -> ServiceIntegrationfunc 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)resources:  _:    type: pagerduty:ServiceIntegration    get:      id: ${id}- 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.
- EmailFilter stringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- EmailFilters List<ServiceIntegration Email Filter> 
- EmailIncident stringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- EmailParsers List<ServiceIntegration Email Parser> 
- EmailParsing stringFallback 
- Can be open_new_incidentordiscard.
- 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
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- Vendor string
- The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).
- EmailFilter stringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- EmailFilters []ServiceIntegration Email Filter Args 
- EmailIncident stringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- EmailParsers []ServiceIntegration Email Parser Args 
- EmailParsing stringFallback 
- Can be open_new_incidentordiscard.
- 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
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- Vendor string
- The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).
- emailFilter StringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- emailFilters List<ServiceIntegration Email Filter> 
- emailIncident StringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- emailParsers List<ServiceIntegration Email Parser> 
- emailParsing StringFallback 
- Can be open_new_incidentordiscard.
- 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
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- vendor String
- The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).
- emailFilter stringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- emailFilters ServiceIntegration Email Filter[] 
- emailIncident stringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- emailParsers ServiceIntegration Email Parser[] 
- emailParsing stringFallback 
- Can be open_new_incidentordiscard.
- 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
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- vendor string
- The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).
- email_filter_ strmode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- email_filters Sequence[ServiceIntegration Email Filter Args] 
- email_incident_ strcreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- email_parsers Sequence[ServiceIntegration Email Parser Args] 
- email_parsing_ strfallback 
- Can be open_new_incidentordiscard.
- 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
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- vendor str
- The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).
- emailFilter StringMode 
- Mode of Emails Filters feature (explained in PD docs). Can be all-email,or-rules-emailorand-rules-email.
- emailFilters List<Property Map>
- emailIncident StringCreation 
- Behaviour of Email Management feature (explained in PD docs). Can be on_new_email,on_new_email_subject,only_if_no_open_incidentsoruse_rules.
- emailParsers List<Property Map>
- emailParsing StringFallback 
- Can be open_new_incidentordiscard.
- 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
- (Deprecated) 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_creationto 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.- Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the - vendorfield instead.
- vendor String
- The ID of the vendor the integration should integrate with (e.g. Datadog or Amazon Cloudwatch).
Supporting Types
ServiceIntegrationEmailFilter, ServiceIntegrationEmailFilterArgs        
- BodyMode string
- Can be always,matchorno-match.
- BodyRegex string
- Should be a valid regex or null
- FromEmail stringMode 
- Can be always,matchorno-match.
- FromEmail stringRegex 
- Should be a valid regex or null
- Id string
- The ID of the service integration.
- SubjectMode string
- Can be always,matchorno-match.
- SubjectRegex string
- Should be a valid regex or null
- BodyMode string
- Can be always,matchorno-match.
- BodyRegex string
- Should be a valid regex or null
- FromEmail stringMode 
- Can be always,matchorno-match.
- FromEmail stringRegex 
- Should be a valid regex or null
- Id string
- The ID of the service integration.
- SubjectMode string
- Can be always,matchorno-match.
- SubjectRegex string
- Should be a valid regex or null
- bodyMode String
- Can be always,matchorno-match.
- bodyRegex String
- Should be a valid regex or null
- fromEmail StringMode 
- Can be always,matchorno-match.
- fromEmail StringRegex 
- Should be a valid regex or null
- id String
- The ID of the service integration.
- subjectMode String
- Can be always,matchorno-match.
- subjectRegex String
- Should be a valid regex or null
- bodyMode string
- Can be always,matchorno-match.
- bodyRegex string
- Should be a valid regex or null
- fromEmail stringMode 
- Can be always,matchorno-match.
- fromEmail stringRegex 
- Should be a valid regex or null
- id string
- The ID of the service integration.
- subjectMode string
- Can be always,matchorno-match.
- subjectRegex string
- Should be a valid regex or null
- body_mode str
- Can be always,matchorno-match.
- body_regex str
- Should be a valid regex or null
- from_email_ strmode 
- Can be always,matchorno-match.
- from_email_ strregex 
- Should be a valid regex or null
- id str
- The ID of the service integration.
- subject_mode str
- Can be always,matchorno-match.
- subject_regex str
- Should be a valid regex or null
- bodyMode String
- Can be always,matchorno-match.
- bodyRegex String
- Should be a valid regex or null
- fromEmail StringMode 
- Can be always,matchorno-match.
- fromEmail StringRegex 
- Should be a valid regex or null
- id String
- The ID of the service integration.
- subjectMode String
- Can be always,matchorno-match.
- subjectRegex String
- Should be a valid regex or null
ServiceIntegrationEmailParser, ServiceIntegrationEmailParserArgs        
- Action string
- Can be resolveortrigger.
- MatchPredicate ServiceIntegration Email Parser Match Predicate 
- Id int
- The ID of the service integration.
- ValueExtractors List<ServiceIntegration Email Parser Value Extractor> 
- Action string
- Can be resolveortrigger.
- MatchPredicate ServiceIntegration Email Parser Match Predicate 
- Id int
- The ID of the service integration.
- ValueExtractors []ServiceIntegration Email Parser Value Extractor 
- action String
- Can be resolveortrigger.
- matchPredicate ServiceIntegration Email Parser Match Predicate 
- id Integer
- The ID of the service integration.
- valueExtractors List<ServiceIntegration Email Parser Value Extractor> 
- action string
- Can be resolveortrigger.
- matchPredicate ServiceIntegration Email Parser Match Predicate 
- id number
- The ID of the service integration.
- valueExtractors ServiceIntegration Email Parser Value Extractor[] 
- action str
- Can be resolveortrigger.
- match_predicate ServiceIntegration Email Parser Match Predicate 
- id int
- The ID of the service integration.
- value_extractors Sequence[ServiceIntegration Email Parser Value Extractor] 
- action String
- Can be resolveortrigger.
- matchPredicate Property Map
- id Number
- The ID of the service integration.
- valueExtractors List<Property Map>
ServiceIntegrationEmailParserMatchPredicate, ServiceIntegrationEmailParserMatchPredicateArgs            
- Type string
- Can be anyorall.
- Predicates
List<ServiceIntegration Email Parser Match Predicate Predicate> 
- Type string
- Can be anyorall.
- Predicates
[]ServiceIntegration Email Parser Match Predicate Predicate 
- type String
- Can be anyorall.
- predicates
List<ServiceIntegration Email Parser Match Predicate Predicate> 
- type string
- Can be anyorall.
- predicates
ServiceIntegration Email Parser Match Predicate Predicate[] 
- type str
- Can be anyorall.
- predicates
Sequence[ServiceIntegration Email Parser Match Predicate Predicate] 
- type String
- Can be anyorall.
- predicates List<Property Map>
ServiceIntegrationEmailParserMatchPredicatePredicate, ServiceIntegrationEmailParserMatchPredicatePredicateArgs              
- Type string
- Can be contains,exactly,regexornot. If type isnotpredicate should contain child predicate with all parameters.
- Matcher string
- Predicate value or valid regex.
- Part string
- Can be subject,bodyorfrom_addresses.
- Predicates
List<ServiceIntegration Email Parser Match Predicate Predicate Predicate> 
- Type string
- Can be contains,exactly,regexornot. If type isnotpredicate should contain child predicate with all parameters.
- Matcher string
- Predicate value or valid regex.
- Part string
- Can be subject,bodyorfrom_addresses.
- Predicates
[]ServiceIntegration Email Parser Match Predicate Predicate Predicate 
- type String
- Can be contains,exactly,regexornot. If type isnotpredicate should contain child predicate with all parameters.
- matcher String
- Predicate value or valid regex.
- part String
- Can be subject,bodyorfrom_addresses.
- predicates
List<ServiceIntegration Email Parser Match Predicate Predicate Predicate> 
- type string
- Can be contains,exactly,regexornot. If type isnotpredicate should contain child predicate with all parameters.
- matcher string
- Predicate value or valid regex.
- part string
- Can be subject,bodyorfrom_addresses.
- predicates
ServiceIntegration Email Parser Match Predicate Predicate Predicate[] 
- type str
- Can be contains,exactly,regexornot. If type isnotpredicate should contain child predicate with all parameters.
- matcher str
- Predicate value or valid regex.
- part str
- Can be subject,bodyorfrom_addresses.
- predicates
Sequence[ServiceIntegration Email Parser Match Predicate Predicate Predicate] 
- type String
- Can be contains,exactly,regexornot. If type isnotpredicate should contain child predicate with all parameters.
- matcher String
- Predicate value or valid regex.
- part String
- Can be subject,bodyorfrom_addresses.
- predicates List<Property Map>
ServiceIntegrationEmailParserMatchPredicatePredicatePredicate, ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs                
ServiceIntegrationEmailParserValueExtractor, ServiceIntegrationEmailParserValueExtractorArgs            
- Part string
- Can be subjectorbody.
- Type string
- Can be between,entireorregex.
- ValueName string
- First value extractor should have name incident_keyother value extractors should contain custom names.
- EndsBefore string
- Regex string
- If - typehas value- regexthis value should contain valid regex.- Note: You can use the - pagerduty.getVendordata source to locate the appropriate vendor ID.
- StartsAfter string
- Part string
- Can be subjectorbody.
- Type string
- Can be between,entireorregex.
- ValueName string
- First value extractor should have name incident_keyother value extractors should contain custom names.
- EndsBefore string
- Regex string
- If - typehas value- regexthis value should contain valid regex.- Note: You can use the - pagerduty.getVendordata source to locate the appropriate vendor ID.
- StartsAfter string
- part String
- Can be subjectorbody.
- type String
- Can be between,entireorregex.
- valueName String
- First value extractor should have name incident_keyother value extractors should contain custom names.
- endsBefore String
- regex String
- If - typehas value- regexthis value should contain valid regex.- Note: You can use the - pagerduty.getVendordata source to locate the appropriate vendor ID.
- startsAfter String
- part string
- Can be subjectorbody.
- type string
- Can be between,entireorregex.
- valueName string
- First value extractor should have name incident_keyother value extractors should contain custom names.
- endsBefore string
- regex string
- If - typehas value- regexthis value should contain valid regex.- Note: You can use the - pagerduty.getVendordata source to locate the appropriate vendor ID.
- startsAfter string
- part str
- Can be subjectorbody.
- type str
- Can be between,entireorregex.
- value_name str
- First value extractor should have name incident_keyother value extractors should contain custom names.
- ends_before str
- regex str
- If - typehas value- regexthis value should contain valid regex.- Note: You can use the - pagerduty.getVendordata source to locate the appropriate vendor ID.
- starts_after str
- part String
- Can be subjectorbody.
- type String
- Can be between,entireorregex.
- valueName String
- First value extractor should have name incident_keyother value extractors should contain custom names.
- endsBefore String
- regex String
- If - typehas value- regexthis value should contain valid regex.- Note: You can use the - pagerduty.getVendordata source to locate the appropriate vendor ID.
- 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
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- PagerDuty pulumi/pulumi-pagerduty
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the pagerdutyTerraform Provider.