import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* [Rulesets](https://support.pagerduty.com/docs/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.
*
*
*
End-of-Life
*
* Rulesets and Event Rules will end-of-life soon. We highly recommend that you
* migrate to Event Orchestration
* as soon as possible so you can take advantage of the new functionality, such
* as improved UI, rule creation, REST APIs and Terraform support, advanced
* conditions, and rule nesting.
*
*
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as pagerduty from "@pulumi/pagerduty";
*
* const foo = new pagerduty.Team("foo", {name: "Engineering (Seattle)"});
* const fooRuleset = new pagerduty.Ruleset("foo", {
* name: "Primary Ruleset",
* team: {
* id: foo.id,
* },
* });
* ```
*
* ## Import
*
* Rulesets can be imported using the `id`, e.g.
*
* ```sh
* $ pulumi import pagerduty:index/ruleset:Ruleset main 19acac92-027a-4ea0-b06c-bbf516519601
* ```
*/
export declare class Ruleset extends pulumi.CustomResource {
/**
* Get an existing Ruleset resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input, state?: RulesetState, opts?: pulumi.CustomResourceOptions): Ruleset;
/**
* Returns true if the given object is an instance of Ruleset. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Ruleset;
/**
* Name of the ruleset.
*/
readonly name: pulumi.Output;
/**
* Routing keys routed to this ruleset.
*/
readonly routingKeys: pulumi.Output;
/**
* Reference to the team that owns the ruleset. If none is specified, only admins have access.
*/
readonly team: pulumi.Output;
/**
* Type of ruleset. Currently, only sets to `global`.
*/
readonly type: pulumi.Output;
/**
* Create a Ruleset resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: RulesetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Ruleset resources.
*/
export interface RulesetState {
/**
* Name of the ruleset.
*/
name?: pulumi.Input;
/**
* Routing keys routed to this ruleset.
*/
routingKeys?: pulumi.Input[]>;
/**
* Reference to the team that owns the ruleset. If none is specified, only admins have access.
*/
team?: pulumi.Input;
/**
* Type of ruleset. Currently, only sets to `global`.
*/
type?: pulumi.Input;
}
/**
* The set of arguments for constructing a Ruleset resource.
*/
export interface RulesetArgs {
/**
* Name of the ruleset.
*/
name?: pulumi.Input;
/**
* Reference to the team that owns the ruleset. If none is specified, only admins have access.
*/
team?: pulumi.Input;
}