Pulumi Pagerduty

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-pagerduty repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-pagerduty repo.

class pulumi_pagerduty.Addon(resource_name, opts=None, name=None, src=None, __props__=None, __name__=None, __opts__=None)

With add-ons, third-party developers can write their own add-ons to PagerDuty’s UI. Given a configuration containing a src parameter, that URL will be embedded in an iframe on a page that’s available to users from a drop-down menu.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.Addon("example", src="https://intranet.example.com/status")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the add-on.

  • src (pulumi.Input[str]) – The source URL to display in a frame in the PagerDuty UI. HTTPS is required.

name: pulumi.Output[str] = None

The name of the add-on.

src: pulumi.Output[str] = None

The source URL to display in a frame in the PagerDuty UI. HTTPS is required.

static get(resource_name, id, opts=None, name=None, src=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the add-on.

  • src (pulumi.Input[str]) – The source URL to display in a frame in the PagerDuty UI. HTTPS is required.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.AwaitableGetBusinessServiceResult(id=None, name=None)
class pulumi_pagerduty.AwaitableGetEscalationPolicyResult(id=None, name=None)
class pulumi_pagerduty.AwaitableGetExtensionSchemaResult(id=None, name=None, type=None)
class pulumi_pagerduty.AwaitableGetPriorityResult(description=None, id=None, name=None)
class pulumi_pagerduty.AwaitableGetScheduleResult(id=None, name=None)
class pulumi_pagerduty.AwaitableGetServiceResult(id=None, name=None)
class pulumi_pagerduty.AwaitableGetTeamResult(description=None, id=None, name=None)
class pulumi_pagerduty.AwaitableGetUserResult(email=None, id=None, name=None)
class pulumi_pagerduty.AwaitableGetVendorResult(id=None, name=None, type=None)
class pulumi_pagerduty.BusinessService(resource_name, opts=None, description=None, name=None, point_of_contact=None, type=None, __props__=None, __name__=None, __opts__=None)

A business service allows you to model capabilities that span multiple technical services and that may be owned by several different teams.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.BusinessService("example",
    description="A very descriptive description of this business service",
    point_of_contact="PagerDuty Admin")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the business service.

  • point_of_contact (pulumi.Input[str]) – The owner of the business service.

  • type (pulumi.Input[str]) – Default value is business_service. Can also be set as business_service_reference.

name: pulumi.Output[str] = None

The name of the business service.

point_of_contact: pulumi.Output[str] = None

The owner of the business service.

type: pulumi.Output[str] = None

Default value is business_service. Can also be set as business_service_reference.

static get(resource_name, id, opts=None, description=None, html_url=None, name=None, point_of_contact=None, self=None, summary=None, type=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the business service.

  • point_of_contact (pulumi.Input[str]) – The owner of the business service.

  • type (pulumi.Input[str]) – Default value is business_service. Can also be set as business_service_reference.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.EscalationPolicy(resource_name, opts=None, description=None, name=None, num_loops=None, rules=None, teams=None, __props__=None, __name__=None, __opts__=None)

An escalation policy determines what user or schedule will be notified first, second, and so on when an incident is triggered. Escalation policies are used by one or more services.

import pulumi
import pulumi_pagerduty as pagerduty

example_team = pagerduty.Team("exampleTeam", description="All engineering")
example_user = pagerduty.User("exampleUser",
    email="125.greenholt.earline@graham.name",
    teams=[example_team.id])
example_escalation_policy = pagerduty.EscalationPolicy("exampleEscalationPolicy",
    num_loops=2,
    rules=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": example_user.id,
            "type": "user",
        }],
    }],
    teams=[example_team.id])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the escalation policy.

  • num_loops (pulumi.Input[float]) – The number of times the escalation policy will repeat after reaching the end of its escalation.

  • rules (pulumi.Input[list]) – An Escalation rule block. Escalation rules documented below.

  • teams (pulumi.Input[list]) – Teams associated with the policy. Account must have the teams ability to use this parameter.

The rules object supports the following:

  • escalationDelayInMinutes (pulumi.Input[float]) - The number of minutes before an unacknowledged incident escalates away from this rule.

  • id (pulumi.Input[str]) - A target ID

  • targets (pulumi.Input[list])

    • id (pulumi.Input[str]) - A target ID

    • type (pulumi.Input[str]) - Can be user, schedule, user_reference or schedule_reference. Defaults to user_reference

name: pulumi.Output[str] = None

The name of the escalation policy.

num_loops: pulumi.Output[float] = None

The number of times the escalation policy will repeat after reaching the end of its escalation.

rules: pulumi.Output[list] = None

An Escalation rule block. Escalation rules documented below.

  • escalationDelayInMinutes (float) - The number of minutes before an unacknowledged incident escalates away from this rule.

  • id (str) - A target ID

  • targets (list)

    • id (str) - A target ID

    • type (str) - Can be user, schedule, user_reference or schedule_reference. Defaults to user_reference

teams: pulumi.Output[list] = None

Teams associated with the policy. Account must have the teams ability to use this parameter.

static get(resource_name, id, opts=None, description=None, name=None, num_loops=None, rules=None, teams=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the escalation policy.

  • num_loops (pulumi.Input[float]) – The number of times the escalation policy will repeat after reaching the end of its escalation.

  • rules (pulumi.Input[list]) – An Escalation rule block. Escalation rules documented below.

  • teams (pulumi.Input[list]) – Teams associated with the policy. Account must have the teams ability to use this parameter.

The rules object supports the following:

  • escalationDelayInMinutes (pulumi.Input[float]) - The number of minutes before an unacknowledged incident escalates away from this rule.

  • id (pulumi.Input[str]) - A target ID

  • targets (pulumi.Input[list])

    • id (pulumi.Input[str]) - A target ID

    • type (pulumi.Input[str]) - Can be user, schedule, user_reference or schedule_reference. Defaults to user_reference

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.EventRule(resource_name, opts=None, action_json=None, advanced_condition_json=None, condition_json=None, __props__=None, __name__=None, __opts__=None)

Create a EventRule resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] action_json: A list of one or more actions for each rule. Each action within the list is itself a list. :param pulumi.Input[str] advanced_condition_json: Contains a list of specific conditions including active-between,scheduled-weekly, and frequency-over. The first element in the list is the label for the condition, followed by a list of values for the specific condition. For more details on these conditions see Advanced Condition in the PagerDuty API documentation. :param pulumi.Input[str] condition_json: Contains a list of conditions. The first field in the list is and or or, followed by a list of operators and values.

action_json: pulumi.Output[str] = None

A list of one or more actions for each rule. Each action within the list is itself a list.

advanced_condition_json: pulumi.Output[str] = None

Contains a list of specific conditions including active-between,scheduled-weekly, and frequency-over. The first element in the list is the label for the condition, followed by a list of values for the specific condition. For more details on these conditions see Advanced Condition in the PagerDuty API documentation.

catch_all: pulumi.Output[bool] = None

A boolean that indicates whether the rule is a catch all for the account. This field is read-only through the PagerDuty API.

condition_json: pulumi.Output[str] = None

Contains a list of conditions. The first field in the list is and or or, followed by a list of operators and values.

static get(resource_name, id, opts=None, action_json=None, advanced_condition_json=None, catch_all=None, condition_json=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • action_json (pulumi.Input[str]) – A list of one or more actions for each rule. Each action within the list is itself a list.

  • advanced_condition_json (pulumi.Input[str]) –

    Contains a list of specific conditions including active-between,scheduled-weekly, and frequency-over. The first element in the list is the label for the condition, followed by a list of values for the specific condition. For more details on these conditions see Advanced Condition in the PagerDuty API documentation.

  • catch_all (pulumi.Input[bool]) – A boolean that indicates whether the rule is a catch all for the account. This field is read-only through the PagerDuty API.

  • condition_json (pulumi.Input[str]) – Contains a list of conditions. The first field in the list is and or or, followed by a list of operators and values.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.Extension(resource_name, opts=None, config=None, endpoint_url=None, extension_objects=None, extension_schema=None, name=None, type=None, __props__=None, __name__=None, __opts__=None)

An extension can be associated with a service.

import pulumi
import pulumi_pagerduty as pagerduty

webhook = pagerduty.get_extension_schema(name="Generic V2 Webhook")
example_user = pagerduty.User("exampleUser",
    email="howard.james@example.domain",
    teams=[pagerduty_team["example"]["id"]])
foo = pagerduty.EscalationPolicy("foo",
    num_loops=2,
    rules=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": example_user.id,
            "type": "user",
        }],
    }])
example_service = pagerduty.Service("exampleService",
    acknowledgement_timeout=600,
    auto_resolve_timeout=14400,
    escalation_policy=pagerduty_escalation_policy["example"]["id"])
slack = pagerduty.Extension("slack",
    config="""{
        "restrict": "any",
        "notify_types": {
                        "resolve": false,
                        "acknowledge": false,
                        "assignments": false
        },
        "access_token": "XXX"
}

""",
    endpoint_url="https://generic_webhook_url/XXXXXX/BBBBBB",
    extension_objects=[example_service.id],
    extension_schema=webhook.id)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • config (pulumi.Input[str]) – The configuration of the service extension as string containing plain JSON-encoded data.

  • endpoint_url (pulumi.Input[str]) – The url of the extension.
    Note: The endpoint URL is Optional API wise in most cases. But in some cases it is a Required parameter. For example, .getExtensionSchema named Generic V2 Webhook doesn’t accept .Extension with no endpoint_url, but one with named Slack accepts.

  • extension_objects (pulumi.Input[list]) – This is the objects for which the extension applies (An array of service ids).

  • extension_schema (pulumi.Input[str]) – This is the schema for this extension.

  • name (pulumi.Input[str]) – The name of the service extension.

config: pulumi.Output[str] = None

The configuration of the service extension as string containing plain JSON-encoded data.

endpoint_url: pulumi.Output[str] = None

The url of the extension.
Note: The endpoint URL is Optional API wise in most cases. But in some cases it is a Required parameter. For example, .getExtensionSchema named Generic V2 Webhook doesn’t accept .Extension with no endpoint_url, but one with named Slack accepts.

extension_objects: pulumi.Output[list] = None

This is the objects for which the extension applies (An array of service ids).

extension_schema: pulumi.Output[str] = None

This is the schema for this extension.

html_url: pulumi.Output[str] = None

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

name: pulumi.Output[str] = None

The name of the service extension.

static get(resource_name, id, opts=None, config=None, endpoint_url=None, extension_objects=None, extension_schema=None, html_url=None, name=None, type=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • config (pulumi.Input[str]) – The configuration of the service extension as string containing plain JSON-encoded data.

  • endpoint_url (pulumi.Input[str]) –

    The url of the extension.
    Note: The endpoint URL is Optional API wise in most cases. But in some cases it is a Required parameter. For example, .getExtensionSchema named Generic V2 Webhook doesn’t accept .Extension with no endpoint_url, but one with named Slack accepts.

  • extension_objects (pulumi.Input[list]) – This is the objects for which the extension applies (An array of service ids).

  • extension_schema (pulumi.Input[str]) – This is the schema for this extension.

  • html_url (pulumi.Input[str]) – URL at which the entity is uniquely displayed in the Web app

  • name (pulumi.Input[str]) – The name of the service extension.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.GetBusinessServiceResult(id=None, name=None)

A collection of values returned by getBusinessService.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The short name of the found business service.

class pulumi_pagerduty.GetEscalationPolicyResult(id=None, name=None)

A collection of values returned by getEscalationPolicy.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The short name of the found escalation policy.

class pulumi_pagerduty.GetExtensionSchemaResult(id=None, name=None, type=None)

A collection of values returned by getExtensionSchema.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The short name of the found extension vendor.

type = None

The generic service type for this extension vendor.

class pulumi_pagerduty.GetPriorityResult(description=None, id=None, name=None)

A collection of values returned by getPriority.

description = None

A description of the found priority.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The name of the found priority.

class pulumi_pagerduty.GetScheduleResult(id=None, name=None)

A collection of values returned by getSchedule.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The short name of the found schedule.

class pulumi_pagerduty.GetServiceResult(id=None, name=None)

A collection of values returned by getService.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The short name of the found service.

class pulumi_pagerduty.GetTeamResult(description=None, id=None, name=None)

A collection of values returned by getTeam.

description = None

A description of the found team.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The name of the found team.

class pulumi_pagerduty.GetUserResult(email=None, id=None, name=None)

A collection of values returned by getUser.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The short name of the found user.

class pulumi_pagerduty.GetVendorResult(id=None, name=None, type=None)

A collection of values returned by getVendor.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The short name of the found vendor.

type = None

The generic service type for this vendor.

class pulumi_pagerduty.MaintenanceWindow(resource_name, opts=None, description=None, end_time=None, services=None, start_time=None, __props__=None, __name__=None, __opts__=None)

A maintenance window is used to temporarily disable one or more services for a set period of time. No incidents will be triggered and no notifications will be received while a service is disabled by a maintenance window.

Maintenance windows are specified to start at a certain time and end after they have begun. Once started, a maintenance window cannot be deleted; it can only be ended immediately to re-enable the service.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.MaintenanceWindow("example",
    end_time="2015-11-09T22:00:00-05:00",
    services=[pagerduty_service["example"]["id"]],
    start_time="2015-11-09T20:00:00-05:00")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • description (pulumi.Input[str]) – A description for the maintenance window.

  • end_time (pulumi.Input[str]) – The maintenance window’s end time. This is when the services will start creating incidents again. This date must be in the future and after the start_time.

  • services (pulumi.Input[list]) – A list of service IDs to include in the maintenance window.

  • start_time (pulumi.Input[str]) – The maintenance window’s start time. This is when the services will stop creating incidents. If this date is in the past, it will be updated to be the current time.

description: pulumi.Output[str] = None

A description for the maintenance window.

end_time: pulumi.Output[str] = None

The maintenance window’s end time. This is when the services will start creating incidents again. This date must be in the future and after the start_time.

services: pulumi.Output[list] = None

A list of service IDs to include in the maintenance window.

start_time: pulumi.Output[str] = None

The maintenance window’s start time. This is when the services will stop creating incidents. If this date is in the past, it will be updated to be the current time.

static get(resource_name, id, opts=None, description=None, end_time=None, services=None, start_time=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • description (pulumi.Input[str]) – A description for the maintenance window.

  • end_time (pulumi.Input[str]) – The maintenance window’s end time. This is when the services will start creating incidents again. This date must be in the future and after the start_time.

  • services (pulumi.Input[list]) – A list of service IDs to include in the maintenance window.

  • start_time (pulumi.Input[str]) – The maintenance window’s start time. This is when the services will stop creating incidents. If this date is in the past, it will be updated to be the current time.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.Provider(resource_name, opts=None, skip_credentials_validation=None, token=None, __props__=None, __name__=None, __opts__=None)

The provider type for the pagerduty package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

Parameters
translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.Ruleset(resource_name, opts=None, name=None, team=None, __props__=None, __name__=None, __opts__=None)

Rulesets allow you to route events to an endpoint and create collections of event rules, which define sets of actions to take based on event content.

import pulumi
import pulumi_pagerduty as pagerduty

foo_team = pagerduty.Team("fooTeam")
foo_ruleset = pagerduty.Ruleset("fooRuleset", team={
    "id": foo_team.id,
})
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Name of the ruleset.

  • team (pulumi.Input[dict]) – Reference to the team that owns the ruleset. If none is specified, only admins have access.

The team object supports the following:

  • id (pulumi.Input[str]) - The ID of the ruleset.

name: pulumi.Output[str] = None

Name of the ruleset.

routing_keys: pulumi.Output[list] = None

Routing keys routed to this ruleset.

team: pulumi.Output[dict] = None

Reference to the team that owns the ruleset. If none is specified, only admins have access.

  • id (str) - The ID of the ruleset.

type: pulumi.Output[str] = None

Type of ruleset. Currently only sets to global.

static get(resource_name, id, opts=None, name=None, routing_keys=None, team=None, type=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Name of the ruleset.

  • routing_keys (pulumi.Input[list]) – Routing keys routed to this ruleset.

  • team (pulumi.Input[dict]) – Reference to the team that owns the ruleset. If none is specified, only admins have access.

  • type (pulumi.Input[str]) – Type of ruleset. Currently only sets to global.

The team object supports the following:

  • id (pulumi.Input[str]) - The ID of the ruleset.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.RulesetRule(resource_name, opts=None, actions=None, conditions=None, disabled=None, position=None, ruleset=None, time_frame=None, __props__=None, __name__=None, __opts__=None)

Create a RulesetRule resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[dict] actions: Actions to apply to an event if the conditions match. :param pulumi.Input[dict] conditions: Conditions evaluated to check if an event matches this event rule. Is always empty for the catch all rule, though. :param pulumi.Input[bool] disabled: Indicates whether the rule is disabled and would therefore not be evaluated. :param pulumi.Input[float] position: Position/index of the rule within the ruleset. :param pulumi.Input[str] ruleset: The ID of the ruleset that the rule belongs to. :param pulumi.Input[dict] time_frame: Settings for scheduling the rule.

The actions object supports the following:

  • annotates (pulumi.Input[list]) - Note added to the event.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • eventActions (pulumi.Input[list])

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • extractions (pulumi.Input[list]) - Allows you to copy important data from one event field to another. Extraction rules must use valid RE2 regular expression syntax. Extraction objects consist of the following fields:

    • regex (pulumi.Input[str]) - The conditions that need to be met for the extraction to happen.

      • NOTE: A rule can have multiple ``extraction`` objects attributed to it.

    • source (pulumi.Input[str]) - Field where the data is being copied from.

    • target (pulumi.Input[str]) - Field where the data is being copied to.

  • priorities (pulumi.Input[list]) - The ID of the priority applied to the event.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • routes (pulumi.Input[list]) - The ID of the service where the event will be routed.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • severities (pulumi.Input[list]) - The severity level of the event. Can be either info,error,warning, or critical.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • suppresses (pulumi.Input[list]) - Controls whether an alert is suppressed (does not create an incident).

    • thresholdTimeAmount (pulumi.Input[float]) - The number value of the threshold_time_unit before an incident is created.

    • thresholdTimeUnit (pulumi.Input[str]) - The minutes,hours, or days that the threshold_time_amount should be measured.

    • thresholdValue (pulumi.Input[float]) - The number of alerts that should be suppressed.

    • value (pulumi.Input[bool]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

The conditions object supports the following:

  • operator (pulumi.Input[str]) - Operator to combine sub-conditions. Can be and or or.

  • subconditions (pulumi.Input[list]) - List of sub-conditions that define the the condition.

    • operator (pulumi.Input[str]) - Type of operator to apply to the sub-condition. Can be exists,nexists,equals,nequals,contains,ncontains,matches, or nmatches.

    • parameters (pulumi.Input[list]) - Parameter for the sub-condition. It requires both a path and value to be set.

      • path (pulumi.Input[str])

      • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

The time_frame object supports the following:

  • activeBetweens (pulumi.Input[list]) - Values for executing the rule during a specific time period.

    • end_time (pulumi.Input[float]) - Ending of the scheduled time when the rule should execute. Unix timestamp in milliseconds.

    • start_time (pulumi.Input[float]) - Time when the schedule will start. Unix timestamp in milliseconds. For example, if you have a rule with a start_time of 0 and a duration of 60,000 then that rule would be active from 00:00 to 00:01. If the start_time was 3,600,000 the it would be active starting at 01:00.

  • scheduledWeeklies (pulumi.Input[list]) - Values for executing the rule on a recurring schedule.

    • duration (pulumi.Input[float]) - Length of time the schedule will be active. Unix timestamp in milliseconds.

    • start_time (pulumi.Input[float]) - Time when the schedule will start. Unix timestamp in milliseconds. For example, if you have a rule with a start_time of 0 and a duration of 60,000 then that rule would be active from 00:00 to 00:01. If the start_time was 3,600,000 the it would be active starting at 01:00.

    • timezone (pulumi.Input[str]) - Timezone for the given schedule.

    • weekdays (pulumi.Input[list]) - An integer array representing which days during the week the rule executes. For example weekdays = [1,3,7] would execute on Monday, Wednesday and Sunday.

actions: pulumi.Output[dict] = None

Actions to apply to an event if the conditions match.

  • annotates (list) - Note added to the event.

    • value (str) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • eventActions (list)

    • value (str) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • extractions (list) - Allows you to copy important data from one event field to another. Extraction rules must use valid RE2 regular expression syntax. Extraction objects consist of the following fields:

    • regex (str) - The conditions that need to be met for the extraction to happen.

      • NOTE: A rule can have multiple ``extraction`` objects attributed to it.

    • source (str) - Field where the data is being copied from.

    • target (str) - Field where the data is being copied to.

  • priorities (list) - The ID of the priority applied to the event.

    • value (str) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • routes (list) - The ID of the service where the event will be routed.

    • value (str) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • severities (list) - The severity level of the event. Can be either info,error,warning, or critical.

    • value (str) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • suppresses (list) - Controls whether an alert is suppressed (does not create an incident).

    • thresholdTimeAmount (float) - The number value of the threshold_time_unit before an incident is created.

    • thresholdTimeUnit (str) - The minutes,hours, or days that the threshold_time_amount should be measured.

    • thresholdValue (float) - The number of alerts that should be suppressed.

    • value (bool) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

conditions: pulumi.Output[dict] = None

Conditions evaluated to check if an event matches this event rule. Is always empty for the catch all rule, though.

  • operator (str) - Operator to combine sub-conditions. Can be and or or.

  • subconditions (list) - List of sub-conditions that define the the condition.

    • operator (str) - Type of operator to apply to the sub-condition. Can be exists,nexists,equals,nequals,contains,ncontains,matches, or nmatches.

    • parameters (list) - Parameter for the sub-condition. It requires both a path and value to be set.

      • path (str)

      • value (str) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

disabled: pulumi.Output[bool] = None

Indicates whether the rule is disabled and would therefore not be evaluated.

position: pulumi.Output[float] = None

Position/index of the rule within the ruleset.

ruleset: pulumi.Output[str] = None

The ID of the ruleset that the rule belongs to.

time_frame: pulumi.Output[dict] = None

Settings for scheduling the rule.

  • activeBetweens (list) - Values for executing the rule during a specific time period.

    • end_time (float) - Ending of the scheduled time when the rule should execute. Unix timestamp in milliseconds.

    • start_time (float) - Time when the schedule will start. Unix timestamp in milliseconds. For example, if you have a rule with a start_time of 0 and a duration of 60,000 then that rule would be active from 00:00 to 00:01. If the start_time was 3,600,000 the it would be active starting at 01:00.

  • scheduledWeeklies (list) - Values for executing the rule on a recurring schedule.

    • duration (float) - Length of time the schedule will be active. Unix timestamp in milliseconds.

    • start_time (float) - Time when the schedule will start. Unix timestamp in milliseconds. For example, if you have a rule with a start_time of 0 and a duration of 60,000 then that rule would be active from 00:00 to 00:01. If the start_time was 3,600,000 the it would be active starting at 01:00.

    • timezone (str) - Timezone for the given schedule.

    • weekdays (list) - An integer array representing which days during the week the rule executes. For example weekdays = [1,3,7] would execute on Monday, Wednesday and Sunday.

static get(resource_name, id, opts=None, actions=None, conditions=None, disabled=None, position=None, ruleset=None, time_frame=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • actions (pulumi.Input[dict]) – Actions to apply to an event if the conditions match.

  • conditions (pulumi.Input[dict]) – Conditions evaluated to check if an event matches this event rule. Is always empty for the catch all rule, though.

  • disabled (pulumi.Input[bool]) – Indicates whether the rule is disabled and would therefore not be evaluated.

  • position (pulumi.Input[float]) – Position/index of the rule within the ruleset.

  • ruleset (pulumi.Input[str]) – The ID of the ruleset that the rule belongs to.

  • time_frame (pulumi.Input[dict]) –

    Settings for scheduling the rule.

The actions object supports the following:

  • annotates (pulumi.Input[list]) - Note added to the event.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • eventActions (pulumi.Input[list])

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • extractions (pulumi.Input[list]) - Allows you to copy important data from one event field to another. Extraction rules must use valid RE2 regular expression syntax. Extraction objects consist of the following fields:

    • regex (pulumi.Input[str]) - The conditions that need to be met for the extraction to happen.

      • NOTE: A rule can have multiple ``extraction`` objects attributed to it.

    • source (pulumi.Input[str]) - Field where the data is being copied from.

    • target (pulumi.Input[str]) - Field where the data is being copied to.

  • priorities (pulumi.Input[list]) - The ID of the priority applied to the event.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • routes (pulumi.Input[list]) - The ID of the service where the event will be routed.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • severities (pulumi.Input[list]) - The severity level of the event. Can be either info,error,warning, or critical.

    • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

  • suppresses (pulumi.Input[list]) - Controls whether an alert is suppressed (does not create an incident).

    • thresholdTimeAmount (pulumi.Input[float]) - The number value of the threshold_time_unit before an incident is created.

    • thresholdTimeUnit (pulumi.Input[str]) - The minutes,hours, or days that the threshold_time_amount should be measured.

    • thresholdValue (pulumi.Input[float]) - The number of alerts that should be suppressed.

    • value (pulumi.Input[bool]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

The conditions object supports the following:

  • operator (pulumi.Input[str]) - Operator to combine sub-conditions. Can be and or or.

  • subconditions (pulumi.Input[list]) - List of sub-conditions that define the the condition.

    • operator (pulumi.Input[str]) - Type of operator to apply to the sub-condition. Can be exists,nexists,equals,nequals,contains,ncontains,matches, or nmatches.

    • parameters (pulumi.Input[list]) - Parameter for the sub-condition. It requires both a path and value to be set.

      • path (pulumi.Input[str])

      • value (pulumi.Input[str]) - Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met.

The time_frame object supports the following:

  • activeBetweens (pulumi.Input[list]) - Values for executing the rule during a specific time period.

    • end_time (pulumi.Input[float]) - Ending of the scheduled time when the rule should execute. Unix timestamp in milliseconds.

    • start_time (pulumi.Input[float]) - Time when the schedule will start. Unix timestamp in milliseconds. For example, if you have a rule with a start_time of 0 and a duration of 60,000 then that rule would be active from 00:00 to 00:01. If the start_time was 3,600,000 the it would be active starting at 01:00.

  • scheduledWeeklies (pulumi.Input[list]) - Values for executing the rule on a recurring schedule.

    • duration (pulumi.Input[float]) - Length of time the schedule will be active. Unix timestamp in milliseconds.

    • start_time (pulumi.Input[float]) - Time when the schedule will start. Unix timestamp in milliseconds. For example, if you have a rule with a start_time of 0 and a duration of 60,000 then that rule would be active from 00:00 to 00:01. If the start_time was 3,600,000 the it would be active starting at 01:00.

    • timezone (pulumi.Input[str]) - Timezone for the given schedule.

    • weekdays (pulumi.Input[list]) - An integer array representing which days during the week the rule executes. For example weekdays = [1,3,7] would execute on Monday, Wednesday and Sunday.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.Schedule(resource_name, opts=None, description=None, layers=None, name=None, overflow=None, time_zone=None, __props__=None, __name__=None, __opts__=None)

A schedule determines the time periods that users are on call. Only on-call users are eligible to receive notifications from incidents.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.User("example",
    email="125.greenholt.earline@graham.name",
    teams=[pagerduty_team["example"]["id"]])
foo = pagerduty.Schedule("foo",
    layers=[{
        "name": "Night Shift",
        "restriction": [{
            "durationSeconds": 32400,
            "startTimeOfDay": "08:00:00",
            "type": "daily_restriction",
        }],
        "rotationTurnLengthSeconds": 86400,
        "rotationVirtualStart": "2015-11-06T20:00:00-05:00",
        "start": "2015-11-06T20:00:00-05:00",
        "users": [pagerduty_user["foo"]["id"]],
    }],
    time_zone="America/New_York")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • description (pulumi.Input[str]) – The description of the schedule

  • layers (pulumi.Input[list]) – A schedule layer block. Schedule layers documented below.

  • name (pulumi.Input[str]) – The name of the schedule.

  • overflow (pulumi.Input[bool]) – Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter overflow is passed. For instance, if your schedule is a rotation that changes daily at midnight UTC, and your date range is from 2011-06-01T10:00:00Z to 2011-06-01T14:00:00Z: If you don’t pass the overflow=true parameter, you will get one schedule entry returned with a start of 2011-06-01T10:00:00Z and end of 2011-06-01T14:00:00Z. If you do pass the overflow parameter, you will get one schedule entry returned with a start of 2011-06-01T00:00:00Z and end of 2011-06-02T00:00:00Z.

  • time_zone (pulumi.Input[str]) – The time zone of the schedule (e.g Europe/Berlin).

The layers object supports the following:

  • end (pulumi.Input[str]) - The end time of the schedule layer. If not specified, the layer does not end.

  • id (pulumi.Input[str]) - The ID of the schedule

  • name (pulumi.Input[str]) - The name of the schedule layer.

  • restrictions (pulumi.Input[list]) - A schedule layer restriction block. Restriction blocks documented below.

    • durationSeconds (pulumi.Input[float]) - The duration of the restriction in seconds.

    • startDayOfWeek (pulumi.Input[float]) - Number of the day when restriction starts. From 1 to 7 where 1 is Monday and 7 is Sunday.

    • startTimeOfDay (pulumi.Input[str]) - The start time in HH:mm:ss format.

    • type (pulumi.Input[str]) - Can be daily_restriction or weekly_restriction

  • rotationTurnLengthSeconds (pulumi.Input[float]) - The duration of each on-call shift in seconds.

  • rotationVirtualStart (pulumi.Input[str]) - The effective start time of the schedule layer. This can be before the start time of the schedule.

  • start (pulumi.Input[str]) - The start time of the schedule layer. This value will not be read back from the PagerDuty API because the API will always return a new start time, which represents the last updated time of the schedule layer.

  • users (pulumi.Input[list]) - The ordered list of users on this layer. The position of the user on the list determines their order in the layer.

description: pulumi.Output[str] = None

The description of the schedule

layers: pulumi.Output[list] = None

A schedule layer block. Schedule layers documented below.

  • end (str) - The end time of the schedule layer. If not specified, the layer does not end.

  • id (str) - The ID of the schedule

  • name (str) - The name of the schedule layer.

  • restrictions (list) - A schedule layer restriction block. Restriction blocks documented below.

    • durationSeconds (float) - The duration of the restriction in seconds.

    • startDayOfWeek (float) - Number of the day when restriction starts. From 1 to 7 where 1 is Monday and 7 is Sunday.

    • startTimeOfDay (str) - The start time in HH:mm:ss format.

    • type (str) - Can be daily_restriction or weekly_restriction

  • rotationTurnLengthSeconds (float) - The duration of each on-call shift in seconds.

  • rotationVirtualStart (str) - The effective start time of the schedule layer. This can be before the start time of the schedule.

  • start (str) - The start time of the schedule layer. This value will not be read back from the PagerDuty API because the API will always return a new start time, which represents the last updated time of the schedule layer.

  • users (list) - The ordered list of users on this layer. The position of the user on the list determines their order in the layer.

name: pulumi.Output[str] = None

The name of the schedule.

overflow: pulumi.Output[bool] = None

Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter overflow is passed. For instance, if your schedule is a rotation that changes daily at midnight UTC, and your date range is from 2011-06-01T10:00:00Z to 2011-06-01T14:00:00Z: If you don’t pass the overflow=true parameter, you will get one schedule entry returned with a start of 2011-06-01T10:00:00Z and end of 2011-06-01T14:00:00Z. If you do pass the overflow parameter, you will get one schedule entry returned with a start of 2011-06-01T00:00:00Z and end of 2011-06-02T00:00:00Z.

time_zone: pulumi.Output[str] = None

The time zone of the schedule (e.g Europe/Berlin).

static get(resource_name, id, opts=None, description=None, layers=None, name=None, overflow=None, time_zone=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • description (pulumi.Input[str]) – The description of the schedule

  • layers (pulumi.Input[list]) – A schedule layer block. Schedule layers documented below.

  • name (pulumi.Input[str]) – The name of the schedule.

  • overflow (pulumi.Input[bool]) – Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter overflow is passed. For instance, if your schedule is a rotation that changes daily at midnight UTC, and your date range is from 2011-06-01T10:00:00Z to 2011-06-01T14:00:00Z: If you don’t pass the overflow=true parameter, you will get one schedule entry returned with a start of 2011-06-01T10:00:00Z and end of 2011-06-01T14:00:00Z. If you do pass the overflow parameter, you will get one schedule entry returned with a start of 2011-06-01T00:00:00Z and end of 2011-06-02T00:00:00Z.

  • time_zone (pulumi.Input[str]) – The time zone of the schedule (e.g Europe/Berlin).

The layers object supports the following:

  • end (pulumi.Input[str]) - The end time of the schedule layer. If not specified, the layer does not end.

  • id (pulumi.Input[str]) - The ID of the schedule

  • name (pulumi.Input[str]) - The name of the schedule layer.

  • restrictions (pulumi.Input[list]) - A schedule layer restriction block. Restriction blocks documented below.

    • durationSeconds (pulumi.Input[float]) - The duration of the restriction in seconds.

    • startDayOfWeek (pulumi.Input[float]) - Number of the day when restriction starts. From 1 to 7 where 1 is Monday and 7 is Sunday.

    • startTimeOfDay (pulumi.Input[str]) - The start time in HH:mm:ss format.

    • type (pulumi.Input[str]) - Can be daily_restriction or weekly_restriction

  • rotationTurnLengthSeconds (pulumi.Input[float]) - The duration of each on-call shift in seconds.

  • rotationVirtualStart (pulumi.Input[str]) - The effective start time of the schedule layer. This can be before the start time of the schedule.

  • start (pulumi.Input[str]) - The start time of the schedule layer. This value will not be read back from the PagerDuty API because the API will always return a new start time, which represents the last updated time of the schedule layer.

  • users (pulumi.Input[list]) - The ordered list of users on this layer. The position of the user on the list determines their order in the layer.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.Service(resource_name, opts=None, acknowledgement_timeout=None, alert_creation=None, alert_grouping=None, alert_grouping_timeout=None, auto_resolve_timeout=None, description=None, escalation_policy=None, incident_urgency_rule=None, name=None, scheduled_actions=None, support_hours=None, __props__=None, __name__=None, __opts__=None)

A service represents something you monitor (like a web service, email service, or database service). It is a container for related incidents that associates them with escalation policies.

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=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": example_user.id,
            "type": "user",
        }],
    }])
example_service = pagerduty.Service("exampleService",
    acknowledgement_timeout=600,
    alert_creation="create_incidents",
    auto_resolve_timeout=14400,
    escalation_policy=pagerduty_escalation_policy["example"]["id"])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • acknowledgement_timeout (pulumi.Input[str]) – Time in seconds that an incident changes to the Triggered State after being Acknowledged. Disabled if set to the "null" string.

  • alert_creation (pulumi.Input[str]) – Must be one of two values. PagerDuty receives events from your monitoring systems and can then create incidents in different ways. Value “create_incidents” is default: events will create an incident that cannot be merged. Value “create_alerts_and_incidents” is the alternative: events will create an alert and then add it to a new incident, these incidents can be merged.

  • alert_grouping (pulumi.Input[str]) – Defines how alerts on this service will be automatically grouped into incidents. Note that the alert grouping features are available only on certain plans. If not set, each alert will create a separate incident; If value is set to time: All alerts within a specified duration will be grouped into the same incident. This duration is set in the alert_grouping_timeout setting (described below). Available on Standard, Enterprise, and Event Intelligence plans; If value is set to intelligent - Alerts will be intelligently grouped based on a machine learning model that looks at the alert summary, timing, and the history of grouped alerts. Available on Enterprise and Event Intelligence plan.

  • alert_grouping_timeout (pulumi.Input[float]) – The duration in minutes within which to automatically group incoming alerts. This setting applies only when alert_grouping is set to time. To continue grouping alerts until the incident is resolved, set this value to 0.

  • auto_resolve_timeout (pulumi.Input[str]) – Time in seconds that an incident is automatically resolved if left open for that long. Disabled if set to the "null" string.

  • escalation_policy (pulumi.Input[str]) – The escalation policy used by this service.

  • name (pulumi.Input[str]) – The name of the service.

The incident_urgency_rule object supports the following:

  • duringSupportHours (pulumi.Input[dict]) - Incidents’ urgency during support hours.

    • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

    • urgency (pulumi.Input[str]) - The urgency: low Notify responders (does not escalate), high (follows escalation rules) or severity_based Set’s the urgency of the incident based on the severity set by the triggering monitoring tool.

  • outsideSupportHours (pulumi.Input[dict]) - Incidents’ urgency outside of support hours.

    • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

    • urgency (pulumi.Input[str]) - The urgency: low Notify responders (does not escalate), high (follows escalation rules) or severity_based Set’s the urgency of the incident based on the severity set by the triggering monitoring tool.

  • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

  • urgency (pulumi.Input[str]) - The urgency: low Notify responders (does not escalate), high (follows escalation rules) or severity_based Set’s the urgency of the incident based on the severity set by the triggering monitoring tool.

The scheduled_actions object supports the following:

  • ats (pulumi.Input[list]) - A block representing when the scheduled action will occur.

    • name (pulumi.Input[str]) - Designates either the start or the end of the scheduled action. Can be support_hours_start or support_hours_end.

    • type (pulumi.Input[str]) - The type of time specification. Currently, this must be set to named_time.

  • toUrgency (pulumi.Input[str]) - The urgency to change to: low (does not escalate), or high (follows escalation rules).

  • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

The support_hours object supports the following:

  • daysOfWeeks (pulumi.Input[list]) - Array of days of week as integers. 1 to 7, 1 being Monday and 7 being Sunday.

  • end_time (pulumi.Input[str]) - The support hours’ ending time of day.

  • start_time (pulumi.Input[str]) - The support hours’ starting time of day.

  • time_zone (pulumi.Input[str]) - The time zone for the support hours.

  • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

acknowledgement_timeout: pulumi.Output[str] = None

Time in seconds that an incident changes to the Triggered State after being Acknowledged. Disabled if set to the "null" string.

alert_creation: pulumi.Output[str] = None

Must be one of two values. PagerDuty receives events from your monitoring systems and can then create incidents in different ways. Value “create_incidents” is default: events will create an incident that cannot be merged. Value “create_alerts_and_incidents” is the alternative: events will create an alert and then add it to a new incident, these incidents can be merged.

alert_grouping: pulumi.Output[str] = None

Defines how alerts on this service will be automatically grouped into incidents. Note that the alert grouping features are available only on certain plans. If not set, each alert will create a separate incident; If value is set to time: All alerts within a specified duration will be grouped into the same incident. This duration is set in the alert_grouping_timeout setting (described below). Available on Standard, Enterprise, and Event Intelligence plans; If value is set to intelligent - Alerts will be intelligently grouped based on a machine learning model that looks at the alert summary, timing, and the history of grouped alerts. Available on Enterprise and Event Intelligence plan.

alert_grouping_timeout: pulumi.Output[float] = None

The duration in minutes within which to automatically group incoming alerts. This setting applies only when alert_grouping is set to time. To continue grouping alerts until the incident is resolved, set this value to 0.

auto_resolve_timeout: pulumi.Output[str] = None

Time in seconds that an incident is automatically resolved if left open for that long. Disabled if set to the "null" string.

escalation_policy: pulumi.Output[str] = None

The escalation policy used by this service.

name: pulumi.Output[str] = None

The name of the service.

static get(resource_name, id, opts=None, acknowledgement_timeout=None, alert_creation=None, alert_grouping=None, alert_grouping_timeout=None, auto_resolve_timeout=None, created_at=None, description=None, escalation_policy=None, html_url=None, incident_urgency_rule=None, last_incident_timestamp=None, name=None, scheduled_actions=None, status=None, support_hours=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • acknowledgement_timeout (pulumi.Input[str]) – Time in seconds that an incident changes to the Triggered State after being Acknowledged. Disabled if set to the "null" string.

  • alert_creation (pulumi.Input[str]) – Must be one of two values. PagerDuty receives events from your monitoring systems and can then create incidents in different ways. Value “create_incidents” is default: events will create an incident that cannot be merged. Value “create_alerts_and_incidents” is the alternative: events will create an alert and then add it to a new incident, these incidents can be merged.

  • alert_grouping (pulumi.Input[str]) – Defines how alerts on this service will be automatically grouped into incidents. Note that the alert grouping features are available only on certain plans. If not set, each alert will create a separate incident; If value is set to time: All alerts within a specified duration will be grouped into the same incident. This duration is set in the alert_grouping_timeout setting (described below). Available on Standard, Enterprise, and Event Intelligence plans; If value is set to intelligent - Alerts will be intelligently grouped based on a machine learning model that looks at the alert summary, timing, and the history of grouped alerts. Available on Enterprise and Event Intelligence plan.

  • alert_grouping_timeout (pulumi.Input[float]) – The duration in minutes within which to automatically group incoming alerts. This setting applies only when alert_grouping is set to time. To continue grouping alerts until the incident is resolved, set this value to 0.

  • auto_resolve_timeout (pulumi.Input[str]) – Time in seconds that an incident is automatically resolved if left open for that long. Disabled if set to the "null" string.

  • escalation_policy (pulumi.Input[str]) – The escalation policy used by this service.

  • name (pulumi.Input[str]) – The name of the service.

The incident_urgency_rule object supports the following:

  • duringSupportHours (pulumi.Input[dict]) - Incidents’ urgency during support hours.

    • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

    • urgency (pulumi.Input[str]) - The urgency: low Notify responders (does not escalate), high (follows escalation rules) or severity_based Set’s the urgency of the incident based on the severity set by the triggering monitoring tool.

  • outsideSupportHours (pulumi.Input[dict]) - Incidents’ urgency outside of support hours.

    • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

    • urgency (pulumi.Input[str]) - The urgency: low Notify responders (does not escalate), high (follows escalation rules) or severity_based Set’s the urgency of the incident based on the severity set by the triggering monitoring tool.

  • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

  • urgency (pulumi.Input[str]) - The urgency: low Notify responders (does not escalate), high (follows escalation rules) or severity_based Set’s the urgency of the incident based on the severity set by the triggering monitoring tool.

The scheduled_actions object supports the following:

  • ats (pulumi.Input[list]) - A block representing when the scheduled action will occur.

    • name (pulumi.Input[str]) - Designates either the start or the end of the scheduled action. Can be support_hours_start or support_hours_end.

    • type (pulumi.Input[str]) - The type of time specification. Currently, this must be set to named_time.

  • toUrgency (pulumi.Input[str]) - The urgency to change to: low (does not escalate), or high (follows escalation rules).

  • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

The support_hours object supports the following:

  • daysOfWeeks (pulumi.Input[list]) - Array of days of week as integers. 1 to 7, 1 being Monday and 7 being Sunday.

  • end_time (pulumi.Input[str]) - The support hours’ ending time of day.

  • start_time (pulumi.Input[str]) - The support hours’ starting time of day.

  • time_zone (pulumi.Input[str]) - The time zone for the support hours.

  • type (pulumi.Input[str]) - The type of scheduled action. Currently, this must be set to urgency_change.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.ServiceDependency(resource_name, opts=None, dependencies=None, __props__=None, __name__=None, __opts__=None)

A service dependency is a relationship between a business service and technical and business services that this service uses, or that are used by this service, and are critical for successful operation.

import pulumi
import pulumi_pagerduty as pagerduty

foo = pagerduty.ServiceDependency("foo", dependency=[{
    "dependent_service": [{
        "id": pagerduty_business_service["foo"]["id"],
        "type": "business_service",
    }],
    "supporting_service": [{
        "id": pagerduty_service["foo"]["id"],
        "type": "service",
    }],
}])
bar = pagerduty.ServiceDependency("bar", dependency=[{
    "dependent_service": [{
        "id": pagerduty_business_service["foo"]["id"],
        "type": "business_service",
    }],
    "supporting_service": [{
        "id": pagerduty_service["two"]["id"],
        "type": "service",
    }],
}])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • dependencies (pulumi.Input[list]) – The relationship between the supporting_service and dependent_service.

The dependencies object supports the following:

  • dependentServices (pulumi.Input[list]) - The service that id dependent on the supporting service.

    • id (pulumi.Input[str]) - The ID of the service dependency.

    • type (pulumi.Input[str])

  • supportingServices (pulumi.Input[list]) - The service that supports the dependent service.

    • id (pulumi.Input[str]) - The ID of the service dependency.

    • type (pulumi.Input[str])

  • type (pulumi.Input[str])

dependencies: pulumi.Output[list] = None

The relationship between the supporting_service and dependent_service.

  • dependentServices (list) - The service that id dependent on the supporting service.

    • id (str) - The ID of the service dependency.

    • type (str)

  • supportingServices (list) - The service that supports the dependent service.

    • id (str) - The ID of the service dependency.

    • type (str)

  • type (str)

static get(resource_name, id, opts=None, dependencies=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • dependencies (pulumi.Input[list]) – The relationship between the supporting_service and dependent_service.

The dependencies object supports the following:

  • dependentServices (pulumi.Input[list]) - The service that id dependent on the supporting service.

    • id (pulumi.Input[str]) - The ID of the service dependency.

    • type (pulumi.Input[str])

  • supportingServices (pulumi.Input[list]) - The service that supports the dependent service.

    • id (pulumi.Input[str]) - The ID of the service dependency.

    • type (pulumi.Input[str])

  • type (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.ServiceIntegration(resource_name, opts=None, integration_email=None, integration_key=None, name=None, service=None, type=None, vendor=None, __props__=None, __name__=None, __opts__=None)

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

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=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": example_user.id,
            "type": "user",
        }],
    }])
example_service = pagerduty.Service("exampleService",
    acknowledgement_timeout=600,
    auto_resolve_timeout=14400,
    escalation_policy=pagerduty_escalation_policy["example"]["id"])
example_service_integration = pagerduty.ServiceIntegration("exampleServiceIntegration",
    service=example_service.id,
    type="generic_events_api_inbound_integration")
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)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • integration_email (pulumi.Input[str]) – This is the unique fully-qualified email address used for routing emails to this integration for processing.

  • integration_key (pulumi.Input[str]) – This is the unique key used to route events to this integration when received via the PagerDuty Events API.

  • name (pulumi.Input[str]) – The name of the service integration.

  • service (pulumi.Input[str]) – The ID of the service the integration should belong to.

  • type (pulumi.Input[str]) – The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

  • vendor (pulumi.Input[str]) – The ID of the vendor the integration should integrate with (e.g Datadog or Amazon Cloudwatch).

html_url: pulumi.Output[str] = None

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

integration_email: pulumi.Output[str] = None

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

integration_key: pulumi.Output[str] = None

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

name: pulumi.Output[str] = None

The name of the service integration.

service: pulumi.Output[str] = None

The ID of the service the integration should belong to.

type: pulumi.Output[str] = None

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

vendor: pulumi.Output[str] = None

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

static get(resource_name, id, opts=None, html_url=None, integration_email=None, integration_key=None, name=None, service=None, type=None, vendor=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • html_url (pulumi.Input[str]) – URL at which the entity is uniquely displayed in the Web app

  • integration_email (pulumi.Input[str]) – This is the unique fully-qualified email address used for routing emails to this integration for processing.

  • integration_key (pulumi.Input[str]) – This is the unique key used to route events to this integration when received via the PagerDuty Events API.

  • name (pulumi.Input[str]) – The name of the service integration.

  • service (pulumi.Input[str]) – The ID of the service the integration should belong to.

  • type (pulumi.Input[str]) – The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

  • vendor (pulumi.Input[str]) – The ID of the vendor the integration should integrate with (e.g Datadog or Amazon Cloudwatch).

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.Team(resource_name, opts=None, description=None, name=None, __props__=None, __name__=None, __opts__=None)

A team is a collection of users and escalation policies that represent a group of people within an organization.

The account must have the teams ability to use the following resource.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.Team("example", description="All engineering")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the group.

html_url: pulumi.Output[str] = None

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

name: pulumi.Output[str] = None

The name of the group.

static get(resource_name, id, opts=None, description=None, html_url=None, name=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • html_url (pulumi.Input[str]) – URL at which the entity is uniquely displayed in the Web app

  • name (pulumi.Input[str]) – The name of the group.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.TeamMembership(resource_name, opts=None, role=None, team_id=None, user_id=None, __props__=None, __name__=None, __opts__=None)

A team membership manages memberships within a team.

import pulumi
import pulumi_pagerduty as pagerduty

foo_user = pagerduty.User("fooUser", email="foo@bar.com")
foo_team = pagerduty.Team("fooTeam", description="foo")
foo_team_membership = pagerduty.TeamMembership("fooTeamMembership",
    role="manager",
    team_id=foo_team.id,
    user_id=foo_user.id)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • role (pulumi.Input[str]) – The role of the user in the team. One of observer, responder, or manager. Defaults to manager.

  • team_id (pulumi.Input[str]) – The ID of the team in which the user will belong.

  • user_id (pulumi.Input[str]) – The ID of the user to add to the team.

role: pulumi.Output[str] = None

The role of the user in the team. One of observer, responder, or manager. Defaults to manager.

team_id: pulumi.Output[str] = None

The ID of the team in which the user will belong.

user_id: pulumi.Output[str] = None

The ID of the user to add to the team.

static get(resource_name, id, opts=None, role=None, team_id=None, user_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • role (pulumi.Input[str]) – The role of the user in the team. One of observer, responder, or manager. Defaults to manager.

  • team_id (pulumi.Input[str]) – The ID of the team in which the user will belong.

  • user_id (pulumi.Input[str]) – The ID of the user to add to the team.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.User(resource_name, opts=None, color=None, description=None, email=None, job_title=None, name=None, role=None, teams=None, time_zone=None, __props__=None, __name__=None, __opts__=None)

A user is a member of a PagerDuty account that have the ability to interact with incidents and other data on the account.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.User("example", email="125.greenholt.earline@graham.name")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • color (pulumi.Input[str]) – The schedule color for the user. Valid options are purple, red, green, blue, teal, orange, brown, turquoise, dark-slate-blue, cayenne, orange-red, dark-orchid, dark-slate-grey, lime, dark-magenta, lime-green, midnight-blue, deep-pink, dark-green, dark-orange, dark-cyan, darkolive-green, dark-slate-gray, grey20, firebrick, maroon, crimson, dark-red, dark-goldenrod, chocolate, medium-violet-red, sea-green, olivedrab, forest-green, dark-olive-green, blue-violet, royal-blue, indigo, slate-blue, saddle-brown, or steel-blue.

  • email (pulumi.Input[str]) – The user’s email address.

  • job_title (pulumi.Input[str]) – The user’s title.

  • name (pulumi.Input[str]) – The name of the user.

  • role (pulumi.Input[str]) – The user role. Account must have the read_only_users ability to set a user as a read_only_user. Can be admin, limited_user, observer, owner, read_only_user or user

  • teams (pulumi.Input[list]) – A list of teams the user should belong to. Please use .TeamMembership instead.

  • time_zone (pulumi.Input[str]) – The timezone of the user

avatar_url: pulumi.Output[str] = None

The URL of the user’s avatar.

color: pulumi.Output[str] = None

The schedule color for the user. Valid options are purple, red, green, blue, teal, orange, brown, turquoise, dark-slate-blue, cayenne, orange-red, dark-orchid, dark-slate-grey, lime, dark-magenta, lime-green, midnight-blue, deep-pink, dark-green, dark-orange, dark-cyan, darkolive-green, dark-slate-gray, grey20, firebrick, maroon, crimson, dark-red, dark-goldenrod, chocolate, medium-violet-red, sea-green, olivedrab, forest-green, dark-olive-green, blue-violet, royal-blue, indigo, slate-blue, saddle-brown, or steel-blue.

email: pulumi.Output[str] = None

The user’s email address.

html_url: pulumi.Output[str] = None

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

invitation_sent: pulumi.Output[bool] = None

If true, the user has an outstanding invitation.

job_title: pulumi.Output[str] = None

The user’s title.

name: pulumi.Output[str] = None

The name of the user.

role: pulumi.Output[str] = None

The user role. Account must have the read_only_users ability to set a user as a read_only_user. Can be admin, limited_user, observer, owner, read_only_user or user

teams: pulumi.Output[list] = None

A list of teams the user should belong to. Please use .TeamMembership instead.

time_zone: pulumi.Output[str] = None

The timezone of the user

static get(resource_name, id, opts=None, avatar_url=None, color=None, description=None, email=None, html_url=None, invitation_sent=None, job_title=None, name=None, role=None, teams=None, time_zone=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • avatar_url (pulumi.Input[str]) – The URL of the user’s avatar.

  • color (pulumi.Input[str]) – The schedule color for the user. Valid options are purple, red, green, blue, teal, orange, brown, turquoise, dark-slate-blue, cayenne, orange-red, dark-orchid, dark-slate-grey, lime, dark-magenta, lime-green, midnight-blue, deep-pink, dark-green, dark-orange, dark-cyan, darkolive-green, dark-slate-gray, grey20, firebrick, maroon, crimson, dark-red, dark-goldenrod, chocolate, medium-violet-red, sea-green, olivedrab, forest-green, dark-olive-green, blue-violet, royal-blue, indigo, slate-blue, saddle-brown, or steel-blue.

  • email (pulumi.Input[str]) – The user’s email address.

  • html_url (pulumi.Input[str]) – URL at which the entity is uniquely displayed in the Web app

  • invitation_sent (pulumi.Input[bool]) – If true, the user has an outstanding invitation.

  • job_title (pulumi.Input[str]) – The user’s title.

  • name (pulumi.Input[str]) – The name of the user.

  • role (pulumi.Input[str]) – The user role. Account must have the read_only_users ability to set a user as a read_only_user. Can be admin, limited_user, observer, owner, read_only_user or user

  • teams (pulumi.Input[list]) – A list of teams the user should belong to. Please use .TeamMembership instead.

  • time_zone (pulumi.Input[str]) – The timezone of the user

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.UserContactMethod(resource_name, opts=None, address=None, country_code=None, label=None, send_short_email=None, type=None, user_id=None, __props__=None, __name__=None, __opts__=None)

A contact method is a contact method for a PagerDuty user (email, phone or SMS).

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.User("example",
    email="125.greenholt.earline@graham.name",
    teams=[pagerduty_team["example"]["id"]])
email = pagerduty.UserContactMethod("email",
    address="foo@bar.com",
    label="Work",
    type="email_contact_method",
    user_id=example.id)
phone = pagerduty.UserContactMethod("phone",
    address="2025550199",
    country_code="+1",
    label="Work",
    type="phone_contact_method",
    user_id=example.id)
sms = pagerduty.UserContactMethod("sms",
    address="2025550199",
    country_code="+1",
    label="Work",
    type="sms_contact_method",
    user_id=example.id)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – The “address” to deliver to: email, phone number, etc., depending on the type.

  • country_code (pulumi.Input[float]) – The 1-to-3 digit country calling code. Required when using phone_contact_method or sms_contact_method.

  • label (pulumi.Input[str]) – The label (e.g., “Work”, “Mobile”, etc.).

  • send_short_email (pulumi.Input[bool]) – Send an abbreviated email message instead of the standard email output.

  • type (pulumi.Input[str]) – The contact method type. May be (email_contact_method, phone_contact_method, sms_contact_method, push_notification_contact_method).

  • user_id (pulumi.Input[str]) – The ID of the user.

address: pulumi.Output[str] = None

The “address” to deliver to: email, phone number, etc., depending on the type.

blacklisted: pulumi.Output[bool] = None

If true, this phone has been blacklisted by PagerDuty and no messages will be sent to it.

country_code: pulumi.Output[float] = None

The 1-to-3 digit country calling code. Required when using phone_contact_method or sms_contact_method.

enabled: pulumi.Output[bool] = None

If true, this phone is capable of receiving SMS messages.

label: pulumi.Output[str] = None

The label (e.g., “Work”, “Mobile”, etc.).

send_short_email: pulumi.Output[bool] = None

Send an abbreviated email message instead of the standard email output.

type: pulumi.Output[str] = None

The contact method type. May be (email_contact_method, phone_contact_method, sms_contact_method, push_notification_contact_method).

user_id: pulumi.Output[str] = None

The ID of the user.

static get(resource_name, id, opts=None, address=None, blacklisted=None, country_code=None, enabled=None, label=None, send_short_email=None, type=None, user_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – The “address” to deliver to: email, phone number, etc., depending on the type.

  • blacklisted (pulumi.Input[bool]) – If true, this phone has been blacklisted by PagerDuty and no messages will be sent to it.

  • country_code (pulumi.Input[float]) – The 1-to-3 digit country calling code. Required when using phone_contact_method or sms_contact_method.

  • enabled (pulumi.Input[bool]) – If true, this phone is capable of receiving SMS messages.

  • label (pulumi.Input[str]) – The label (e.g., “Work”, “Mobile”, etc.).

  • send_short_email (pulumi.Input[bool]) – Send an abbreviated email message instead of the standard email output.

  • type (pulumi.Input[str]) – The contact method type. May be (email_contact_method, phone_contact_method, sms_contact_method, push_notification_contact_method).

  • user_id (pulumi.Input[str]) – The ID of the user.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_pagerduty.UserNotificationRule(resource_name, opts=None, contact_method=None, start_delay_in_minutes=None, urgency=None, user_id=None, __props__=None, __name__=None, __opts__=None)

A notification rule configures where and when a PagerDuty user is notified when a triggered incident is assigned to him. Unique notification rules can be created for both high and low-urgency incidents.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.User("example", email="125.greenholt.earline@graham.name")
email = pagerduty.UserContactMethod("email",
    user_id=example.id,
    type="email_contact_method",
    address="foo@bar.com",
    label="Work")
phone = pagerduty.UserContactMethod("phone",
    user_id=example.id,
    type="phone_contact_method",
    country_code="+1",
    address="2025550199",
    label="Work")
sms = pagerduty.UserContactMethod("sms",
    user_id=example.id,
    type="sms_contact_method",
    country_code="+1",
    address="2025550199",
    label="Work")
high_urgency_phone = pagerduty.UserNotificationRule("highUrgencyPhone",
    user_id=example.id,
    start_delay_in_minutes=1,
    urgency="high",
    contact_method={
        "type": "phone_contact_method",
        "id": phone.id,
    })
low_urgency_email = pagerduty.UserNotificationRule("lowUrgencyEmail",
    user_id=example.id,
    start_delay_in_minutes=1,
    urgency="low",
    contact_method={
        "type": "email_contact_method",
        "id": email.id,
    })
low_urgency_sms = pagerduty.UserNotificationRule("lowUrgencySms",
    user_id=example.id,
    start_delay_in_minutes=10,
    urgency="low",
    contact_method={
        "type": "sms_contact_method",
        "id": sms.id,
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • contact_method (pulumi.Input[dict]) – A contact method block, configured as a block described below.

  • start_delay_in_minutes (pulumi.Input[float]) – The delay before firing the rule, in minutes.

  • urgency (pulumi.Input[str]) – Which incident urgency this rule is used for. Account must have the urgencies ability to have a low urgency notification rule. Can be high or low.

  • user_id (pulumi.Input[str]) – The ID of the user.

The contact_method object supports the following:

  • id (pulumi.Input[str]) - The id of the referenced contact method.

  • type (pulumi.Input[str]) - The type of contact method. Can be email_contact_method, phone_contact_method, push_notification_contact_method or sms_contact_method.

contact_method: pulumi.Output[dict] = None

A contact method block, configured as a block described below.

  • id (str) - The id of the referenced contact method.

  • type (str) - The type of contact method. Can be email_contact_method, phone_contact_method, push_notification_contact_method or sms_contact_method.

start_delay_in_minutes: pulumi.Output[float] = None

The delay before firing the rule, in minutes.

urgency: pulumi.Output[str] = None

Which incident urgency this rule is used for. Account must have the urgencies ability to have a low urgency notification rule. Can be high or low.

user_id: pulumi.Output[str] = None

The ID of the user.

static get(resource_name, id, opts=None, contact_method=None, start_delay_in_minutes=None, urgency=None, user_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • contact_method (pulumi.Input[dict]) – A contact method block, configured as a block described below.

  • start_delay_in_minutes (pulumi.Input[float]) – The delay before firing the rule, in minutes.

  • urgency (pulumi.Input[str]) – Which incident urgency this rule is used for. Account must have the urgencies ability to have a low urgency notification rule. Can be high or low.

  • user_id (pulumi.Input[str]) – The ID of the user.

The contact_method object supports the following:

  • id (pulumi.Input[str]) - The id of the referenced contact method.

  • type (pulumi.Input[str]) - The type of contact method. Can be email_contact_method, phone_contact_method, push_notification_contact_method or sms_contact_method.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_pagerduty.get_business_service(name=None, opts=None)

Use this data source to get information about a specific business service.

import pulumi
import pulumi_pagerduty as pagerduty

example = pagerduty.get_business_service(name="My Service")
Parameters

name (str) – The business service name to use to find a business service in the PagerDuty API.

pulumi_pagerduty.get_escalation_policy(name=None, opts=None)

Use this data source to get information about a specific escalation policy that you can use for other PagerDuty resources.

import pulumi
import pulumi_pagerduty as pagerduty

test_escalation_policy = pagerduty.get_escalation_policy(name="Engineering Escalation Policy")
test_service = pagerduty.Service("testService",
    acknowledgement_timeout=600,
    auto_resolve_timeout=14400,
    escalation_policy=test_escalation_policy.id)
Parameters

name (str) – The name to use to find an escalation policy in the PagerDuty API.

pulumi_pagerduty.get_extension_schema(name=None, opts=None)

Use this data source to get information about a specific extension vendor that you can use for a service (e.g: Slack, Generic Webhook, ServiceNow).

import pulumi
import pulumi_pagerduty as pagerduty

webhook = pagerduty.get_extension_schema(name="Generic V2 Webhook")
example_user = pagerduty.User("exampleUser",
    email="howard.james@example.domain",
    teams=[pagerduty_team["example"]["id"]])
foo = pagerduty.EscalationPolicy("foo",
    num_loops=2,
    rules=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": example_user.id,
            "type": "user",
        }],
    }])
example_service = pagerduty.Service("exampleService",
    acknowledgement_timeout=600,
    auto_resolve_timeout=14400,
    escalation_policy=pagerduty_escalation_policy["example"]["id"])
slack = pagerduty.Extension("slack",
    endpoint_url="https://generic_webhook_url/XXXXXX/BBBBBB",
    extension_objects=[example_service.id],
    extension_schema=webhook.id)
Parameters

name (str) – The extension name to use to find an extension vendor in the PagerDuty API.

pulumi_pagerduty.get_priority(name=None, opts=None)

Use this data source to get information about a specific priority that you can use for other PagerDuty resources.

import pulumi
import pulumi_pagerduty as pagerduty

p1 = pagerduty.get_priority(name="P1")
foo_ruleset = pagerduty.Ruleset("fooRuleset")
foo_ruleset_rule = pagerduty.RulesetRule("fooRulesetRule",
    ruleset=foo_ruleset.id,
    position=0,
    disabled="false",
    conditions={
        "operator": "and",
        "subconditions": [
            {
                "operator": "contains",
                "parameter": [{
                    "value": "disk space",
                    "path": "payload.summary",
                }],
            },
            {
                "operator": "contains",
                "parameter": [{
                    "value": "db",
                    "path": "payload.source",
                }],
            },
        ],
    },
    actions={
        "route": [{
            "value": "P5DTL0K",
        }],
        "priority": [{
            "value": pagerduty_priority["p1"]["id"],
        }],
    })
Parameters

name (str) – The name of the priority to find in the PagerDuty API.

pulumi_pagerduty.get_schedule(name=None, opts=None)

Use this data source to get information about a specific schedule that you can use for other PagerDuty resources.

import pulumi
import pulumi_pagerduty as pagerduty

test = pagerduty.get_schedule(name="Daily Engineering Rotation")
foo = pagerduty.EscalationPolicy("foo",
    num_loops=2,
    rules=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": test.id,
            "type": "schedule",
        }],
    }])
Parameters

name (str) – The name to use to find a schedule in the PagerDuty API.

pulumi_pagerduty.get_service(name=None, opts=None)

Use this data source to get information about a specific service.

import pulumi
import pulumi_pagerduty as pagerduty

example_service = pagerduty.get_service(name="My Service")
datadog = pagerduty.get_vendor(name="Datadog")
example_service_integration = pagerduty.ServiceIntegration("exampleServiceIntegration",
    vendor=datadog.id,
    service=example_service.id,
    type="generic_events_api_inbound_integration")
Parameters

name (str) – The service name to use to find a service in the PagerDuty API.

pulumi_pagerduty.get_team(name=None, opts=None)

Use this data source to get information about a specific team that you can use for other PagerDuty resources.

import pulumi
import pulumi_pagerduty as pagerduty

me = pagerduty.get_user(email="me@example.com")
devops = pagerduty.get_team(name="devops")
foo = pagerduty.EscalationPolicy("foo",
    num_loops=2,
    rules=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": me.id,
            "type": "user",
        }],
    }],
    teams=[devops.id])
Parameters

name (str) – The name of the team to find in the PagerDuty API.

pulumi_pagerduty.get_user(email=None, opts=None)

Use this data source to get information about a specific user that you can use for other PagerDuty resources.

import pulumi
import pulumi_pagerduty as pagerduty

me = pagerduty.get_user(email="me@example.com")
foo = pagerduty.EscalationPolicy("foo",
    num_loops=2,
    rules=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": me.id,
            "type": "user",
        }],
    }])
Parameters

email (str) – The email to use to find a user in the PagerDuty API.

pulumi_pagerduty.get_vendor(name=None, opts=None)

Use this data source to get information about a specific vendor that you can use for a service integration (e.g Amazon Cloudwatch, Splunk, Datadog).

import pulumi
import pulumi_pagerduty as pagerduty

datadog = pagerduty.get_vendor(name="Datadog")
example_user = pagerduty.User("exampleUser",
    email="125.greenholt.earline@graham.name",
    teams=[pagerduty_team["example"]["id"]])
foo = pagerduty.EscalationPolicy("foo",
    num_loops=2,
    rules=[{
        "escalationDelayInMinutes": 10,
        "target": [{
            "id": example_user.id,
            "type": "user",
        }],
    }])
example_service = pagerduty.Service("exampleService",
    acknowledgement_timeout=600,
    auto_resolve_timeout=14400,
    escalation_policy=pagerduty_escalation_policy["example"]["id"])
example_service_integration = pagerduty.ServiceIntegration("exampleServiceIntegration",
    service=example_service.id,
    type="generic_events_api_inbound_integration",
    vendor=datadog.id)
Parameters

name (str) – The vendor name to use to find a vendor in the PagerDuty API.