Welcome to Pulumi Registry, your window into the cloud. Read the announcement.

Opsgenie

v1.1.0 published on Thursday, Nov 11, 2021 by Pulumi

ApiIntegration

Manages an API Integration within Opsgenie.

Example Usage

using Pulumi;
using Opsgenie = Pulumi.Opsgenie;

class MyStack : Stack
{
    public MyStack()
    {
        var example_api_integrationApiIntegration = new Opsgenie.ApiIntegration("example-api-integrationApiIntegration", new Opsgenie.ApiIntegrationArgs
        {
            Type = "API",
            Responders = 
            {
                new Opsgenie.Inputs.ApiIntegrationResponderArgs
                {
                    Type = "user",
                    Id = opsgenie_user.User.Id,
                },
                new Opsgenie.Inputs.ApiIntegrationResponderArgs
                {
                    Type = "user",
                    Id = opsgenie_user.Fahri.Id,
                },
            },
        });
        var example_api_integrationIndex_apiIntegrationApiIntegration = new Opsgenie.ApiIntegration("example-api-integrationIndex/apiIntegrationApiIntegration", new Opsgenie.ApiIntegrationArgs
        {
            Type = "Prometheus",
            Responders = 
            {
                new Opsgenie.Inputs.ApiIntegrationResponderArgs
                {
                    Type = "user",
                    Id = opsgenie_user.User.Id,
                },
            },
            Enabled = false,
            AllowWriteAccess = false,
            IgnoreRespondersFromPayload = true,
            SuppressNotifications = true,
            OwnerTeamId = opsgenie_team.Team.Id,
        });
        var test3 = new Opsgenie.ApiIntegration("test3", new Opsgenie.ApiIntegrationArgs
        {
            Type = "Webhook",
            Responders = 
            {
                new Opsgenie.Inputs.ApiIntegrationResponderArgs
                {
                    Type = "user",
                    Id = opsgenie_user.User.Id,
                },
            },
            Enabled = false,
            AllowWriteAccess = false,
            SuppressNotifications = true,
            WebhookUrl = "https://api.example.com/v1",
            Headers = 
            {
                { "header1", value1 },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-opsgenie/sdk/go/opsgenie"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := opsgenie.NewApiIntegration(ctx, "example_api_integrationApiIntegration", &opsgenie.ApiIntegrationArgs{
			Type: pulumi.String("API"),
			Responders: ApiIntegrationResponderArray{
				&ApiIntegrationResponderArgs{
					Type: pulumi.String("user"),
					Id:   pulumi.Any(opsgenie_user.User.Id),
				},
				&ApiIntegrationResponderArgs{
					Type: pulumi.String("user"),
					Id:   pulumi.Any(opsgenie_user.Fahri.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = opsgenie.NewApiIntegration(ctx, "example_api_integrationIndex_apiIntegrationApiIntegration", &opsgenie.ApiIntegrationArgs{
			Type: pulumi.String("Prometheus"),
			Responders: ApiIntegrationResponderArray{
				&ApiIntegrationResponderArgs{
					Type: pulumi.String("user"),
					Id:   pulumi.Any(opsgenie_user.User.Id),
				},
			},
			Enabled:                     pulumi.Bool(false),
			AllowWriteAccess:            pulumi.Bool(false),
			IgnoreRespondersFromPayload: pulumi.Bool(true),
			SuppressNotifications:       pulumi.Bool(true),
			OwnerTeamId:                 pulumi.Any(opsgenie_team.Team.Id),
		})
		if err != nil {
			return err
		}
		_, err = opsgenie.NewApiIntegration(ctx, "test3", &opsgenie.ApiIntegrationArgs{
			Type: pulumi.String("Webhook"),
			Responders: ApiIntegrationResponderArray{
				&ApiIntegrationResponderArgs{
					Type: pulumi.String("user"),
					Id:   pulumi.Any(opsgenie_user.User.Id),
				},
			},
			Enabled:               pulumi.Bool(false),
			AllowWriteAccess:      pulumi.Bool(false),
			SuppressNotifications: pulumi.Bool(true),
			WebhookUrl:            pulumi.String("https://api.example.com/v1"),
			Headers: pulumi.StringMap{
				"header1": pulumi.Any(value1),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_opsgenie as opsgenie

example_api_integration_api_integration = opsgenie.ApiIntegration("example-api-integrationApiIntegration",
    type="API",
    responders=[
        opsgenie.ApiIntegrationResponderArgs(
            type="user",
            id=opsgenie_user["user"]["id"],
        ),
        opsgenie.ApiIntegrationResponderArgs(
            type="user",
            id=opsgenie_user["fahri"]["id"],
        ),
    ])
example_api_integration_index_api_integration_api_integration = opsgenie.ApiIntegration("example-api-integrationIndex/apiIntegrationApiIntegration",
    type="Prometheus",
    responders=[opsgenie.ApiIntegrationResponderArgs(
        type="user",
        id=opsgenie_user["user"]["id"],
    )],
    enabled=False,
    allow_write_access=False,
    ignore_responders_from_payload=True,
    suppress_notifications=True,
    owner_team_id=opsgenie_team["team"]["id"])
test3 = opsgenie.ApiIntegration("test3",
    type="Webhook",
    responders=[opsgenie.ApiIntegrationResponderArgs(
        type="user",
        id=opsgenie_user["user"]["id"],
    )],
    enabled=False,
    allow_write_access=False,
    suppress_notifications=True,
    webhook_url="https://api.example.com/v1",
    headers={
        "header1": value1,
    })
import * as pulumi from "@pulumi/pulumi";
import * as opsgenie from "@pulumi/opsgenie";

const example_api_integrationApiIntegration = new opsgenie.ApiIntegration("example-api-integrationApiIntegration", {
    type: "API",
    responders: [
        {
            type: "user",
            id: opsgenie_user.user.id,
        },
        {
            type: "user",
            id: opsgenie_user.fahri.id,
        },
    ],
});
const example_api_integrationIndex_apiIntegrationApiIntegration = new opsgenie.ApiIntegration("example-api-integrationIndex/apiIntegrationApiIntegration", {
    type: "Prometheus",
    responders: [{
        type: "user",
        id: opsgenie_user.user.id,
    }],
    enabled: false,
    allowWriteAccess: false,
    ignoreRespondersFromPayload: true,
    suppressNotifications: true,
    ownerTeamId: opsgenie_team.team.id,
});
const test3 = new opsgenie.ApiIntegration("test3", {
    type: "Webhook",
    responders: [{
        type: "user",
        id: opsgenie_user.user.id,
    }],
    enabled: false,
    allowWriteAccess: false,
    suppressNotifications: true,
    webhookUrl: "https://api.example.com/v1",
    headers: {
        header1: value1,
    },
});

Create a ApiIntegration Resource

new ApiIntegration(name: string, args?: ApiIntegrationArgs, opts?: CustomResourceOptions);
@overload
def ApiIntegration(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   allow_write_access: Optional[bool] = None,
                   enabled: Optional[bool] = None,
                   headers: Optional[Mapping[str, str]] = None,
                   ignore_responders_from_payload: Optional[bool] = None,
                   name: Optional[str] = None,
                   owner_team_id: Optional[str] = None,
                   responders: Optional[Sequence[ApiIntegrationResponderArgs]] = None,
                   suppress_notifications: Optional[bool] = None,
                   type: Optional[str] = None,
                   webhook_url: Optional[str] = None)
@overload
def ApiIntegration(resource_name: str,
                   args: Optional[ApiIntegrationArgs] = None,
                   opts: Optional[ResourceOptions] = None)
func NewApiIntegration(ctx *Context, name string, args *ApiIntegrationArgs, opts ...ResourceOption) (*ApiIntegration, error)
public ApiIntegration(string name, ApiIntegrationArgs? args = null, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args ApiIntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ApiIntegrationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ApiIntegrationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ApiIntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

ApiIntegration Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ApiIntegration resource accepts the following input properties:

AllowWriteAccess bool
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
Enabled bool
This parameter is for specifying whether the integration will be enabled or not. Default: true
Headers Dictionary<string, string>
IgnoreRespondersFromPayload bool
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
Name string
Name of the integration. Name must be unique for each integration.
OwnerTeamId string
Owner team id of the integration.
Responders List<ApiIntegrationResponderArgs>
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
SuppressNotifications bool
If enabled, notifications that come from alerts will be suppressed. Default: false.
Type string
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
WebhookUrl string
It is required if type is Webhook. This is the url Opsgenie will be sending request to.
AllowWriteAccess bool
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
Enabled bool
This parameter is for specifying whether the integration will be enabled or not. Default: true
Headers map[string]string
IgnoreRespondersFromPayload bool
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
Name string
Name of the integration. Name must be unique for each integration.
OwnerTeamId string
Owner team id of the integration.
Responders []ApiIntegrationResponderArgs
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
SuppressNotifications bool
If enabled, notifications that come from alerts will be suppressed. Default: false.
Type string
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
WebhookUrl string
It is required if type is Webhook. This is the url Opsgenie will be sending request to.
allowWriteAccess boolean
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
enabled boolean
This parameter is for specifying whether the integration will be enabled or not. Default: true
headers {[key: string]: string}
ignoreRespondersFromPayload boolean
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
name string
Name of the integration. Name must be unique for each integration.
ownerTeamId string
Owner team id of the integration.
responders ApiIntegrationResponderArgs[]
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
suppressNotifications boolean
If enabled, notifications that come from alerts will be suppressed. Default: false.
type string
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
webhookUrl string
It is required if type is Webhook. This is the url Opsgenie will be sending request to.
allow_write_access bool
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
enabled bool
This parameter is for specifying whether the integration will be enabled or not. Default: true
headers Mapping[str, str]
ignore_responders_from_payload bool
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
name str
Name of the integration. Name must be unique for each integration.
owner_team_id str
Owner team id of the integration.
responders Sequence[ApiIntegrationResponderArgs]
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
suppress_notifications bool
If enabled, notifications that come from alerts will be suppressed. Default: false.
type str
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
webhook_url str
It is required if type is Webhook. This is the url Opsgenie will be sending request to.

Outputs

All input properties are implicitly available as output properties. Additionally, the ApiIntegration resource produces the following output properties:

ApiKey string
(Computed) API key of the created integration
Id string
The provider-assigned unique ID for this managed resource.
ApiKey string
(Computed) API key of the created integration
Id string
The provider-assigned unique ID for this managed resource.
apiKey string
(Computed) API key of the created integration
id string
The provider-assigned unique ID for this managed resource.
api_key str
(Computed) API key of the created integration
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing ApiIntegration Resource

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

public static get(name: string, id: Input<ID>, state?: ApiIntegrationState, opts?: CustomResourceOptions): ApiIntegration
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        allow_write_access: Optional[bool] = None,
        api_key: Optional[str] = None,
        enabled: Optional[bool] = None,
        headers: Optional[Mapping[str, str]] = None,
        ignore_responders_from_payload: Optional[bool] = None,
        name: Optional[str] = None,
        owner_team_id: Optional[str] = None,
        responders: Optional[Sequence[ApiIntegrationResponderArgs]] = None,
        suppress_notifications: Optional[bool] = None,
        type: Optional[str] = None,
        webhook_url: Optional[str] = None) -> ApiIntegration
func GetApiIntegration(ctx *Context, name string, id IDInput, state *ApiIntegrationState, opts ...ResourceOption) (*ApiIntegration, error)
public static ApiIntegration Get(string name, Input<string> id, ApiIntegrationState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

AllowWriteAccess bool
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
ApiKey string
(Computed) API key of the created integration
Enabled bool
This parameter is for specifying whether the integration will be enabled or not. Default: true
Headers Dictionary<string, string>
IgnoreRespondersFromPayload bool
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
Name string
Name of the integration. Name must be unique for each integration.
OwnerTeamId string
Owner team id of the integration.
Responders List<ApiIntegrationResponderArgs>
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
SuppressNotifications bool
If enabled, notifications that come from alerts will be suppressed. Default: false.
Type string
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
WebhookUrl string
It is required if type is Webhook. This is the url Opsgenie will be sending request to.
AllowWriteAccess bool
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
ApiKey string
(Computed) API key of the created integration
Enabled bool
This parameter is for specifying whether the integration will be enabled or not. Default: true
Headers map[string]string
IgnoreRespondersFromPayload bool
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
Name string
Name of the integration. Name must be unique for each integration.
OwnerTeamId string
Owner team id of the integration.
Responders []ApiIntegrationResponderArgs
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
SuppressNotifications bool
If enabled, notifications that come from alerts will be suppressed. Default: false.
Type string
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
WebhookUrl string
It is required if type is Webhook. This is the url Opsgenie will be sending request to.
allowWriteAccess boolean
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
apiKey string
(Computed) API key of the created integration
enabled boolean
This parameter is for specifying whether the integration will be enabled or not. Default: true
headers {[key: string]: string}
ignoreRespondersFromPayload boolean
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
name string
Name of the integration. Name must be unique for each integration.
ownerTeamId string
Owner team id of the integration.
responders ApiIntegrationResponderArgs[]
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
suppressNotifications boolean
If enabled, notifications that come from alerts will be suppressed. Default: false.
type string
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
webhookUrl string
It is required if type is Webhook. This is the url Opsgenie will be sending request to.
allow_write_access bool
This parameter is for configuring the write access of integration. If write access is restricted, the integration will not be authorized to write within any domain. Default: true.
api_key str
(Computed) API key of the created integration
enabled bool
This parameter is for specifying whether the integration will be enabled or not. Default: true
headers Mapping[str, str]
ignore_responders_from_payload bool
If enabled, the integration will ignore recipients sent in request payloads. Default: false.
name str
Name of the integration. Name must be unique for each integration.
owner_team_id str
Owner team id of the integration.
responders Sequence[ApiIntegrationResponderArgs]
User, schedule, teams or escalation names to calculate which users will receive the notifications of the alert.
suppress_notifications bool
If enabled, notifications that come from alerts will be suppressed. Default: false.
type str
Type of the integration (API, Marid, Prometheus, etc). The full list of options can be found here.
webhook_url str
It is required if type is Webhook. This is the url Opsgenie will be sending request to.

Supporting Types

ApiIntegrationResponder

Id string
The id of the responder.
Type string
The responder type.
Id string
The id of the responder.
Type string
The responder type.
id string
The id of the responder.
type string
The responder type.
id str
The id of the responder.
type str
The responder type.

Import

API Integrations can be imported using the integration_id, e.g.

 $ pulumi import opsgenie:index/apiIntegration:ApiIntegration this integration_id`

Package Details

Repository
https://github.com/pulumi/pulumi-opsgenie
License
Apache-2.0
Notes
This Pulumi package is based on the opsgenie Terraform Provider.