@cdktf/provider-newrelic
Version:
Prebuilt newrelic Provider for Terraform CDK (cdktf)
352 lines (351 loc) • 15.5 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface AlertChannelConfig extends cdktf.TerraformMetaArguments {
/**
* The New Relic account ID where you want to create alert channels.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#account_id AlertChannel#account_id}
*/
readonly accountId?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#id AlertChannel#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* (Required) The name of the channel.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#name AlertChannel#name}
*/
readonly name: string;
/**
* (Required) The type of channel. One of: (user, victorops, webhook, email, opsgenie, pagerduty, slack).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#type AlertChannel#type}
*/
readonly type: string;
/**
* config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#config AlertChannel#config}
*/
readonly config?: AlertChannelConfigA;
}
export interface AlertChannelConfigA {
/**
* The API key for integrating with OpsGenie.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#api_key AlertChannel#api_key}
*/
readonly apiKey?: string;
/**
* Specifies an authentication password for use with a channel. Supported by the webhook channel type.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#auth_password AlertChannel#auth_password}
*/
readonly authPassword?: string;
/**
* Specifies an authentication method for use with a channel. Supported by the webhook channel type. Only HTTP basic authentication is currently supported via the value BASIC.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#auth_type AlertChannel#auth_type}
*/
readonly authType?: string;
/**
* Specifies an authentication username for use with a channel. Supported by the webhook channel type.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#auth_username AlertChannel#auth_username}
*/
readonly authUsername?: string;
/**
* The base URL of the webhook destination.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#base_url AlertChannel#base_url}
*/
readonly baseUrl?: string;
/**
* The Slack channel to send notifications to.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#channel AlertChannel#channel}
*/
readonly channel?: string;
/**
* A map of key/value pairs that represents extra HTTP headers to be sent along with the webhook payload.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#headers AlertChannel#headers}
*/
readonly headers?: {
[key: string]: string;
};
/**
* Use instead of headers if the desired payload is more complex than a list of key/value pairs (e.g. a set of headers that makes use of nested objects). The value provided should be a valid JSON string with escaped double quotes. Conflicts with headers.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#headers_string AlertChannel#headers_string}
*/
readonly headersString?: string;
/**
* true or false. Flag for whether or not to attach a JSON document containing information about the associated alert to the email that is sent to recipients.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#include_json_attachment AlertChannel#include_json_attachment}
*/
readonly includeJsonAttachment?: string;
/**
* The key for integrating with VictorOps.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#key AlertChannel#key}
*/
readonly key?: string;
/**
* A map of key/value pairs that represents the webhook payload. Must provide payload_type if setting this argument.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#payload AlertChannel#payload}
*/
readonly payload?: {
[key: string]: string;
};
/**
* Use instead of payload if the desired payload is more complex than a list of key/value pairs (e.g. a payload that makes use of nested objects). The value provided should be a valid JSON string with escaped double quotes. Conflicts with payload.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#payload_string AlertChannel#payload_string}
*/
readonly payloadString?: string;
/**
* Can either be application/json or application/x-www-form-urlencoded. The payload_type argument is required if payload is set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#payload_type AlertChannel#payload_type}
*/
readonly payloadType?: string;
/**
* A set of recipients for targeting notifications. Multiple values are comma separated.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#recipients AlertChannel#recipients}
*/
readonly recipients?: string;
/**
* The data center region to store your data. Valid values are US and EU. Default is US.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#region AlertChannel#region}
*/
readonly region?: string;
/**
* The route key for integrating with VictorOps.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#route_key AlertChannel#route_key}
*/
readonly routeKey?: string;
/**
* Specifies the service key for integrating with Pagerduty.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#service_key AlertChannel#service_key}
*/
readonly serviceKey?: string;
/**
* A set of tags for targeting notifications. Multiple values are comma separated.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#tags AlertChannel#tags}
*/
readonly tags?: string;
/**
* A set of teams for targeting notifications. Multiple values are comma separated.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#teams AlertChannel#teams}
*/
readonly teams?: string;
/**
* Your organization's Slack URL.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#url AlertChannel#url}
*/
readonly url?: string;
/**
* The user ID for use with the user channel type.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#user_id AlertChannel#user_id}
*/
readonly userId?: string;
}
export declare function alertChannelConfigAToTerraform(struct?: AlertChannelConfigAOutputReference | AlertChannelConfigA): any;
export declare function alertChannelConfigAToHclTerraform(struct?: AlertChannelConfigAOutputReference | AlertChannelConfigA): any;
export declare class AlertChannelConfigAOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): AlertChannelConfigA | undefined;
set internalValue(value: AlertChannelConfigA | undefined);
private _apiKey?;
get apiKey(): string;
set apiKey(value: string);
resetApiKey(): void;
get apiKeyInput(): string | undefined;
private _authPassword?;
get authPassword(): string;
set authPassword(value: string);
resetAuthPassword(): void;
get authPasswordInput(): string | undefined;
private _authType?;
get authType(): string;
set authType(value: string);
resetAuthType(): void;
get authTypeInput(): string | undefined;
private _authUsername?;
get authUsername(): string;
set authUsername(value: string);
resetAuthUsername(): void;
get authUsernameInput(): string | undefined;
private _baseUrl?;
get baseUrl(): string;
set baseUrl(value: string);
resetBaseUrl(): void;
get baseUrlInput(): string | undefined;
private _channel?;
get channel(): string;
set channel(value: string);
resetChannel(): void;
get channelInput(): string | undefined;
private _headers?;
get headers(): {
[key: string]: string;
};
set headers(value: {
[key: string]: string;
});
resetHeaders(): void;
get headersInput(): {
[key: string]: string;
} | undefined;
private _headersString?;
get headersString(): string;
set headersString(value: string);
resetHeadersString(): void;
get headersStringInput(): string | undefined;
private _includeJsonAttachment?;
get includeJsonAttachment(): string;
set includeJsonAttachment(value: string);
resetIncludeJsonAttachment(): void;
get includeJsonAttachmentInput(): string | undefined;
private _key?;
get key(): string;
set key(value: string);
resetKey(): void;
get keyInput(): string | undefined;
private _payload?;
get payload(): {
[key: string]: string;
};
set payload(value: {
[key: string]: string;
});
resetPayload(): void;
get payloadInput(): {
[key: string]: string;
} | undefined;
private _payloadString?;
get payloadString(): string;
set payloadString(value: string);
resetPayloadString(): void;
get payloadStringInput(): string | undefined;
private _payloadType?;
get payloadType(): string;
set payloadType(value: string);
resetPayloadType(): void;
get payloadTypeInput(): string | undefined;
private _recipients?;
get recipients(): string;
set recipients(value: string);
resetRecipients(): void;
get recipientsInput(): string | undefined;
private _region?;
get region(): string;
set region(value: string);
resetRegion(): void;
get regionInput(): string | undefined;
private _routeKey?;
get routeKey(): string;
set routeKey(value: string);
resetRouteKey(): void;
get routeKeyInput(): string | undefined;
private _serviceKey?;
get serviceKey(): string;
set serviceKey(value: string);
resetServiceKey(): void;
get serviceKeyInput(): string | undefined;
private _tags?;
get tags(): string;
set tags(value: string);
resetTags(): void;
get tagsInput(): string | undefined;
private _teams?;
get teams(): string;
set teams(value: string);
resetTeams(): void;
get teamsInput(): string | undefined;
private _url?;
get url(): string;
set url(value: string);
resetUrl(): void;
get urlInput(): string | undefined;
private _userId?;
get userId(): string;
set userId(value: string);
resetUserId(): void;
get userIdInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel newrelic_alert_channel}
*/
export declare class AlertChannel extends cdktf.TerraformResource {
static readonly tfResourceType = "newrelic_alert_channel";
/**
* Generates CDKTF code for importing a AlertChannel resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the AlertChannel to import
* @param importFromId The id of the existing AlertChannel that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the AlertChannel to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/alert_channel newrelic_alert_channel} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options AlertChannelConfig
*/
constructor(scope: Construct, id: string, config: AlertChannelConfig);
private _accountId?;
get accountId(): number;
set accountId(value: number);
resetAccountId(): void;
get accountIdInput(): number | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
private _config;
get config(): AlertChannelConfigAOutputReference;
putConfig(value: AlertChannelConfigA): void;
resetConfig(): void;
get configInput(): AlertChannelConfigA | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}