published on Wednesday, Oct 21, 2026 by incident-io
published on Wednesday, Oct 21, 2026 by incident-io
Manage on-call pay configs: the rates that pay reports price on-call shifts against.
Use this data source to look up an existing pay config, either by id or by name, without managing it as an incident.PayConfig resource. Set exactly one of the two lookup attributes; setting both, or neither, is rejected at plan time.
A lookup sees published configs and drafts created through the API. A draft somebody created in the dashboard is private to them until a report priced against it is published, so it cannot be found here.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as incident from "@incident-io/pulumi";
// Look up an existing pay config by name, such as one created in the dashboard and
// published in a report.
const platform = incident.getPayConfig({
name: "Platform on-call",
});
// Or by ID, to reference a config another module manages.
const flatDaily = incident.getPayConfig({
id: "01G0J1EXE7AXZ2C93K61WBPYEH",
});
export const platformBaseRateCents = platform.then(platform => platform.baseRateCents);
import pulumi
import pulumi_incident as incident
# Look up an existing pay config by name, such as one created in the dashboard and
# published in a report.
platform = incident.get_pay_config(name="Platform on-call")
# Or by ID, to reference a config another module manages.
flat_daily = incident.get_pay_config(id="01G0J1EXE7AXZ2C93K61WBPYEH")
pulumi.export("platformBaseRateCents", platform.base_rate_cents)
package main
import (
"github.com/incident-io/pulumi-incident/sdk/go/incident"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Look up an existing pay config by name, such as one created in the dashboard and
// published in a report.
platform, err := incident.GetPayConfig(ctx, &incident.LookupPayConfigArgs{
Name: pulumi.StringRef("Platform on-call"),
}, nil)
if err != nil {
return err
}
// Or by ID, to reference a config another module manages.
_, err = incident.GetPayConfig(ctx, &incident.LookupPayConfigArgs{
Id: pulumi.StringRef("01G0J1EXE7AXZ2C93K61WBPYEH"),
}, nil)
if err != nil {
return err
}
ctx.Export("platformBaseRateCents", platform.BaseRateCents)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Incident = Pulumi.Incident;
return await Deployment.RunAsync(() =>
{
// Look up an existing pay config by name, such as one created in the dashboard and
// published in a report.
var platform = Incident.GetPayConfig.Invoke(new()
{
Name = "Platform on-call",
});
// Or by ID, to reference a config another module manages.
var flatDaily = Incident.GetPayConfig.Invoke(new()
{
Id = "01G0J1EXE7AXZ2C93K61WBPYEH",
});
return new Dictionary<string, object?>
{
["platformBaseRateCents"] = platform.Apply(getPayConfigResult => getPayConfigResult.BaseRateCents),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.incident.IncidentFunctions;
import com.pulumi.incident.inputs.GetPayConfigArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Look up an existing pay config by name, such as one created in the dashboard and
// published in a report.
final var platform = IncidentFunctions.getPayConfig(GetPayConfigArgs.builder()
.name("Platform on-call")
.build());
// Or by ID, to reference a config another module manages.
final var flatDaily = IncidentFunctions.getPayConfig(GetPayConfigArgs.builder()
.id("01G0J1EXE7AXZ2C93K61WBPYEH")
.build());
ctx.export("platformBaseRateCents", platform.baseRateCents());
}
}
variables:
# Look up an existing pay config by name, such as one created in the dashboard and
# published in a report.
platform:
fn::invoke:
function: incident:getPayConfig
arguments:
name: Platform on-call
# Or by ID, to reference a config another module manages.
flatDaily:
fn::invoke:
function: incident:getPayConfig
arguments:
id: 01G0J1EXE7AXZ2C93K61WBPYEH
outputs:
platformBaseRateCents: ${platform.baseRateCents}
pulumi {
required_providers {
incident = {
source = "pulumi/incident"
}
}
}
data "incident_getpayconfig" "platform" {
name = "Platform on-call"
}
data "incident_getpayconfig" "flatDaily" {
id = "01G0J1EXE7AXZ2C93K61WBPYEH"
}
# Look up an existing pay config by name, such as one created in the dashboard and
# published in a report.
# Or by ID, to reference a config another module manages.
output "platformBaseRateCents" {
value = data.incident_getpayconfig.platform.base_rate_cents
}
Using getPayConfig
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getPayConfig(args: GetPayConfigArgs, opts?: InvokeOptions): Promise<GetPayConfigResult>
function getPayConfigOutput(args: GetPayConfigOutputArgs, opts?: InvokeOutputOptions): Output<GetPayConfigResult>def get_pay_config(id: Optional[str] = None,
name: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetPayConfigResult
def get_pay_config_output(id: pulumi.Input[Optional[str]] = None,
name: pulumi.Input[Optional[str]] = None,
opts: Optional[InvokeOutputOptions] = None) -> Output[GetPayConfigResult]func LookupPayConfig(ctx *Context, args *LookupPayConfigArgs, opts ...InvokeOption) (*LookupPayConfigResult, error)
func LookupPayConfigOutput(ctx *Context, args *LookupPayConfigOutputArgs, opts ...InvokeOption) LookupPayConfigResultOutput> Note: This function is named LookupPayConfig in the Go SDK.
public static class GetPayConfig
{
public static Task<GetPayConfigResult> InvokeAsync(GetPayConfigArgs args, InvokeOptions? opts = null)
public static Output<GetPayConfigResult> Invoke(GetPayConfigInvokeArgs args, InvokeOptions? opts = null)
public static Output<GetPayConfigResult> Invoke(GetPayConfigInvokeArgs args, InvokeOutputOptions opts)
}public static CompletableFuture<GetPayConfigResult> getPayConfig(GetPayConfigArgs args, InvokeOptions options)
public static Output<GetPayConfigResult> getPayConfig(GetPayConfigArgs args, InvokeOptions options)
public static Output<GetPayConfigResult> getPayConfig(GetPayConfigArgs args, InvokeOutputOptions options)
fn::invoke:
function: incident:index/getPayConfig:getPayConfig
arguments:
# arguments dictionarydata "incident_get_pay_config" "name" {
# arguments
}The following arguments are supported:
getPayConfig Result
The following output properties are available:
- Base
Rate intCents - Rate paid for any time no rule covers, in the lowest denomination of the currency
- Created
At string - When this pay config was created.
- Currency string
- Currency this config pays in, in ISO 4217 format
- Id string
- Unique identifier for this pay config
- Name string
- Human readable name for this pay config
- One
Off List<GetRules Pay Config One Off Rule> - Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
- Published
At string - When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
- Rate
Time stringUnit - The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are:
hour,day. - Timezone string
- IANA timezone this config's rules are interpreted in
- Updated
At string - When this pay config, or one of its rules, was last changed.
- Weekly
Rules List<GetPay Config Weekly Rule> - Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
- Base
Rate intCents - Rate paid for any time no rule covers, in the lowest denomination of the currency
- Created
At string - When this pay config was created.
- Currency string
- Currency this config pays in, in ISO 4217 format
- Id string
- Unique identifier for this pay config
- Name string
- Human readable name for this pay config
- One
Off []GetRules Pay Config One Off Rule - Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
- Published
At string - When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
- Rate
Time stringUnit - The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are:
hour,day. - Timezone string
- IANA timezone this config's rules are interpreted in
- Updated
At string - When this pay config, or one of its rules, was last changed.
- Weekly
Rules []GetPay Config Weekly Rule - Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
- base_
rate_ numbercents - Rate paid for any time no rule covers, in the lowest denomination of the currency
- created_
at string - When this pay config was created.
- currency string
- Currency this config pays in, in ISO 4217 format
- id string
- Unique identifier for this pay config
- name string
- Human readable name for this pay config
- one_
off_ list(object)rules - Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
- published_
at string - When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
- rate_
time_ stringunit - The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are:
hour,day. - timezone string
- IANA timezone this config's rules are interpreted in
- updated_
at string - When this pay config, or one of its rules, was last changed.
- weekly_
rules list(object) - Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
- base
Rate IntegerCents - Rate paid for any time no rule covers, in the lowest denomination of the currency
- created
At String - When this pay config was created.
- currency String
- Currency this config pays in, in ISO 4217 format
- id String
- Unique identifier for this pay config
- name String
- Human readable name for this pay config
- one
Off List<GetRules Pay Config One Off Rule> - Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
- published
At String - When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
- rate
Time StringUnit - The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are:
hour,day. - timezone String
- IANA timezone this config's rules are interpreted in
- updated
At String - When this pay config, or one of its rules, was last changed.
- weekly
Rules List<GetPay Config Weekly Rule> - Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
- base
Rate numberCents - Rate paid for any time no rule covers, in the lowest denomination of the currency
- created
At string - When this pay config was created.
- currency string
- Currency this config pays in, in ISO 4217 format
- id string
- Unique identifier for this pay config
- name string
- Human readable name for this pay config
- one
Off GetRules Pay Config One Off Rule[] - Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
- published
At string - When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
- rate
Time stringUnit - The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are:
hour,day. - timezone string
- IANA timezone this config's rules are interpreted in
- updated
At string - When this pay config, or one of its rules, was last changed.
- weekly
Rules GetPay Config Weekly Rule[] - Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
- base_
rate_ intcents - Rate paid for any time no rule covers, in the lowest denomination of the currency
- created_
at str - When this pay config was created.
- currency str
- Currency this config pays in, in ISO 4217 format
- id str
- Unique identifier for this pay config
- name str
- Human readable name for this pay config
- one_
off_ Sequence[Getrules Pay Config One Off Rule] - Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
- published_
at str - When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
- rate_
time_ strunit - The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are:
hour,day. - timezone str
- IANA timezone this config's rules are interpreted in
- updated_
at str - When this pay config, or one of its rules, was last changed.
- weekly_
rules Sequence[GetPay Config Weekly Rule] - Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
- base
Rate NumberCents - Rate paid for any time no rule covers, in the lowest denomination of the currency
- created
At String - When this pay config was created.
- currency String
- Currency this config pays in, in ISO 4217 format
- id String
- Unique identifier for this pay config
- name String
- Human readable name for this pay config
- one
Off List<Property Map>Rules - Rules that apply over a single window of time, such as a public holiday. These take precedence over the weekly rules.
- published
At String - When a published report first priced against this config. Once set, editing the config needs the schedulepayconfigs.update_published scope. Null until then.
- rate
Time StringUnit - The unit of time every rate on this config is quoted per. Pay is pro-rated by the second either way. Possible values are:
hour,day. - timezone String
- IANA timezone this config's rules are interpreted in
- updated
At String - When this pay config, or one of its rules, was last changed.
- weekly
Rules List<Property Map> - Rules that apply every week, by day of week and time of day, in evaluation order. The first rule that covers a shift prices it.
Supporting Types
GetPayConfigOneOffRule
- End
At string - When this rule stops applying
- Id string
- Unique identifier for this rule, stable across edits to the config
- Name string
- Human readable name for this rule
- Rate
Cents int - Rate paid while this rule applies, in the lowest denomination of the config's currency
- Start
At string - When this rule starts applying
- End
At string - When this rule stops applying
- Id string
- Unique identifier for this rule, stable across edits to the config
- Name string
- Human readable name for this rule
- Rate
Cents int - Rate paid while this rule applies, in the lowest denomination of the config's currency
- Start
At string - When this rule starts applying
- end_
at string - When this rule stops applying
- id string
- Unique identifier for this rule, stable across edits to the config
- name string
- Human readable name for this rule
- rate_
cents number - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start_
at string - When this rule starts applying
- end
At String - When this rule stops applying
- id String
- Unique identifier for this rule, stable across edits to the config
- name String
- Human readable name for this rule
- rate
Cents Integer - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start
At String - When this rule starts applying
- end
At string - When this rule stops applying
- id string
- Unique identifier for this rule, stable across edits to the config
- name string
- Human readable name for this rule
- rate
Cents number - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start
At string - When this rule starts applying
- end_
at str - When this rule stops applying
- id str
- Unique identifier for this rule, stable across edits to the config
- name str
- Human readable name for this rule
- rate_
cents int - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start_
at str - When this rule starts applying
- end
At String - When this rule stops applying
- id String
- Unique identifier for this rule, stable across edits to the config
- name String
- Human readable name for this rule
- rate
Cents Number - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start
At String - When this rule starts applying
GetPayConfigWeeklyRule
- End
Time string - Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as
HH:MM. - Id string
- Unique identifier for this rule, stable across edits to the config
- Rate
Cents int - Rate paid while this rule applies, in the lowest denomination of the config's currency
- Start
Time string - Time of day this rule starts, in 24 hour format, as
HH:MM. - Weekdays List<string>
- Days of the week this rule applies on. Possible values are:
monday,tuesday,wednesday,thursday,friday,saturday,sunday.
- End
Time string - Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as
HH:MM. - Id string
- Unique identifier for this rule, stable across edits to the config
- Rate
Cents int - Rate paid while this rule applies, in the lowest denomination of the config's currency
- Start
Time string - Time of day this rule starts, in 24 hour format, as
HH:MM. - Weekdays []string
- Days of the week this rule applies on. Possible values are:
monday,tuesday,wednesday,thursday,friday,saturday,sunday.
- end_
time string - Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as
HH:MM. - id string
- Unique identifier for this rule, stable across edits to the config
- rate_
cents number - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start_
time string - Time of day this rule starts, in 24 hour format, as
HH:MM. - weekdays list(string)
- Days of the week this rule applies on. Possible values are:
monday,tuesday,wednesday,thursday,friday,saturday,sunday.
- end
Time String - Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as
HH:MM. - id String
- Unique identifier for this rule, stable across edits to the config
- rate
Cents Integer - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start
Time String - Time of day this rule starts, in 24 hour format, as
HH:MM. - weekdays List<String>
- Days of the week this rule applies on. Possible values are:
monday,tuesday,wednesday,thursday,friday,saturday,sunday.
- end
Time string - Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as
HH:MM. - id string
- Unique identifier for this rule, stable across edits to the config
- rate
Cents number - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start
Time string - Time of day this rule starts, in 24 hour format, as
HH:MM. - weekdays string[]
- Days of the week this rule applies on. Possible values are:
monday,tuesday,wednesday,thursday,friday,saturday,sunday.
- end_
time str - Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as
HH:MM. - id str
- Unique identifier for this rule, stable across edits to the config
- rate_
cents int - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start_
time str - Time of day this rule starts, in 24 hour format, as
HH:MM. - weekdays Sequence[str]
- Days of the week this rule applies on. Possible values are:
monday,tuesday,wednesday,thursday,friday,saturday,sunday.
- end
Time String - Time of day this rule ends, in 24 hour format. Equal to startTime means it runs for the whole day. Written as
HH:MM. - id String
- Unique identifier for this rule, stable across edits to the config
- rate
Cents Number - Rate paid while this rule applies, in the lowest denomination of the config's currency
- start
Time String - Time of day this rule starts, in 24 hour format, as
HH:MM. - weekdays List<String>
- Days of the week this rule applies on. Possible values are:
monday,tuesday,wednesday,thursday,friday,saturday,sunday.
Package Details
- Repository
- incident incident-io/pulumi-incident
- License
- MIT
- Notes
- This Pulumi package is based on the
incidentTerraform Provider.
published on Wednesday, Oct 21, 2026 by incident-io