1. Packages
  2. PagerDuty
  3. API Docs
  4. ServiceIntegration
PagerDuty v4.10.1 published on Wednesday, Mar 27, 2024 by Pulumi

pagerduty.ServiceIntegration

Explore with Pulumi AI

pagerduty logo
PagerDuty v4.10.1 published on Wednesday, Mar 27, 2024 by Pulumi

    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 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",
        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",
                },
            ],
        }],
    });
    
    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",
        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",
                ),
            ],
        )])
    
    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 {
    		exampleUser, err := pagerduty.NewUser(ctx, "exampleUser", &pagerduty.UserArgs{
    			Email: pulumi.String("125.greenholt.earline@graham.name"),
    			Teams: pulumi.StringArray{
    				pagerduty_team.Example.Id,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = pagerduty.NewEscalationPolicy(ctx, "foo", &pagerduty.EscalationPolicyArgs{
    			NumLoops: pulumi.Int(2),
    			Rules: pagerduty.EscalationPolicyRuleArray{
    				&pagerduty.EscalationPolicyRuleArgs{
    					EscalationDelayInMinutes: pulumi.Int(10),
    					Targets: pagerduty.EscalationPolicyRuleTargetArray{
    						&pagerduty.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"),
    			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, &pagerduty.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, &pagerduty.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, &pagerduty.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: 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 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",
            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 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")
                .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());
    
        }
    }
    
    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
          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<ServiceIntegrationEmailFilter>
    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<ServiceIntegrationEmailParser>
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field 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.
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field 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.
    emailFilterMode String
    Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.
    emailFilters List<ServiceIntegrationEmailFilter>
    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<ServiceIntegrationEmailParser>
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field 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.
    emailFilterMode string
    Mode of Emails Filters feature (explained in PD docs). Can be all-email, or-rules-email or and-rules-email.
    emailFilters ServiceIntegrationEmailFilter[]
    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 ServiceIntegrationEmailParser[]
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field 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_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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field 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.
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field 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:

    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<ServiceIntegrationEmailFilter>
    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<ServiceIntegrationEmailParser>
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field instead.

    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field instead.

    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<ServiceIntegrationEmailFilter>
    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<ServiceIntegrationEmailParser>
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field instead.

    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 ServiceIntegrationEmailFilter[]
    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 ServiceIntegrationEmailParser[]
    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field instead.

    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field instead.

    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
    (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_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.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g. Datadog or Amazon Cloudwatch) use the vendor field 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 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, ServiceIntegrationEmailParserArgs

    action String
    Can be resolve or trigger.
    matchPredicate Property Map
    id Number
    The ID of the service integration.
    valueExtractors List<Property Map>

    ServiceIntegrationEmailParserMatchPredicate, ServiceIntegrationEmailParserMatchPredicateArgs

    type String
    Can be any or all.
    predicates List<Property Map>

    ServiceIntegrationEmailParserMatchPredicatePredicate, ServiceIntegrationEmailParserMatchPredicatePredicateArgs

    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, ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs

    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, ServiceIntegrationEmailParserValueExtractorArgs

    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.

    Note: You can use the pagerduty.getVendor data source to locate the appropriate vendor ID.

    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.

    Note: You can use the pagerduty.getVendor data source to locate the appropriate vendor ID.

    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.

    Note: You can use the pagerduty.getVendor data source to locate the appropriate vendor ID.

    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.

    Note: You can use the pagerduty.getVendor data source to locate the appropriate vendor ID.

    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.

    Note: You can use the pagerduty.getVendor data source to locate the appropriate vendor ID.

    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.

    Note: You can use the pagerduty.getVendor data 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
    

    Package Details

    Repository
    PagerDuty pulumi/pulumi-pagerduty
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the pagerduty Terraform Provider.
    pagerduty logo
    PagerDuty v4.10.1 published on Wednesday, Mar 27, 2024 by Pulumi