# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins
import copy
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from . import _utilities
from . import outputs
from ._inputs import *

__all__ = ['ContactPointArgs', 'ContactPoint']

@pulumi.input_type
class ContactPointArgs:
    def __init__(__self__, *,
                 alertmanagers: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]]] = None,
                 dingdings: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]]] = None,
                 disable_provenance: Optional[pulumi.Input[builtins.bool]] = None,
                 discords: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]]] = None,
                 emails: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]]] = None,
                 googlechats: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]]] = None,
                 kafkas: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]]] = None,
                 lines: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]]] = None,
                 name: Optional[pulumi.Input[builtins.str]] = None,
                 oncalls: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]]] = None,
                 opsgenies: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]]] = None,
                 org_id: Optional[pulumi.Input[builtins.str]] = None,
                 pagerduties: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]]] = None,
                 pushovers: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]]] = None,
                 sensugos: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]]] = None,
                 slacks: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]]] = None,
                 sns: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]]] = None,
                 teams: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]]] = None,
                 telegrams: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]]] = None,
                 threemas: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]]] = None,
                 victorops: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]]] = None,
                 webexes: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]]] = None,
                 webhooks: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]]] = None,
                 wecoms: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]]] = None):
        """
        The set of arguments for constructing a ContactPoint resource.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]] alertmanagers: A contact point that sends notifications to other Alertmanager instances.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]] dingdings: A contact point that sends notifications to DingDing.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]] discords: A contact point that sends notifications as Discord messages
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]] emails: A contact point that sends notifications to an email address.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]] googlechats: A contact point that sends notifications to Google Chat.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]] kafkas: A contact point that publishes notifications to Apache Kafka topics.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]] lines: A contact point that sends notifications to LINE.me.
        :param pulumi.Input[builtins.str] name: The name of the contact point.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]] oncalls: A contact point that sends notifications to Grafana On-Call.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]] opsgenies: A contact point that sends notifications to OpsGenie.
        :param pulumi.Input[builtins.str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]] pagerduties: A contact point that sends notifications to PagerDuty.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]] pushovers: A contact point that sends notifications to Pushover.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]] sensugos: A contact point that sends notifications to SensuGo.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]] slacks: A contact point that sends notifications to Slack.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]] sns: A contact point that sends notifications to Amazon SNS. Requires Amazon Managed Grafana.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]] teams: A contact point that sends notifications to Microsoft Teams.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]] telegrams: A contact point that sends notifications to Telegram.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]] threemas: A contact point that sends notifications to Threema.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]] victorops: A contact point that sends notifications to VictorOps (now known as Splunk OnCall).
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]] webexes: A contact point that sends notifications to Cisco Webex.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]] webhooks: A contact point that sends notifications to an arbitrary webhook, using the Prometheus webhook format defined here: https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]] wecoms: A contact point that sends notifications to WeCom.
        """
        if alertmanagers is not None:
            pulumi.set(__self__, "alertmanagers", alertmanagers)
        if dingdings is not None:
            pulumi.set(__self__, "dingdings", dingdings)
        if disable_provenance is not None:
            pulumi.set(__self__, "disable_provenance", disable_provenance)
        if discords is not None:
            pulumi.set(__self__, "discords", discords)
        if emails is not None:
            pulumi.set(__self__, "emails", emails)
        if googlechats is not None:
            pulumi.set(__self__, "googlechats", googlechats)
        if kafkas is not None:
            pulumi.set(__self__, "kafkas", kafkas)
        if lines is not None:
            pulumi.set(__self__, "lines", lines)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if oncalls is not None:
            pulumi.set(__self__, "oncalls", oncalls)
        if opsgenies is not None:
            pulumi.set(__self__, "opsgenies", opsgenies)
        if org_id is not None:
            pulumi.set(__self__, "org_id", org_id)
        if pagerduties is not None:
            pulumi.set(__self__, "pagerduties", pagerduties)
        if pushovers is not None:
            pulumi.set(__self__, "pushovers", pushovers)
        if sensugos is not None:
            pulumi.set(__self__, "sensugos", sensugos)
        if slacks is not None:
            pulumi.set(__self__, "slacks", slacks)
        if sns is not None:
            pulumi.set(__self__, "sns", sns)
        if teams is not None:
            pulumi.set(__self__, "teams", teams)
        if telegrams is not None:
            pulumi.set(__self__, "telegrams", telegrams)
        if threemas is not None:
            pulumi.set(__self__, "threemas", threemas)
        if victorops is not None:
            pulumi.set(__self__, "victorops", victorops)
        if webexes is not None:
            pulumi.set(__self__, "webexes", webexes)
        if webhooks is not None:
            pulumi.set(__self__, "webhooks", webhooks)
        if wecoms is not None:
            pulumi.set(__self__, "wecoms", wecoms)

    @property
    @pulumi.getter
    def alertmanagers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]]]:
        """
        A contact point that sends notifications to other Alertmanager instances.
        """
        return pulumi.get(self, "alertmanagers")

    @alertmanagers.setter
    def alertmanagers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]]]):
        pulumi.set(self, "alertmanagers", value)

    @property
    @pulumi.getter
    def dingdings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]]]:
        """
        A contact point that sends notifications to DingDing.
        """
        return pulumi.get(self, "dingdings")

    @dingdings.setter
    def dingdings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]]]):
        pulumi.set(self, "dingdings", value)

    @property
    @pulumi.getter(name="disableProvenance")
    def disable_provenance(self) -> Optional[pulumi.Input[builtins.bool]]:
        return pulumi.get(self, "disable_provenance")

    @disable_provenance.setter
    def disable_provenance(self, value: Optional[pulumi.Input[builtins.bool]]):
        pulumi.set(self, "disable_provenance", value)

    @property
    @pulumi.getter
    def discords(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]]]:
        """
        A contact point that sends notifications as Discord messages
        """
        return pulumi.get(self, "discords")

    @discords.setter
    def discords(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]]]):
        pulumi.set(self, "discords", value)

    @property
    @pulumi.getter
    def emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]]]:
        """
        A contact point that sends notifications to an email address.
        """
        return pulumi.get(self, "emails")

    @emails.setter
    def emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]]]):
        pulumi.set(self, "emails", value)

    @property
    @pulumi.getter
    def googlechats(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]]]:
        """
        A contact point that sends notifications to Google Chat.
        """
        return pulumi.get(self, "googlechats")

    @googlechats.setter
    def googlechats(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]]]):
        pulumi.set(self, "googlechats", value)

    @property
    @pulumi.getter
    def kafkas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]]]:
        """
        A contact point that publishes notifications to Apache Kafka topics.
        """
        return pulumi.get(self, "kafkas")

    @kafkas.setter
    def kafkas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]]]):
        pulumi.set(self, "kafkas", value)

    @property
    @pulumi.getter
    def lines(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]]]:
        """
        A contact point that sends notifications to LINE.me.
        """
        return pulumi.get(self, "lines")

    @lines.setter
    def lines(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]]]):
        pulumi.set(self, "lines", value)

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The name of the contact point.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter
    def oncalls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]]]:
        """
        A contact point that sends notifications to Grafana On-Call.
        """
        return pulumi.get(self, "oncalls")

    @oncalls.setter
    def oncalls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]]]):
        pulumi.set(self, "oncalls", value)

    @property
    @pulumi.getter
    def opsgenies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]]]:
        """
        A contact point that sends notifications to OpsGenie.
        """
        return pulumi.get(self, "opsgenies")

    @opsgenies.setter
    def opsgenies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]]]):
        pulumi.set(self, "opsgenies", value)

    @property
    @pulumi.getter(name="orgId")
    def org_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The Organization ID. If not set, the Org ID defined in the provider block will be used.
        """
        return pulumi.get(self, "org_id")

    @org_id.setter
    def org_id(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "org_id", value)

    @property
    @pulumi.getter
    def pagerduties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]]]:
        """
        A contact point that sends notifications to PagerDuty.
        """
        return pulumi.get(self, "pagerduties")

    @pagerduties.setter
    def pagerduties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]]]):
        pulumi.set(self, "pagerduties", value)

    @property
    @pulumi.getter
    def pushovers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]]]:
        """
        A contact point that sends notifications to Pushover.
        """
        return pulumi.get(self, "pushovers")

    @pushovers.setter
    def pushovers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]]]):
        pulumi.set(self, "pushovers", value)

    @property
    @pulumi.getter
    def sensugos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]]]:
        """
        A contact point that sends notifications to SensuGo.
        """
        return pulumi.get(self, "sensugos")

    @sensugos.setter
    def sensugos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]]]):
        pulumi.set(self, "sensugos", value)

    @property
    @pulumi.getter
    def slacks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]]]:
        """
        A contact point that sends notifications to Slack.
        """
        return pulumi.get(self, "slacks")

    @slacks.setter
    def slacks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]]]):
        pulumi.set(self, "slacks", value)

    @property
    @pulumi.getter
    def sns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]]]:
        """
        A contact point that sends notifications to Amazon SNS. Requires Amazon Managed Grafana.
        """
        return pulumi.get(self, "sns")

    @sns.setter
    def sns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]]]):
        pulumi.set(self, "sns", value)

    @property
    @pulumi.getter
    def teams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]]]:
        """
        A contact point that sends notifications to Microsoft Teams.
        """
        return pulumi.get(self, "teams")

    @teams.setter
    def teams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]]]):
        pulumi.set(self, "teams", value)

    @property
    @pulumi.getter
    def telegrams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]]]:
        """
        A contact point that sends notifications to Telegram.
        """
        return pulumi.get(self, "telegrams")

    @telegrams.setter
    def telegrams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]]]):
        pulumi.set(self, "telegrams", value)

    @property
    @pulumi.getter
    def threemas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]]]:
        """
        A contact point that sends notifications to Threema.
        """
        return pulumi.get(self, "threemas")

    @threemas.setter
    def threemas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]]]):
        pulumi.set(self, "threemas", value)

    @property
    @pulumi.getter
    def victorops(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]]]:
        """
        A contact point that sends notifications to VictorOps (now known as Splunk OnCall).
        """
        return pulumi.get(self, "victorops")

    @victorops.setter
    def victorops(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]]]):
        pulumi.set(self, "victorops", value)

    @property
    @pulumi.getter
    def webexes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]]]:
        """
        A contact point that sends notifications to Cisco Webex.
        """
        return pulumi.get(self, "webexes")

    @webexes.setter
    def webexes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]]]):
        pulumi.set(self, "webexes", value)

    @property
    @pulumi.getter
    def webhooks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]]]:
        """
        A contact point that sends notifications to an arbitrary webhook, using the Prometheus webhook format defined here: https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
        """
        return pulumi.get(self, "webhooks")

    @webhooks.setter
    def webhooks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]]]):
        pulumi.set(self, "webhooks", value)

    @property
    @pulumi.getter
    def wecoms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]]]:
        """
        A contact point that sends notifications to WeCom.
        """
        return pulumi.get(self, "wecoms")

    @wecoms.setter
    def wecoms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]]]):
        pulumi.set(self, "wecoms", value)


@pulumi.input_type
class _ContactPointState:
    def __init__(__self__, *,
                 alertmanagers: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]]] = None,
                 dingdings: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]]] = None,
                 disable_provenance: Optional[pulumi.Input[builtins.bool]] = None,
                 discords: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]]] = None,
                 emails: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]]] = None,
                 googlechats: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]]] = None,
                 kafkas: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]]] = None,
                 lines: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]]] = None,
                 name: Optional[pulumi.Input[builtins.str]] = None,
                 oncalls: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]]] = None,
                 opsgenies: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]]] = None,
                 org_id: Optional[pulumi.Input[builtins.str]] = None,
                 pagerduties: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]]] = None,
                 pushovers: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]]] = None,
                 sensugos: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]]] = None,
                 slacks: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]]] = None,
                 sns: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]]] = None,
                 teams: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]]] = None,
                 telegrams: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]]] = None,
                 threemas: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]]] = None,
                 victorops: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]]] = None,
                 webexes: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]]] = None,
                 webhooks: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]]] = None,
                 wecoms: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]]] = None):
        """
        Input properties used for looking up and filtering ContactPoint resources.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]] alertmanagers: A contact point that sends notifications to other Alertmanager instances.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]] dingdings: A contact point that sends notifications to DingDing.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]] discords: A contact point that sends notifications as Discord messages
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]] emails: A contact point that sends notifications to an email address.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]] googlechats: A contact point that sends notifications to Google Chat.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]] kafkas: A contact point that publishes notifications to Apache Kafka topics.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]] lines: A contact point that sends notifications to LINE.me.
        :param pulumi.Input[builtins.str] name: The name of the contact point.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]] oncalls: A contact point that sends notifications to Grafana On-Call.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]] opsgenies: A contact point that sends notifications to OpsGenie.
        :param pulumi.Input[builtins.str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]] pagerduties: A contact point that sends notifications to PagerDuty.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]] pushovers: A contact point that sends notifications to Pushover.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]] sensugos: A contact point that sends notifications to SensuGo.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]] slacks: A contact point that sends notifications to Slack.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]] sns: A contact point that sends notifications to Amazon SNS. Requires Amazon Managed Grafana.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]] teams: A contact point that sends notifications to Microsoft Teams.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]] telegrams: A contact point that sends notifications to Telegram.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]] threemas: A contact point that sends notifications to Threema.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]] victorops: A contact point that sends notifications to VictorOps (now known as Splunk OnCall).
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]] webexes: A contact point that sends notifications to Cisco Webex.
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]] webhooks: A contact point that sends notifications to an arbitrary webhook, using the Prometheus webhook format defined here: https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
        :param pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]] wecoms: A contact point that sends notifications to WeCom.
        """
        if alertmanagers is not None:
            pulumi.set(__self__, "alertmanagers", alertmanagers)
        if dingdings is not None:
            pulumi.set(__self__, "dingdings", dingdings)
        if disable_provenance is not None:
            pulumi.set(__self__, "disable_provenance", disable_provenance)
        if discords is not None:
            pulumi.set(__self__, "discords", discords)
        if emails is not None:
            pulumi.set(__self__, "emails", emails)
        if googlechats is not None:
            pulumi.set(__self__, "googlechats", googlechats)
        if kafkas is not None:
            pulumi.set(__self__, "kafkas", kafkas)
        if lines is not None:
            pulumi.set(__self__, "lines", lines)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if oncalls is not None:
            pulumi.set(__self__, "oncalls", oncalls)
        if opsgenies is not None:
            pulumi.set(__self__, "opsgenies", opsgenies)
        if org_id is not None:
            pulumi.set(__self__, "org_id", org_id)
        if pagerduties is not None:
            pulumi.set(__self__, "pagerduties", pagerduties)
        if pushovers is not None:
            pulumi.set(__self__, "pushovers", pushovers)
        if sensugos is not None:
            pulumi.set(__self__, "sensugos", sensugos)
        if slacks is not None:
            pulumi.set(__self__, "slacks", slacks)
        if sns is not None:
            pulumi.set(__self__, "sns", sns)
        if teams is not None:
            pulumi.set(__self__, "teams", teams)
        if telegrams is not None:
            pulumi.set(__self__, "telegrams", telegrams)
        if threemas is not None:
            pulumi.set(__self__, "threemas", threemas)
        if victorops is not None:
            pulumi.set(__self__, "victorops", victorops)
        if webexes is not None:
            pulumi.set(__self__, "webexes", webexes)
        if webhooks is not None:
            pulumi.set(__self__, "webhooks", webhooks)
        if wecoms is not None:
            pulumi.set(__self__, "wecoms", wecoms)

    @property
    @pulumi.getter
    def alertmanagers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]]]:
        """
        A contact point that sends notifications to other Alertmanager instances.
        """
        return pulumi.get(self, "alertmanagers")

    @alertmanagers.setter
    def alertmanagers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointAlertmanagerArgs']]]]):
        pulumi.set(self, "alertmanagers", value)

    @property
    @pulumi.getter
    def dingdings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]]]:
        """
        A contact point that sends notifications to DingDing.
        """
        return pulumi.get(self, "dingdings")

    @dingdings.setter
    def dingdings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDingdingArgs']]]]):
        pulumi.set(self, "dingdings", value)

    @property
    @pulumi.getter(name="disableProvenance")
    def disable_provenance(self) -> Optional[pulumi.Input[builtins.bool]]:
        return pulumi.get(self, "disable_provenance")

    @disable_provenance.setter
    def disable_provenance(self, value: Optional[pulumi.Input[builtins.bool]]):
        pulumi.set(self, "disable_provenance", value)

    @property
    @pulumi.getter
    def discords(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]]]:
        """
        A contact point that sends notifications as Discord messages
        """
        return pulumi.get(self, "discords")

    @discords.setter
    def discords(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointDiscordArgs']]]]):
        pulumi.set(self, "discords", value)

    @property
    @pulumi.getter
    def emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]]]:
        """
        A contact point that sends notifications to an email address.
        """
        return pulumi.get(self, "emails")

    @emails.setter
    def emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointEmailArgs']]]]):
        pulumi.set(self, "emails", value)

    @property
    @pulumi.getter
    def googlechats(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]]]:
        """
        A contact point that sends notifications to Google Chat.
        """
        return pulumi.get(self, "googlechats")

    @googlechats.setter
    def googlechats(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointGooglechatArgs']]]]):
        pulumi.set(self, "googlechats", value)

    @property
    @pulumi.getter
    def kafkas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]]]:
        """
        A contact point that publishes notifications to Apache Kafka topics.
        """
        return pulumi.get(self, "kafkas")

    @kafkas.setter
    def kafkas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointKafkaArgs']]]]):
        pulumi.set(self, "kafkas", value)

    @property
    @pulumi.getter
    def lines(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]]]:
        """
        A contact point that sends notifications to LINE.me.
        """
        return pulumi.get(self, "lines")

    @lines.setter
    def lines(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointLineArgs']]]]):
        pulumi.set(self, "lines", value)

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The name of the contact point.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter
    def oncalls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]]]:
        """
        A contact point that sends notifications to Grafana On-Call.
        """
        return pulumi.get(self, "oncalls")

    @oncalls.setter
    def oncalls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOncallArgs']]]]):
        pulumi.set(self, "oncalls", value)

    @property
    @pulumi.getter
    def opsgenies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]]]:
        """
        A contact point that sends notifications to OpsGenie.
        """
        return pulumi.get(self, "opsgenies")

    @opsgenies.setter
    def opsgenies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointOpsgenyArgs']]]]):
        pulumi.set(self, "opsgenies", value)

    @property
    @pulumi.getter(name="orgId")
    def org_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The Organization ID. If not set, the Org ID defined in the provider block will be used.
        """
        return pulumi.get(self, "org_id")

    @org_id.setter
    def org_id(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "org_id", value)

    @property
    @pulumi.getter
    def pagerduties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]]]:
        """
        A contact point that sends notifications to PagerDuty.
        """
        return pulumi.get(self, "pagerduties")

    @pagerduties.setter
    def pagerduties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPagerdutyArgs']]]]):
        pulumi.set(self, "pagerduties", value)

    @property
    @pulumi.getter
    def pushovers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]]]:
        """
        A contact point that sends notifications to Pushover.
        """
        return pulumi.get(self, "pushovers")

    @pushovers.setter
    def pushovers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointPushoverArgs']]]]):
        pulumi.set(self, "pushovers", value)

    @property
    @pulumi.getter
    def sensugos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]]]:
        """
        A contact point that sends notifications to SensuGo.
        """
        return pulumi.get(self, "sensugos")

    @sensugos.setter
    def sensugos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSensugoArgs']]]]):
        pulumi.set(self, "sensugos", value)

    @property
    @pulumi.getter
    def slacks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]]]:
        """
        A contact point that sends notifications to Slack.
        """
        return pulumi.get(self, "slacks")

    @slacks.setter
    def slacks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSlackArgs']]]]):
        pulumi.set(self, "slacks", value)

    @property
    @pulumi.getter
    def sns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]]]:
        """
        A contact point that sends notifications to Amazon SNS. Requires Amazon Managed Grafana.
        """
        return pulumi.get(self, "sns")

    @sns.setter
    def sns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointSnArgs']]]]):
        pulumi.set(self, "sns", value)

    @property
    @pulumi.getter
    def teams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]]]:
        """
        A contact point that sends notifications to Microsoft Teams.
        """
        return pulumi.get(self, "teams")

    @teams.setter
    def teams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTeamArgs']]]]):
        pulumi.set(self, "teams", value)

    @property
    @pulumi.getter
    def telegrams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]]]:
        """
        A contact point that sends notifications to Telegram.
        """
        return pulumi.get(self, "telegrams")

    @telegrams.setter
    def telegrams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointTelegramArgs']]]]):
        pulumi.set(self, "telegrams", value)

    @property
    @pulumi.getter
    def threemas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]]]:
        """
        A contact point that sends notifications to Threema.
        """
        return pulumi.get(self, "threemas")

    @threemas.setter
    def threemas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointThreemaArgs']]]]):
        pulumi.set(self, "threemas", value)

    @property
    @pulumi.getter
    def victorops(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]]]:
        """
        A contact point that sends notifications to VictorOps (now known as Splunk OnCall).
        """
        return pulumi.get(self, "victorops")

    @victorops.setter
    def victorops(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointVictoropArgs']]]]):
        pulumi.set(self, "victorops", value)

    @property
    @pulumi.getter
    def webexes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]]]:
        """
        A contact point that sends notifications to Cisco Webex.
        """
        return pulumi.get(self, "webexes")

    @webexes.setter
    def webexes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebexArgs']]]]):
        pulumi.set(self, "webexes", value)

    @property
    @pulumi.getter
    def webhooks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]]]:
        """
        A contact point that sends notifications to an arbitrary webhook, using the Prometheus webhook format defined here: https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
        """
        return pulumi.get(self, "webhooks")

    @webhooks.setter
    def webhooks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWebhookArgs']]]]):
        pulumi.set(self, "webhooks", value)

    @property
    @pulumi.getter
    def wecoms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]]]:
        """
        A contact point that sends notifications to WeCom.
        """
        return pulumi.get(self, "wecoms")

    @wecoms.setter
    def wecoms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContactPointWecomArgs']]]]):
        pulumi.set(self, "wecoms", value)


warnings.warn("""grafana.index/contactpoint.ContactPoint has been deprecated in favor of grafana.alerting/contactpoint.ContactPoint""", DeprecationWarning)


@pulumi.type_token("grafana:index/contactPoint:ContactPoint")
class ContactPoint(pulumi.CustomResource):
    warnings.warn("""grafana.index/contactpoint.ContactPoint has been deprecated in favor of grafana.alerting/contactpoint.ContactPoint""", DeprecationWarning)

    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 alertmanagers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointAlertmanagerArgs', 'ContactPointAlertmanagerArgsDict']]]]] = None,
                 dingdings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDingdingArgs', 'ContactPointDingdingArgsDict']]]]] = None,
                 disable_provenance: Optional[pulumi.Input[builtins.bool]] = None,
                 discords: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDiscordArgs', 'ContactPointDiscordArgsDict']]]]] = None,
                 emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointEmailArgs', 'ContactPointEmailArgsDict']]]]] = None,
                 googlechats: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointGooglechatArgs', 'ContactPointGooglechatArgsDict']]]]] = None,
                 kafkas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointKafkaArgs', 'ContactPointKafkaArgsDict']]]]] = None,
                 lines: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointLineArgs', 'ContactPointLineArgsDict']]]]] = None,
                 name: Optional[pulumi.Input[builtins.str]] = None,
                 oncalls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOncallArgs', 'ContactPointOncallArgsDict']]]]] = None,
                 opsgenies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOpsgenyArgs', 'ContactPointOpsgenyArgsDict']]]]] = None,
                 org_id: Optional[pulumi.Input[builtins.str]] = None,
                 pagerduties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPagerdutyArgs', 'ContactPointPagerdutyArgsDict']]]]] = None,
                 pushovers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPushoverArgs', 'ContactPointPushoverArgsDict']]]]] = None,
                 sensugos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSensugoArgs', 'ContactPointSensugoArgsDict']]]]] = None,
                 slacks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSlackArgs', 'ContactPointSlackArgsDict']]]]] = None,
                 sns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSnArgs', 'ContactPointSnArgsDict']]]]] = None,
                 teams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTeamArgs', 'ContactPointTeamArgsDict']]]]] = None,
                 telegrams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTelegramArgs', 'ContactPointTelegramArgsDict']]]]] = None,
                 threemas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointThreemaArgs', 'ContactPointThreemaArgsDict']]]]] = None,
                 victorops: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointVictoropArgs', 'ContactPointVictoropArgsDict']]]]] = None,
                 webexes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebexArgs', 'ContactPointWebexArgsDict']]]]] = None,
                 webhooks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebhookArgs', 'ContactPointWebhookArgsDict']]]]] = None,
                 wecoms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWecomArgs', 'ContactPointWecomArgsDict']]]]] = None,
                 __props__=None):
        """
        Manages Grafana Alerting contact points.

        * Official documentation
        * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/alerting_provisioning/#contact-points)

        This resource requires Grafana 9.1.0 or later.

        ## Example Usage

        ```python
        import pulumi
        import pulumiverse_grafana as grafana

        my_contact_point = grafana.alerting.ContactPoint("my_contact_point",
            name="My Contact Point",
            emails=[{
                "addresses": [
                    "one@company.org",
                    "two@company.org",
                ],
                "message": "{{ len .Alerts.Firing }} firing.",
                "subject": "{{ template \\"default.title\\" .}}",
                "single_email": True,
                "disable_resolve_message": False,
            }])
        ```

        ## Import

        ```sh
        $ pulumi import grafana:index/contactPoint:ContactPoint name "{{ name }}"
        ```

        ```sh
        $ pulumi import grafana:index/contactPoint:ContactPoint name "{{ orgID }}:{{ name }}"
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointAlertmanagerArgs', 'ContactPointAlertmanagerArgsDict']]]] alertmanagers: A contact point that sends notifications to other Alertmanager instances.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDingdingArgs', 'ContactPointDingdingArgsDict']]]] dingdings: A contact point that sends notifications to DingDing.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDiscordArgs', 'ContactPointDiscordArgsDict']]]] discords: A contact point that sends notifications as Discord messages
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointEmailArgs', 'ContactPointEmailArgsDict']]]] emails: A contact point that sends notifications to an email address.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointGooglechatArgs', 'ContactPointGooglechatArgsDict']]]] googlechats: A contact point that sends notifications to Google Chat.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointKafkaArgs', 'ContactPointKafkaArgsDict']]]] kafkas: A contact point that publishes notifications to Apache Kafka topics.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointLineArgs', 'ContactPointLineArgsDict']]]] lines: A contact point that sends notifications to LINE.me.
        :param pulumi.Input[builtins.str] name: The name of the contact point.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOncallArgs', 'ContactPointOncallArgsDict']]]] oncalls: A contact point that sends notifications to Grafana On-Call.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOpsgenyArgs', 'ContactPointOpsgenyArgsDict']]]] opsgenies: A contact point that sends notifications to OpsGenie.
        :param pulumi.Input[builtins.str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPagerdutyArgs', 'ContactPointPagerdutyArgsDict']]]] pagerduties: A contact point that sends notifications to PagerDuty.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPushoverArgs', 'ContactPointPushoverArgsDict']]]] pushovers: A contact point that sends notifications to Pushover.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSensugoArgs', 'ContactPointSensugoArgsDict']]]] sensugos: A contact point that sends notifications to SensuGo.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSlackArgs', 'ContactPointSlackArgsDict']]]] slacks: A contact point that sends notifications to Slack.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSnArgs', 'ContactPointSnArgsDict']]]] sns: A contact point that sends notifications to Amazon SNS. Requires Amazon Managed Grafana.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTeamArgs', 'ContactPointTeamArgsDict']]]] teams: A contact point that sends notifications to Microsoft Teams.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTelegramArgs', 'ContactPointTelegramArgsDict']]]] telegrams: A contact point that sends notifications to Telegram.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointThreemaArgs', 'ContactPointThreemaArgsDict']]]] threemas: A contact point that sends notifications to Threema.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointVictoropArgs', 'ContactPointVictoropArgsDict']]]] victorops: A contact point that sends notifications to VictorOps (now known as Splunk OnCall).
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebexArgs', 'ContactPointWebexArgsDict']]]] webexes: A contact point that sends notifications to Cisco Webex.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebhookArgs', 'ContactPointWebhookArgsDict']]]] webhooks: A contact point that sends notifications to an arbitrary webhook, using the Prometheus webhook format defined here: https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWecomArgs', 'ContactPointWecomArgsDict']]]] wecoms: A contact point that sends notifications to WeCom.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: Optional[ContactPointArgs] = None,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Manages Grafana Alerting contact points.

        * Official documentation
        * [HTTP API](https://grafana.com/docs/grafana/latest/developers/http_api/alerting_provisioning/#contact-points)

        This resource requires Grafana 9.1.0 or later.

        ## Example Usage

        ```python
        import pulumi
        import pulumiverse_grafana as grafana

        my_contact_point = grafana.alerting.ContactPoint("my_contact_point",
            name="My Contact Point",
            emails=[{
                "addresses": [
                    "one@company.org",
                    "two@company.org",
                ],
                "message": "{{ len .Alerts.Firing }} firing.",
                "subject": "{{ template \\"default.title\\" .}}",
                "single_email": True,
                "disable_resolve_message": False,
            }])
        ```

        ## Import

        ```sh
        $ pulumi import grafana:index/contactPoint:ContactPoint name "{{ name }}"
        ```

        ```sh
        $ pulumi import grafana:index/contactPoint:ContactPoint name "{{ orgID }}:{{ name }}"
        ```

        :param str resource_name: The name of the resource.
        :param ContactPointArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(ContactPointArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 alertmanagers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointAlertmanagerArgs', 'ContactPointAlertmanagerArgsDict']]]]] = None,
                 dingdings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDingdingArgs', 'ContactPointDingdingArgsDict']]]]] = None,
                 disable_provenance: Optional[pulumi.Input[builtins.bool]] = None,
                 discords: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDiscordArgs', 'ContactPointDiscordArgsDict']]]]] = None,
                 emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointEmailArgs', 'ContactPointEmailArgsDict']]]]] = None,
                 googlechats: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointGooglechatArgs', 'ContactPointGooglechatArgsDict']]]]] = None,
                 kafkas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointKafkaArgs', 'ContactPointKafkaArgsDict']]]]] = None,
                 lines: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointLineArgs', 'ContactPointLineArgsDict']]]]] = None,
                 name: Optional[pulumi.Input[builtins.str]] = None,
                 oncalls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOncallArgs', 'ContactPointOncallArgsDict']]]]] = None,
                 opsgenies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOpsgenyArgs', 'ContactPointOpsgenyArgsDict']]]]] = None,
                 org_id: Optional[pulumi.Input[builtins.str]] = None,
                 pagerduties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPagerdutyArgs', 'ContactPointPagerdutyArgsDict']]]]] = None,
                 pushovers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPushoverArgs', 'ContactPointPushoverArgsDict']]]]] = None,
                 sensugos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSensugoArgs', 'ContactPointSensugoArgsDict']]]]] = None,
                 slacks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSlackArgs', 'ContactPointSlackArgsDict']]]]] = None,
                 sns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSnArgs', 'ContactPointSnArgsDict']]]]] = None,
                 teams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTeamArgs', 'ContactPointTeamArgsDict']]]]] = None,
                 telegrams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTelegramArgs', 'ContactPointTelegramArgsDict']]]]] = None,
                 threemas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointThreemaArgs', 'ContactPointThreemaArgsDict']]]]] = None,
                 victorops: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointVictoropArgs', 'ContactPointVictoropArgsDict']]]]] = None,
                 webexes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebexArgs', 'ContactPointWebexArgsDict']]]]] = None,
                 webhooks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebhookArgs', 'ContactPointWebhookArgsDict']]]]] = None,
                 wecoms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWecomArgs', 'ContactPointWecomArgsDict']]]]] = None,
                 __props__=None):
        pulumi.log.warn("""ContactPoint is deprecated: grafana.index/contactpoint.ContactPoint has been deprecated in favor of grafana.alerting/contactpoint.ContactPoint""")
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = ContactPointArgs.__new__(ContactPointArgs)

            __props__.__dict__["alertmanagers"] = alertmanagers
            __props__.__dict__["dingdings"] = dingdings
            __props__.__dict__["disable_provenance"] = disable_provenance
            __props__.__dict__["discords"] = discords
            __props__.__dict__["emails"] = emails
            __props__.__dict__["googlechats"] = googlechats
            __props__.__dict__["kafkas"] = kafkas
            __props__.__dict__["lines"] = lines
            __props__.__dict__["name"] = name
            __props__.__dict__["oncalls"] = oncalls
            __props__.__dict__["opsgenies"] = opsgenies
            __props__.__dict__["org_id"] = org_id
            __props__.__dict__["pagerduties"] = pagerduties
            __props__.__dict__["pushovers"] = pushovers
            __props__.__dict__["sensugos"] = sensugos
            __props__.__dict__["slacks"] = slacks
            __props__.__dict__["sns"] = sns
            __props__.__dict__["teams"] = teams
            __props__.__dict__["telegrams"] = telegrams
            __props__.__dict__["threemas"] = threemas
            __props__.__dict__["victorops"] = victorops
            __props__.__dict__["webexes"] = webexes
            __props__.__dict__["webhooks"] = webhooks
            __props__.__dict__["wecoms"] = wecoms
        alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="grafana:index/contactPoint:ContactPoint")])
        opts = pulumi.ResourceOptions.merge(opts, alias_opts)
        super(ContactPoint, __self__).__init__(
            'grafana:index/contactPoint:ContactPoint',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            alertmanagers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointAlertmanagerArgs', 'ContactPointAlertmanagerArgsDict']]]]] = None,
            dingdings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDingdingArgs', 'ContactPointDingdingArgsDict']]]]] = None,
            disable_provenance: Optional[pulumi.Input[builtins.bool]] = None,
            discords: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDiscordArgs', 'ContactPointDiscordArgsDict']]]]] = None,
            emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointEmailArgs', 'ContactPointEmailArgsDict']]]]] = None,
            googlechats: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointGooglechatArgs', 'ContactPointGooglechatArgsDict']]]]] = None,
            kafkas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointKafkaArgs', 'ContactPointKafkaArgsDict']]]]] = None,
            lines: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointLineArgs', 'ContactPointLineArgsDict']]]]] = None,
            name: Optional[pulumi.Input[builtins.str]] = None,
            oncalls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOncallArgs', 'ContactPointOncallArgsDict']]]]] = None,
            opsgenies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOpsgenyArgs', 'ContactPointOpsgenyArgsDict']]]]] = None,
            org_id: Optional[pulumi.Input[builtins.str]] = None,
            pagerduties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPagerdutyArgs', 'ContactPointPagerdutyArgsDict']]]]] = None,
            pushovers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPushoverArgs', 'ContactPointPushoverArgsDict']]]]] = None,
            sensugos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSensugoArgs', 'ContactPointSensugoArgsDict']]]]] = None,
            slacks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSlackArgs', 'ContactPointSlackArgsDict']]]]] = None,
            sns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSnArgs', 'ContactPointSnArgsDict']]]]] = None,
            teams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTeamArgs', 'ContactPointTeamArgsDict']]]]] = None,
            telegrams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTelegramArgs', 'ContactPointTelegramArgsDict']]]]] = None,
            threemas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointThreemaArgs', 'ContactPointThreemaArgsDict']]]]] = None,
            victorops: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointVictoropArgs', 'ContactPointVictoropArgsDict']]]]] = None,
            webexes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebexArgs', 'ContactPointWebexArgsDict']]]]] = None,
            webhooks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebhookArgs', 'ContactPointWebhookArgsDict']]]]] = None,
            wecoms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWecomArgs', 'ContactPointWecomArgsDict']]]]] = None) -> 'ContactPoint':
        """
        Get an existing ContactPoint resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointAlertmanagerArgs', 'ContactPointAlertmanagerArgsDict']]]] alertmanagers: A contact point that sends notifications to other Alertmanager instances.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDingdingArgs', 'ContactPointDingdingArgsDict']]]] dingdings: A contact point that sends notifications to DingDing.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointDiscordArgs', 'ContactPointDiscordArgsDict']]]] discords: A contact point that sends notifications as Discord messages
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointEmailArgs', 'ContactPointEmailArgsDict']]]] emails: A contact point that sends notifications to an email address.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointGooglechatArgs', 'ContactPointGooglechatArgsDict']]]] googlechats: A contact point that sends notifications to Google Chat.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointKafkaArgs', 'ContactPointKafkaArgsDict']]]] kafkas: A contact point that publishes notifications to Apache Kafka topics.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointLineArgs', 'ContactPointLineArgsDict']]]] lines: A contact point that sends notifications to LINE.me.
        :param pulumi.Input[builtins.str] name: The name of the contact point.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOncallArgs', 'ContactPointOncallArgsDict']]]] oncalls: A contact point that sends notifications to Grafana On-Call.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointOpsgenyArgs', 'ContactPointOpsgenyArgsDict']]]] opsgenies: A contact point that sends notifications to OpsGenie.
        :param pulumi.Input[builtins.str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPagerdutyArgs', 'ContactPointPagerdutyArgsDict']]]] pagerduties: A contact point that sends notifications to PagerDuty.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointPushoverArgs', 'ContactPointPushoverArgsDict']]]] pushovers: A contact point that sends notifications to Pushover.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSensugoArgs', 'ContactPointSensugoArgsDict']]]] sensugos: A contact point that sends notifications to SensuGo.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSlackArgs', 'ContactPointSlackArgsDict']]]] slacks: A contact point that sends notifications to Slack.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointSnArgs', 'ContactPointSnArgsDict']]]] sns: A contact point that sends notifications to Amazon SNS. Requires Amazon Managed Grafana.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTeamArgs', 'ContactPointTeamArgsDict']]]] teams: A contact point that sends notifications to Microsoft Teams.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointTelegramArgs', 'ContactPointTelegramArgsDict']]]] telegrams: A contact point that sends notifications to Telegram.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointThreemaArgs', 'ContactPointThreemaArgsDict']]]] threemas: A contact point that sends notifications to Threema.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointVictoropArgs', 'ContactPointVictoropArgsDict']]]] victorops: A contact point that sends notifications to VictorOps (now known as Splunk OnCall).
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebexArgs', 'ContactPointWebexArgsDict']]]] webexes: A contact point that sends notifications to Cisco Webex.
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWebhookArgs', 'ContactPointWebhookArgsDict']]]] webhooks: A contact point that sends notifications to an arbitrary webhook, using the Prometheus webhook format defined here: https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
        :param pulumi.Input[Sequence[pulumi.Input[Union['ContactPointWecomArgs', 'ContactPointWecomArgsDict']]]] wecoms: A contact point that sends notifications to WeCom.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _ContactPointState.__new__(_ContactPointState)

        __props__.__dict__["alertmanagers"] = alertmanagers
        __props__.__dict__["dingdings"] = dingdings
        __props__.__dict__["disable_provenance"] = disable_provenance
        __props__.__dict__["discords"] = discords
        __props__.__dict__["emails"] = emails
        __props__.__dict__["googlechats"] = googlechats
        __props__.__dict__["kafkas"] = kafkas
        __props__.__dict__["lines"] = lines
        __props__.__dict__["name"] = name
        __props__.__dict__["oncalls"] = oncalls
        __props__.__dict__["opsgenies"] = opsgenies
        __props__.__dict__["org_id"] = org_id
        __props__.__dict__["pagerduties"] = pagerduties
        __props__.__dict__["pushovers"] = pushovers
        __props__.__dict__["sensugos"] = sensugos
        __props__.__dict__["slacks"] = slacks
        __props__.__dict__["sns"] = sns
        __props__.__dict__["teams"] = teams
        __props__.__dict__["telegrams"] = telegrams
        __props__.__dict__["threemas"] = threemas
        __props__.__dict__["victorops"] = victorops
        __props__.__dict__["webexes"] = webexes
        __props__.__dict__["webhooks"] = webhooks
        __props__.__dict__["wecoms"] = wecoms
        return ContactPoint(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter
    def alertmanagers(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointAlertmanager']]]:
        """
        A contact point that sends notifications to other Alertmanager instances.
        """
        return pulumi.get(self, "alertmanagers")

    @property
    @pulumi.getter
    def dingdings(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointDingding']]]:
        """
        A contact point that sends notifications to DingDing.
        """
        return pulumi.get(self, "dingdings")

    @property
    @pulumi.getter(name="disableProvenance")
    def disable_provenance(self) -> pulumi.Output[Optional[builtins.bool]]:
        return pulumi.get(self, "disable_provenance")

    @property
    @pulumi.getter
    def discords(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointDiscord']]]:
        """
        A contact point that sends notifications as Discord messages
        """
        return pulumi.get(self, "discords")

    @property
    @pulumi.getter
    def emails(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointEmail']]]:
        """
        A contact point that sends notifications to an email address.
        """
        return pulumi.get(self, "emails")

    @property
    @pulumi.getter
    def googlechats(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointGooglechat']]]:
        """
        A contact point that sends notifications to Google Chat.
        """
        return pulumi.get(self, "googlechats")

    @property
    @pulumi.getter
    def kafkas(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointKafka']]]:
        """
        A contact point that publishes notifications to Apache Kafka topics.
        """
        return pulumi.get(self, "kafkas")

    @property
    @pulumi.getter
    def lines(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointLine']]]:
        """
        A contact point that sends notifications to LINE.me.
        """
        return pulumi.get(self, "lines")

    @property
    @pulumi.getter
    def name(self) -> pulumi.Output[builtins.str]:
        """
        The name of the contact point.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def oncalls(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointOncall']]]:
        """
        A contact point that sends notifications to Grafana On-Call.
        """
        return pulumi.get(self, "oncalls")

    @property
    @pulumi.getter
    def opsgenies(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointOpsgeny']]]:
        """
        A contact point that sends notifications to OpsGenie.
        """
        return pulumi.get(self, "opsgenies")

    @property
    @pulumi.getter(name="orgId")
    def org_id(self) -> pulumi.Output[Optional[builtins.str]]:
        """
        The Organization ID. If not set, the Org ID defined in the provider block will be used.
        """
        return pulumi.get(self, "org_id")

    @property
    @pulumi.getter
    def pagerduties(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointPagerduty']]]:
        """
        A contact point that sends notifications to PagerDuty.
        """
        return pulumi.get(self, "pagerduties")

    @property
    @pulumi.getter
    def pushovers(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointPushover']]]:
        """
        A contact point that sends notifications to Pushover.
        """
        return pulumi.get(self, "pushovers")

    @property
    @pulumi.getter
    def sensugos(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointSensugo']]]:
        """
        A contact point that sends notifications to SensuGo.
        """
        return pulumi.get(self, "sensugos")

    @property
    @pulumi.getter
    def slacks(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointSlack']]]:
        """
        A contact point that sends notifications to Slack.
        """
        return pulumi.get(self, "slacks")

    @property
    @pulumi.getter
    def sns(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointSn']]]:
        """
        A contact point that sends notifications to Amazon SNS. Requires Amazon Managed Grafana.
        """
        return pulumi.get(self, "sns")

    @property
    @pulumi.getter
    def teams(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointTeam']]]:
        """
        A contact point that sends notifications to Microsoft Teams.
        """
        return pulumi.get(self, "teams")

    @property
    @pulumi.getter
    def telegrams(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointTelegram']]]:
        """
        A contact point that sends notifications to Telegram.
        """
        return pulumi.get(self, "telegrams")

    @property
    @pulumi.getter
    def threemas(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointThreema']]]:
        """
        A contact point that sends notifications to Threema.
        """
        return pulumi.get(self, "threemas")

    @property
    @pulumi.getter
    def victorops(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointVictorop']]]:
        """
        A contact point that sends notifications to VictorOps (now known as Splunk OnCall).
        """
        return pulumi.get(self, "victorops")

    @property
    @pulumi.getter
    def webexes(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointWebex']]]:
        """
        A contact point that sends notifications to Cisco Webex.
        """
        return pulumi.get(self, "webexes")

    @property
    @pulumi.getter
    def webhooks(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointWebhook']]]:
        """
        A contact point that sends notifications to an arbitrary webhook, using the Prometheus webhook format defined here: https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
        """
        return pulumi.get(self, "webhooks")

    @property
    @pulumi.getter
    def wecoms(self) -> pulumi.Output[Optional[Sequence['outputs.ContactPointWecom']]]:
        """
        A contact point that sends notifications to WeCom.
        """
        return pulumi.get(self, "wecoms")

