UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

203 lines (202 loc) 6.86 kB
import * as cdk from "aws-cdk-lib"; import * as constructs from "constructs"; /** * Returns, adds, edits, and removes third-party service integration configurations. MongoDB Cloud sends alerts to each third-party service that you configure. * * @schema CfnThirdPartyIntegrationProps */ export interface CfnThirdPartyIntegrationProps { /** * Unique 24-hexadecimal digit string that identifies your project. * * @schema CfnThirdPartyIntegrationProps#ProjectId */ readonly projectId?: string; /** * The profile is defined in AWS Secret manager. See [Secret Manager Profile setup](../../../examples/profile-secret.yaml). * * @schema CfnThirdPartyIntegrationProps#Profile */ readonly profile?: string; /** * Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. * * @schema CfnThirdPartyIntegrationProps#Type */ readonly type?: CfnThirdPartyIntegrationPropsType; /** * Key that allows MongoDB Cloud to access your Opsgenie/Datadog account. * * @schema CfnThirdPartyIntegrationProps#ApiKey */ readonly apiKey?: string; /** * Two-letter code that indicates which regional URL MongoDB uses to access the Opsgenie/Datadog API. * * @schema CfnThirdPartyIntegrationProps#Region */ readonly region?: string; /** * Service key associated with your PagerDuty account. * * @schema CfnThirdPartyIntegrationProps#ServiceKey */ readonly serviceKey?: string; /** * Key that allows MongoDB Cloud to access your Slack account. * * @schema CfnThirdPartyIntegrationProps#ApiToken */ readonly apiToken?: string; /** * Human-readable label that identifies your Slack team. Set this parameter when you configure a legacy Slack integration. * * @schema CfnThirdPartyIntegrationProps#TeamName */ readonly teamName?: string; /** * Name of the Slack channel to which MongoDB Cloud sends alert notifications. * * @schema CfnThirdPartyIntegrationProps#ChannelName */ readonly channelName?: string; /** * Routing key associated with your Splunk On-Call account. * * @schema CfnThirdPartyIntegrationProps#RoutingKey */ readonly routingKey?: string; /** * Endpoint web address to which MongoDB Cloud sends notifications. * * @schema CfnThirdPartyIntegrationProps#Url */ readonly url?: string; /** * Parameter returned if someone configure this webhook with a secret. * * @schema CfnThirdPartyIntegrationProps#Secret */ readonly secret?: string; /** * Endpoint web address of the Microsoft Teams webhook to which MongoDB Cloud sends notifications. * * @schema CfnThirdPartyIntegrationProps#MicrosoftTeamsWebhookUrl */ readonly microsoftTeamsWebhookUrl?: string; /** * Human-readable label that identifies your Prometheus incoming webhook. * * @schema CfnThirdPartyIntegrationProps#UserName */ readonly userName?: string; /** * Password required for your integration with Prometheus * * @schema CfnThirdPartyIntegrationProps#Password */ readonly password?: string; /** * Desired method to discover the Prometheus service. * * @schema CfnThirdPartyIntegrationProps#ServiceDiscovery */ readonly serviceDiscovery?: CfnThirdPartyIntegrationPropsServiceDiscovery; /** * Security Scheme to apply to HyperText Transfer Protocol (HTTP) traffic between Prometheus and MongoDB Cloud. * * @schema CfnThirdPartyIntegrationProps#Scheme */ readonly scheme?: CfnThirdPartyIntegrationPropsScheme; /** * Flag that indicates whether someone has activated the Prometheus integration. * * @schema CfnThirdPartyIntegrationProps#Enabled */ readonly enabled?: boolean; /** * Combination of IPv4 address and Internet Assigned Numbers Authority (IANA) port or the IANA port alone to which Prometheus binds to ingest MongoDB metrics. * * @schema CfnThirdPartyIntegrationProps#ListenAddress */ readonly listenAddress?: string; /** * Root-relative path to the Transport Layer Security (TLS) Privacy Enhanced Mail (PEM) key and certificate file on the host. * * @schema CfnThirdPartyIntegrationProps#TlsPemPath */ readonly tlsPemPath?: string; } /** * Converts an object of type 'CfnThirdPartyIntegrationProps' to JSON representation. */ export declare function toJson_CfnThirdPartyIntegrationProps(obj: CfnThirdPartyIntegrationProps | undefined): Record<string, any> | undefined; /** * Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud. The value must match the third-party service integration type. * * @schema CfnThirdPartyIntegrationPropsType */ export declare enum CfnThirdPartyIntegrationPropsType { /** PAGER_DUTY */ PAGER_DUTY = "PAGER_DUTY", /** MICROSOFT_TEAMS */ MICROSOFT_TEAMS = "MICROSOFT_TEAMS", /** SLACK */ SLACK = "SLACK", /** DATADOG */ DATADOG = "DATADOG", /** OPS_GENIE */ OPS_GENIE = "OPS_GENIE", /** VICTOR_OPS */ VICTOR_OPS = "VICTOR_OPS", /** WEBHOOK */ WEBHOOK = "WEBHOOK", /** PROMETHEUS */ PROMETHEUS = "PROMETHEUS" } /** * Desired method to discover the Prometheus service. * * @schema CfnThirdPartyIntegrationPropsServiceDiscovery */ export declare enum CfnThirdPartyIntegrationPropsServiceDiscovery { /** http */ HTTP = "http", /** file */ FILE = "file" } /** * Security Scheme to apply to HyperText Transfer Protocol (HTTP) traffic between Prometheus and MongoDB Cloud. * * @schema CfnThirdPartyIntegrationPropsScheme */ export declare enum CfnThirdPartyIntegrationPropsScheme { /** http */ HTTP = "http", /** https */ HTTPS = "https" } /** * A CloudFormation `MongoDB::Atlas::ThirdPartyIntegration` * * @cloudformationResource MongoDB::Atlas::ThirdPartyIntegration * @stability external */ export declare class CfnThirdPartyIntegration extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::ThirdPartyIntegration"; /** * Resource props. */ readonly props: CfnThirdPartyIntegrationProps; /** * Create a new `MongoDB::Atlas::ThirdPartyIntegration`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnThirdPartyIntegrationProps); }