# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from . import _utilities

__all__ = [
    'AlertChannelConfigArgs',
    'AlertConditionTermArgs',
    'AlertMutingRuleConditionArgs',
    'AlertMutingRuleConditionConditionArgs',
    'AlertMutingRuleScheduleArgs',
    'EntityTagsTagArgs',
    'InfraAlertConditionCriticalArgs',
    'InfraAlertConditionWarningArgs',
    'NotificationChannelPropertyArgs',
    'NotificationDestinationAuthBasicArgs',
    'NotificationDestinationAuthTokenArgs',
    'NotificationDestinationPropertyArgs',
    'NrqlAlertConditionCriticalArgs',
    'NrqlAlertConditionNrqlArgs',
    'NrqlAlertConditionTermArgs',
    'NrqlAlertConditionWarningArgs',
    'ObfuscationRuleActionArgs',
    'OneDashboardPageArgs',
    'OneDashboardPageWidgetAreaArgs',
    'OneDashboardPageWidgetAreaColorArgs',
    'OneDashboardPageWidgetAreaColorSeriesOverrideArgs',
    'OneDashboardPageWidgetAreaNrqlQueryArgs',
    'OneDashboardPageWidgetAreaNullValueArgs',
    'OneDashboardPageWidgetAreaNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetAreaUnitArgs',
    'OneDashboardPageWidgetAreaUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetBarArgs',
    'OneDashboardPageWidgetBarColorArgs',
    'OneDashboardPageWidgetBarColorSeriesOverrideArgs',
    'OneDashboardPageWidgetBarNrqlQueryArgs',
    'OneDashboardPageWidgetBarNullValueArgs',
    'OneDashboardPageWidgetBarNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetBarUnitArgs',
    'OneDashboardPageWidgetBarUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetBillboardArgs',
    'OneDashboardPageWidgetBillboardColorArgs',
    'OneDashboardPageWidgetBillboardColorSeriesOverrideArgs',
    'OneDashboardPageWidgetBillboardNrqlQueryArgs',
    'OneDashboardPageWidgetBillboardNullValueArgs',
    'OneDashboardPageWidgetBillboardNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetBillboardUnitArgs',
    'OneDashboardPageWidgetBillboardUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetBulletArgs',
    'OneDashboardPageWidgetBulletColorArgs',
    'OneDashboardPageWidgetBulletColorSeriesOverrideArgs',
    'OneDashboardPageWidgetBulletNrqlQueryArgs',
    'OneDashboardPageWidgetBulletNullValueArgs',
    'OneDashboardPageWidgetBulletNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetBulletUnitArgs',
    'OneDashboardPageWidgetBulletUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetFunnelArgs',
    'OneDashboardPageWidgetFunnelColorArgs',
    'OneDashboardPageWidgetFunnelColorSeriesOverrideArgs',
    'OneDashboardPageWidgetFunnelNrqlQueryArgs',
    'OneDashboardPageWidgetFunnelNullValueArgs',
    'OneDashboardPageWidgetFunnelNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetFunnelUnitArgs',
    'OneDashboardPageWidgetFunnelUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetHeatmapArgs',
    'OneDashboardPageWidgetHeatmapColorArgs',
    'OneDashboardPageWidgetHeatmapColorSeriesOverrideArgs',
    'OneDashboardPageWidgetHeatmapNrqlQueryArgs',
    'OneDashboardPageWidgetHeatmapNullValueArgs',
    'OneDashboardPageWidgetHeatmapNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetHeatmapUnitArgs',
    'OneDashboardPageWidgetHeatmapUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetHistogramArgs',
    'OneDashboardPageWidgetHistogramColorArgs',
    'OneDashboardPageWidgetHistogramColorSeriesOverrideArgs',
    'OneDashboardPageWidgetHistogramNrqlQueryArgs',
    'OneDashboardPageWidgetHistogramNullValueArgs',
    'OneDashboardPageWidgetHistogramNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetHistogramUnitArgs',
    'OneDashboardPageWidgetHistogramUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetJsonArgs',
    'OneDashboardPageWidgetJsonColorArgs',
    'OneDashboardPageWidgetJsonColorSeriesOverrideArgs',
    'OneDashboardPageWidgetJsonNrqlQueryArgs',
    'OneDashboardPageWidgetJsonNullValueArgs',
    'OneDashboardPageWidgetJsonNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetJsonUnitArgs',
    'OneDashboardPageWidgetJsonUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetLineArgs',
    'OneDashboardPageWidgetLineColorArgs',
    'OneDashboardPageWidgetLineColorSeriesOverrideArgs',
    'OneDashboardPageWidgetLineNrqlQueryArgs',
    'OneDashboardPageWidgetLineNullValueArgs',
    'OneDashboardPageWidgetLineNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetLineUnitArgs',
    'OneDashboardPageWidgetLineUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetLogTableArgs',
    'OneDashboardPageWidgetLogTableColorArgs',
    'OneDashboardPageWidgetLogTableColorSeriesOverrideArgs',
    'OneDashboardPageWidgetLogTableNrqlQueryArgs',
    'OneDashboardPageWidgetLogTableNullValueArgs',
    'OneDashboardPageWidgetLogTableNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetLogTableUnitArgs',
    'OneDashboardPageWidgetLogTableUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetMarkdownArgs',
    'OneDashboardPageWidgetMarkdownColorArgs',
    'OneDashboardPageWidgetMarkdownColorSeriesOverrideArgs',
    'OneDashboardPageWidgetMarkdownNullValueArgs',
    'OneDashboardPageWidgetMarkdownNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetMarkdownUnitArgs',
    'OneDashboardPageWidgetMarkdownUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetPyArgs',
    'OneDashboardPageWidgetPyColorArgs',
    'OneDashboardPageWidgetPyColorSeriesOverrideArgs',
    'OneDashboardPageWidgetPyNrqlQueryArgs',
    'OneDashboardPageWidgetPyNullValueArgs',
    'OneDashboardPageWidgetPyNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetPyUnitArgs',
    'OneDashboardPageWidgetPyUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetStackedBarArgs',
    'OneDashboardPageWidgetStackedBarColorArgs',
    'OneDashboardPageWidgetStackedBarColorSeriesOverrideArgs',
    'OneDashboardPageWidgetStackedBarNrqlQueryArgs',
    'OneDashboardPageWidgetStackedBarNullValueArgs',
    'OneDashboardPageWidgetStackedBarNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetStackedBarUnitArgs',
    'OneDashboardPageWidgetStackedBarUnitSeriesOverrideArgs',
    'OneDashboardPageWidgetTableArgs',
    'OneDashboardPageWidgetTableColorArgs',
    'OneDashboardPageWidgetTableColorSeriesOverrideArgs',
    'OneDashboardPageWidgetTableNrqlQueryArgs',
    'OneDashboardPageWidgetTableNullValueArgs',
    'OneDashboardPageWidgetTableNullValueSeriesOverrideArgs',
    'OneDashboardPageWidgetTableUnitArgs',
    'OneDashboardPageWidgetTableUnitSeriesOverrideArgs',
    'OneDashboardRawPageArgs',
    'OneDashboardRawPageWidgetArgs',
    'OneDashboardVariableArgs',
    'OneDashboardVariableItemArgs',
    'OneDashboardVariableNrqlQueryArgs',
    'ServiceLevelEventsArgs',
    'ServiceLevelEventsBadEventsArgs',
    'ServiceLevelEventsBadEventsSelectArgs',
    'ServiceLevelEventsGoodEventsArgs',
    'ServiceLevelEventsGoodEventsSelectArgs',
    'ServiceLevelEventsValidEventsArgs',
    'ServiceLevelEventsValidEventsSelectArgs',
    'ServiceLevelObjectiveArgs',
    'ServiceLevelObjectiveTimeWindowArgs',
    'ServiceLevelObjectiveTimeWindowRollingArgs',
    'WorkflowDestinationArgs',
    'WorkflowEnrichmentsArgs',
    'WorkflowEnrichmentsNrqlArgs',
    'WorkflowEnrichmentsNrqlConfigurationArgs',
    'WorkflowIssuesFilterArgs',
    'WorkflowIssuesFilterPredicateArgs',
    'GetEntityTagArgs',
]

@pulumi.input_type
class AlertChannelConfigArgs:
    def __init__(__self__, *,
                 api_key: Optional[pulumi.Input[str]] = None,
                 auth_password: Optional[pulumi.Input[str]] = None,
                 auth_type: Optional[pulumi.Input[str]] = None,
                 auth_username: Optional[pulumi.Input[str]] = None,
                 base_url: Optional[pulumi.Input[str]] = None,
                 channel: Optional[pulumi.Input[str]] = None,
                 headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 headers_string: Optional[pulumi.Input[str]] = None,
                 include_json_attachment: Optional[pulumi.Input[str]] = None,
                 key: Optional[pulumi.Input[str]] = None,
                 payload: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 payload_string: Optional[pulumi.Input[str]] = None,
                 payload_type: Optional[pulumi.Input[str]] = None,
                 recipients: Optional[pulumi.Input[str]] = None,
                 region: Optional[pulumi.Input[str]] = None,
                 route_key: Optional[pulumi.Input[str]] = None,
                 service_key: Optional[pulumi.Input[str]] = None,
                 tags: Optional[pulumi.Input[str]] = None,
                 teams: Optional[pulumi.Input[str]] = None,
                 url: Optional[pulumi.Input[str]] = None,
                 user_id: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] api_key: The API key for integrating with OpsGenie.
        :param pulumi.Input[str] auth_password: Specifies an authentication password for use with a channel.  Supported by the `webhook` channel type.
        :param pulumi.Input[str] auth_type: 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`.
        :param pulumi.Input[str] auth_username: Specifies an authentication username for use with a channel.  Supported by the `webhook` channel type.
        :param pulumi.Input[str] base_url: The base URL of the webhook destination.
        :param pulumi.Input[str] channel: The Slack channel to send notifications to.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] headers: A map of key/value pairs that represents extra HTTP headers to be sent along with the webhook payload.
        :param pulumi.Input[str] headers_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`.
        :param pulumi.Input[str] include_json_attachment: `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.
        :param pulumi.Input[str] key: The key for integrating with VictorOps.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] payload: A map of key/value pairs that represents the webhook payload.  Must provide `payload_type` if setting this argument.
        :param pulumi.Input[str] payload_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`.
        :param pulumi.Input[str] payload_type: Can either be `application/json` or `application/x-www-form-urlencoded`. The `payload_type` argument is _required_ if `payload` is set.
        :param pulumi.Input[str] recipients: Comma delimited list of email addresses.
        :param pulumi.Input[str] region: The data center region to store your data.  Valid values are `US` and `EU`.  Default is `US`.
        :param pulumi.Input[str] route_key: The route key for integrating with VictorOps.
        :param pulumi.Input[str] service_key: Specifies the service key for integrating with Pagerduty.
        :param pulumi.Input[str] tags: A set of tags for targeting notifications. Multiple values are comma separated.
        :param pulumi.Input[str] teams: A set of teams for targeting notifications. Multiple values are comma separated.
        :param pulumi.Input[str] url: [Slack Webhook URL](https://slack.com/intl/en-es/help/articles/115005265063-Incoming-webhooks-for-Slack).
        """
        if api_key is not None:
            pulumi.set(__self__, "api_key", api_key)
        if auth_password is not None:
            pulumi.set(__self__, "auth_password", auth_password)
        if auth_type is not None:
            pulumi.set(__self__, "auth_type", auth_type)
        if auth_username is not None:
            pulumi.set(__self__, "auth_username", auth_username)
        if base_url is not None:
            pulumi.set(__self__, "base_url", base_url)
        if channel is not None:
            pulumi.set(__self__, "channel", channel)
        if headers is not None:
            pulumi.set(__self__, "headers", headers)
        if headers_string is not None:
            pulumi.set(__self__, "headers_string", headers_string)
        if include_json_attachment is not None:
            pulumi.set(__self__, "include_json_attachment", include_json_attachment)
        if key is not None:
            pulumi.set(__self__, "key", key)
        if payload is not None:
            pulumi.set(__self__, "payload", payload)
        if payload_string is not None:
            pulumi.set(__self__, "payload_string", payload_string)
        if payload_type is not None:
            pulumi.set(__self__, "payload_type", payload_type)
        if recipients is not None:
            pulumi.set(__self__, "recipients", recipients)
        if region is not None:
            pulumi.set(__self__, "region", region)
        if route_key is not None:
            pulumi.set(__self__, "route_key", route_key)
        if service_key is not None:
            pulumi.set(__self__, "service_key", service_key)
        if tags is not None:
            pulumi.set(__self__, "tags", tags)
        if teams is not None:
            pulumi.set(__self__, "teams", teams)
        if url is not None:
            pulumi.set(__self__, "url", url)
        if user_id is not None:
            pulumi.set(__self__, "user_id", user_id)

    @property
    @pulumi.getter(name="apiKey")
    def api_key(self) -> Optional[pulumi.Input[str]]:
        """
        The API key for integrating with OpsGenie.
        """
        return pulumi.get(self, "api_key")

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

    @property
    @pulumi.getter(name="authPassword")
    def auth_password(self) -> Optional[pulumi.Input[str]]:
        """
        Specifies an authentication password for use with a channel.  Supported by the `webhook` channel type.
        """
        return pulumi.get(self, "auth_password")

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

    @property
    @pulumi.getter(name="authType")
    def auth_type(self) -> Optional[pulumi.Input[str]]:
        """
        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`.
        """
        return pulumi.get(self, "auth_type")

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

    @property
    @pulumi.getter(name="authUsername")
    def auth_username(self) -> Optional[pulumi.Input[str]]:
        """
        Specifies an authentication username for use with a channel.  Supported by the `webhook` channel type.
        """
        return pulumi.get(self, "auth_username")

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

    @property
    @pulumi.getter(name="baseUrl")
    def base_url(self) -> Optional[pulumi.Input[str]]:
        """
        The base URL of the webhook destination.
        """
        return pulumi.get(self, "base_url")

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

    @property
    @pulumi.getter
    def channel(self) -> Optional[pulumi.Input[str]]:
        """
        The Slack channel to send notifications to.
        """
        return pulumi.get(self, "channel")

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

    @property
    @pulumi.getter
    def headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
        """
        A map of key/value pairs that represents extra HTTP headers to be sent along with the webhook payload.
        """
        return pulumi.get(self, "headers")

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

    @property
    @pulumi.getter(name="headersString")
    def headers_string(self) -> Optional[pulumi.Input[str]]:
        """
        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`.
        """
        return pulumi.get(self, "headers_string")

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

    @property
    @pulumi.getter(name="includeJsonAttachment")
    def include_json_attachment(self) -> Optional[pulumi.Input[str]]:
        """
        `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.
        """
        return pulumi.get(self, "include_json_attachment")

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

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        The key for integrating with VictorOps.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def payload(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
        """
        A map of key/value pairs that represents the webhook payload.  Must provide `payload_type` if setting this argument.
        """
        return pulumi.get(self, "payload")

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

    @property
    @pulumi.getter(name="payloadString")
    def payload_string(self) -> Optional[pulumi.Input[str]]:
        """
        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`.
        """
        return pulumi.get(self, "payload_string")

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

    @property
    @pulumi.getter(name="payloadType")
    def payload_type(self) -> Optional[pulumi.Input[str]]:
        """
        Can either be `application/json` or `application/x-www-form-urlencoded`. The `payload_type` argument is _required_ if `payload` is set.
        """
        return pulumi.get(self, "payload_type")

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

    @property
    @pulumi.getter
    def recipients(self) -> Optional[pulumi.Input[str]]:
        """
        Comma delimited list of email addresses.
        """
        return pulumi.get(self, "recipients")

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

    @property
    @pulumi.getter
    def region(self) -> Optional[pulumi.Input[str]]:
        """
        The data center region to store your data.  Valid values are `US` and `EU`.  Default is `US`.
        """
        return pulumi.get(self, "region")

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

    @property
    @pulumi.getter(name="routeKey")
    def route_key(self) -> Optional[pulumi.Input[str]]:
        """
        The route key for integrating with VictorOps.
        """
        return pulumi.get(self, "route_key")

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

    @property
    @pulumi.getter(name="serviceKey")
    def service_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specifies the service key for integrating with Pagerduty.
        """
        return pulumi.get(self, "service_key")

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

    @property
    @pulumi.getter
    def tags(self) -> Optional[pulumi.Input[str]]:
        """
        A set of tags for targeting notifications. Multiple values are comma separated.
        """
        return pulumi.get(self, "tags")

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

    @property
    @pulumi.getter
    def teams(self) -> Optional[pulumi.Input[str]]:
        """
        A set of teams for targeting notifications. Multiple values are comma separated.
        """
        return pulumi.get(self, "teams")

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

    @property
    @pulumi.getter
    def url(self) -> Optional[pulumi.Input[str]]:
        """
        [Slack Webhook URL](https://slack.com/intl/en-es/help/articles/115005265063-Incoming-webhooks-for-Slack).
        """
        return pulumi.get(self, "url")

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

    @property
    @pulumi.getter(name="userId")
    def user_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "user_id")

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


@pulumi.input_type
class AlertConditionTermArgs:
    def __init__(__self__, *,
                 duration: pulumi.Input[int],
                 threshold: pulumi.Input[float],
                 time_function: pulumi.Input[str],
                 operator: Optional[pulumi.Input[str]] = None,
                 priority: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "duration", duration)
        pulumi.set(__self__, "threshold", threshold)
        pulumi.set(__self__, "time_function", time_function)
        if operator is not None:
            pulumi.set(__self__, "operator", operator)
        if priority is not None:
            pulumi.set(__self__, "priority", priority)

    @property
    @pulumi.getter
    def duration(self) -> pulumi.Input[int]:
        return pulumi.get(self, "duration")

    @duration.setter
    def duration(self, value: pulumi.Input[int]):
        pulumi.set(self, "duration", value)

    @property
    @pulumi.getter
    def threshold(self) -> pulumi.Input[float]:
        return pulumi.get(self, "threshold")

    @threshold.setter
    def threshold(self, value: pulumi.Input[float]):
        pulumi.set(self, "threshold", value)

    @property
    @pulumi.getter(name="timeFunction")
    def time_function(self) -> pulumi.Input[str]:
        return pulumi.get(self, "time_function")

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

    @property
    @pulumi.getter
    def operator(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "operator")

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

    @property
    @pulumi.getter
    def priority(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "priority")

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


@pulumi.input_type
class AlertMutingRuleConditionArgs:
    def __init__(__self__, *,
                 conditions: pulumi.Input[Sequence[pulumi.Input['AlertMutingRuleConditionConditionArgs']]],
                 operator: pulumi.Input[str]):
        """
        :param pulumi.Input[Sequence[pulumi.Input['AlertMutingRuleConditionConditionArgs']]] conditions: The individual MutingRuleConditions within the group. See Nested conditions blocks below for details.
        :param pulumi.Input[str] operator: The operator used to combine all the MutingRuleConditions within the group. Valid values are `AND`, `OR`.
        """
        pulumi.set(__self__, "conditions", conditions)
        pulumi.set(__self__, "operator", operator)

    @property
    @pulumi.getter
    def conditions(self) -> pulumi.Input[Sequence[pulumi.Input['AlertMutingRuleConditionConditionArgs']]]:
        """
        The individual MutingRuleConditions within the group. See Nested conditions blocks below for details.
        """
        return pulumi.get(self, "conditions")

    @conditions.setter
    def conditions(self, value: pulumi.Input[Sequence[pulumi.Input['AlertMutingRuleConditionConditionArgs']]]):
        pulumi.set(self, "conditions", value)

    @property
    @pulumi.getter
    def operator(self) -> pulumi.Input[str]:
        """
        The operator used to combine all the MutingRuleConditions within the group. Valid values are `AND`, `OR`.
        """
        return pulumi.get(self, "operator")

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


@pulumi.input_type
class AlertMutingRuleConditionConditionArgs:
    def __init__(__self__, *,
                 attribute: pulumi.Input[str],
                 operator: pulumi.Input[str],
                 values: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[str] attribute: The attribute on an incident. Valid values are   `accountId`, `conditionId`, `conditionName`, `conditionRunbookUrl`, `conditionType`, `entity.guid`, `nrqlEventType`, `nrqlQuery`, `policyId`, `policyName`, `product`, `tags.<NAME>`, `targetId`, `targetName`
        :param pulumi.Input[str] operator: The operator used to combine all the MutingRuleConditions within the group. Valid values are `AND`, `OR`.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] values: The value(s) to compare against the attribute's value.
        """
        pulumi.set(__self__, "attribute", attribute)
        pulumi.set(__self__, "operator", operator)
        pulumi.set(__self__, "values", values)

    @property
    @pulumi.getter
    def attribute(self) -> pulumi.Input[str]:
        """
        The attribute on an incident. Valid values are   `accountId`, `conditionId`, `conditionName`, `conditionRunbookUrl`, `conditionType`, `entity.guid`, `nrqlEventType`, `nrqlQuery`, `policyId`, `policyName`, `product`, `tags.<NAME>`, `targetId`, `targetName`
        """
        return pulumi.get(self, "attribute")

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

    @property
    @pulumi.getter
    def operator(self) -> pulumi.Input[str]:
        """
        The operator used to combine all the MutingRuleConditions within the group. Valid values are `AND`, `OR`.
        """
        return pulumi.get(self, "operator")

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

    @property
    @pulumi.getter
    def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The value(s) to compare against the attribute's value.
        """
        return pulumi.get(self, "values")

    @values.setter
    def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
        pulumi.set(self, "values", value)


@pulumi.input_type
class AlertMutingRuleScheduleArgs:
    def __init__(__self__, *,
                 time_zone: pulumi.Input[str],
                 end_repeat: Optional[pulumi.Input[str]] = None,
                 end_time: Optional[pulumi.Input[str]] = None,
                 repeat: Optional[pulumi.Input[str]] = None,
                 repeat_count: Optional[pulumi.Input[int]] = None,
                 start_time: Optional[pulumi.Input[str]] = None,
                 weekly_repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[str] end_repeat: The datetime stamp when the muting rule schedule stops repeating. This is in local ISO 8601 format without an offset. Example: '2020-07-10T15:00:00'. Conflicts with `repeat_count`
        :param pulumi.Input[str] end_time: The datetime stamp that represents when the muting rule ends. This is in local ISO 8601 format without an offset. Example: '2020-07-15T14:30:00'
        :param pulumi.Input[str] repeat: The frequency the muting rule schedule repeats. If it does not repeat, omit this field. Options are DAILY, WEEKLY, MONTHLY
        :param pulumi.Input[int] repeat_count: The number of times the muting rule schedule repeats. This includes the original schedule. For example, a repeatCount of 2 will recur one time. Conflicts with `end_repeat`
        :param pulumi.Input[str] start_time: The datetime stamp that represents when the muting rule starts. This is in local ISO 8601 format without an offset. Example: '2020-07-08T14:30:00'
        :param pulumi.Input[Sequence[pulumi.Input[str]]] weekly_repeat_days: The day(s) of the week that a muting rule should repeat when the repeat field is set to 'WEEKLY'. Example: ['MONDAY', 'WEDNESDAY']
        """
        pulumi.set(__self__, "time_zone", time_zone)
        if end_repeat is not None:
            pulumi.set(__self__, "end_repeat", end_repeat)
        if end_time is not None:
            pulumi.set(__self__, "end_time", end_time)
        if repeat is not None:
            pulumi.set(__self__, "repeat", repeat)
        if repeat_count is not None:
            pulumi.set(__self__, "repeat_count", repeat_count)
        if start_time is not None:
            pulumi.set(__self__, "start_time", start_time)
        if weekly_repeat_days is not None:
            pulumi.set(__self__, "weekly_repeat_days", weekly_repeat_days)

    @property
    @pulumi.getter(name="timeZone")
    def time_zone(self) -> pulumi.Input[str]:
        return pulumi.get(self, "time_zone")

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

    @property
    @pulumi.getter(name="endRepeat")
    def end_repeat(self) -> Optional[pulumi.Input[str]]:
        """
        The datetime stamp when the muting rule schedule stops repeating. This is in local ISO 8601 format without an offset. Example: '2020-07-10T15:00:00'. Conflicts with `repeat_count`
        """
        return pulumi.get(self, "end_repeat")

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

    @property
    @pulumi.getter(name="endTime")
    def end_time(self) -> Optional[pulumi.Input[str]]:
        """
        The datetime stamp that represents when the muting rule ends. This is in local ISO 8601 format without an offset. Example: '2020-07-15T14:30:00'
        """
        return pulumi.get(self, "end_time")

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

    @property
    @pulumi.getter
    def repeat(self) -> Optional[pulumi.Input[str]]:
        """
        The frequency the muting rule schedule repeats. If it does not repeat, omit this field. Options are DAILY, WEEKLY, MONTHLY
        """
        return pulumi.get(self, "repeat")

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

    @property
    @pulumi.getter(name="repeatCount")
    def repeat_count(self) -> Optional[pulumi.Input[int]]:
        """
        The number of times the muting rule schedule repeats. This includes the original schedule. For example, a repeatCount of 2 will recur one time. Conflicts with `end_repeat`
        """
        return pulumi.get(self, "repeat_count")

    @repeat_count.setter
    def repeat_count(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "repeat_count", value)

    @property
    @pulumi.getter(name="startTime")
    def start_time(self) -> Optional[pulumi.Input[str]]:
        """
        The datetime stamp that represents when the muting rule starts. This is in local ISO 8601 format without an offset. Example: '2020-07-08T14:30:00'
        """
        return pulumi.get(self, "start_time")

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

    @property
    @pulumi.getter(name="weeklyRepeatDays")
    def weekly_repeat_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        The day(s) of the week that a muting rule should repeat when the repeat field is set to 'WEEKLY'. Example: ['MONDAY', 'WEDNESDAY']
        """
        return pulumi.get(self, "weekly_repeat_days")

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


@pulumi.input_type
class EntityTagsTagArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 values: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[str] key: The tag key.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] values: The tag values.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "values", values)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        The tag key.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The tag values.
        """
        return pulumi.get(self, "values")

    @values.setter
    def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
        pulumi.set(self, "values", value)


@pulumi.input_type
class InfraAlertConditionCriticalArgs:
    def __init__(__self__, *,
                 duration: pulumi.Input[int],
                 time_function: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[float]] = None):
        pulumi.set(__self__, "duration", duration)
        if time_function is not None:
            pulumi.set(__self__, "time_function", time_function)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def duration(self) -> pulumi.Input[int]:
        return pulumi.get(self, "duration")

    @duration.setter
    def duration(self, value: pulumi.Input[int]):
        pulumi.set(self, "duration", value)

    @property
    @pulumi.getter(name="timeFunction")
    def time_function(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "time_function")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class InfraAlertConditionWarningArgs:
    def __init__(__self__, *,
                 duration: pulumi.Input[int],
                 time_function: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[float]] = None):
        pulumi.set(__self__, "duration", duration)
        if time_function is not None:
            pulumi.set(__self__, "time_function", time_function)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def duration(self) -> pulumi.Input[int]:
        return pulumi.get(self, "duration")

    @duration.setter
    def duration(self, value: pulumi.Input[int]):
        pulumi.set(self, "duration", value)

    @property
    @pulumi.getter(name="timeFunction")
    def time_function(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "time_function")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class NotificationChannelPropertyArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 display_value: Optional[pulumi.Input[str]] = None,
                 label: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: The notification property key.
        :param pulumi.Input[str] value: The notification property value.
        :param pulumi.Input[str] display_value: The notification property display value.
        :param pulumi.Input[str] label: The notification property label.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if display_value is not None:
            pulumi.set(__self__, "display_value", display_value)
        if label is not None:
            pulumi.set(__self__, "label", label)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        The notification property key.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        The notification property value.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter(name="displayValue")
    def display_value(self) -> Optional[pulumi.Input[str]]:
        """
        The notification property display value.
        """
        return pulumi.get(self, "display_value")

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

    @property
    @pulumi.getter
    def label(self) -> Optional[pulumi.Input[str]]:
        """
        The notification property label.
        """
        return pulumi.get(self, "label")

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


@pulumi.input_type
class NotificationDestinationAuthBasicArgs:
    def __init__(__self__, *,
                 password: pulumi.Input[str],
                 user: pulumi.Input[str]):
        """
        :param pulumi.Input[str] password: Specifies an authentication password for use with a destination.
        :param pulumi.Input[str] user: The username of the basic auth.
        """
        pulumi.set(__self__, "password", password)
        pulumi.set(__self__, "user", user)

    @property
    @pulumi.getter
    def password(self) -> pulumi.Input[str]:
        """
        Specifies an authentication password for use with a destination.
        """
        return pulumi.get(self, "password")

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

    @property
    @pulumi.getter
    def user(self) -> pulumi.Input[str]:
        """
        The username of the basic auth.
        """
        return pulumi.get(self, "user")

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


@pulumi.input_type
class NotificationDestinationAuthTokenArgs:
    def __init__(__self__, *,
                 token: pulumi.Input[str],
                 prefix: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] token: Specifies the token for integrating.
        :param pulumi.Input[str] prefix: The prefix of the token auth.
        """
        pulumi.set(__self__, "token", token)
        if prefix is not None:
            pulumi.set(__self__, "prefix", prefix)

    @property
    @pulumi.getter
    def token(self) -> pulumi.Input[str]:
        """
        Specifies the token for integrating.
        """
        return pulumi.get(self, "token")

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

    @property
    @pulumi.getter
    def prefix(self) -> Optional[pulumi.Input[str]]:
        """
        The prefix of the token auth.
        """
        return pulumi.get(self, "prefix")

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


@pulumi.input_type
class NotificationDestinationPropertyArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str],
                 display_value: Optional[pulumi.Input[str]] = None,
                 label: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: The notification property key.
        :param pulumi.Input[str] value: The notification property value.
        :param pulumi.Input[str] display_value: The notification property display value.
        :param pulumi.Input[str] label: The notification property label.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)
        if display_value is not None:
            pulumi.set(__self__, "display_value", display_value)
        if label is not None:
            pulumi.set(__self__, "label", label)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        """
        The notification property key.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        The notification property value.
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter(name="displayValue")
    def display_value(self) -> Optional[pulumi.Input[str]]:
        """
        The notification property display value.
        """
        return pulumi.get(self, "display_value")

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

    @property
    @pulumi.getter
    def label(self) -> Optional[pulumi.Input[str]]:
        """
        The notification property label.
        """
        return pulumi.get(self, "label")

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


@pulumi.input_type
class NrqlAlertConditionCriticalArgs:
    def __init__(__self__, *,
                 threshold: pulumi.Input[float],
                 duration: Optional[pulumi.Input[int]] = None,
                 operator: Optional[pulumi.Input[str]] = None,
                 threshold_duration: Optional[pulumi.Input[int]] = None,
                 threshold_occurrences: Optional[pulumi.Input[str]] = None,
                 time_function: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "threshold", threshold)
        if duration is not None:
            warnings.warn("""use `threshold_duration` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""duration is deprecated: use `threshold_duration` attribute instead""")
        if duration is not None:
            pulumi.set(__self__, "duration", duration)
        if operator is not None:
            pulumi.set(__self__, "operator", operator)
        if threshold_duration is not None:
            pulumi.set(__self__, "threshold_duration", threshold_duration)
        if threshold_occurrences is not None:
            pulumi.set(__self__, "threshold_occurrences", threshold_occurrences)
        if time_function is not None:
            warnings.warn("""use `threshold_occurrences` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""time_function is deprecated: use `threshold_occurrences` attribute instead""")
        if time_function is not None:
            pulumi.set(__self__, "time_function", time_function)

    @property
    @pulumi.getter
    def threshold(self) -> pulumi.Input[float]:
        return pulumi.get(self, "threshold")

    @threshold.setter
    def threshold(self, value: pulumi.Input[float]):
        pulumi.set(self, "threshold", value)

    @property
    @pulumi.getter
    def duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "duration")

    @duration.setter
    def duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "duration", value)

    @property
    @pulumi.getter
    def operator(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "operator")

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

    @property
    @pulumi.getter(name="thresholdDuration")
    def threshold_duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "threshold_duration")

    @threshold_duration.setter
    def threshold_duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "threshold_duration", value)

    @property
    @pulumi.getter(name="thresholdOccurrences")
    def threshold_occurrences(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "threshold_occurrences")

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

    @property
    @pulumi.getter(name="timeFunction")
    def time_function(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "time_function")

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


@pulumi.input_type
class NrqlAlertConditionNrqlArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 evaluation_offset: Optional[pulumi.Input[int]] = None,
                 since_value: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "query", query)
        if evaluation_offset is not None:
            warnings.warn("""use `aggregation_method` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""evaluation_offset is deprecated: use `aggregation_method` attribute instead""")
        if evaluation_offset is not None:
            pulumi.set(__self__, "evaluation_offset", evaluation_offset)
        if since_value is not None:
            warnings.warn("""use `aggregation_method` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""since_value is deprecated: use `aggregation_method` attribute instead""")
        if since_value is not None:
            pulumi.set(__self__, "since_value", since_value)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="evaluationOffset")
    def evaluation_offset(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "evaluation_offset")

    @evaluation_offset.setter
    def evaluation_offset(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "evaluation_offset", value)

    @property
    @pulumi.getter(name="sinceValue")
    def since_value(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "since_value")

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


@pulumi.input_type
class NrqlAlertConditionTermArgs:
    def __init__(__self__, *,
                 threshold: pulumi.Input[float],
                 duration: Optional[pulumi.Input[int]] = None,
                 operator: Optional[pulumi.Input[str]] = None,
                 priority: Optional[pulumi.Input[str]] = None,
                 threshold_duration: Optional[pulumi.Input[int]] = None,
                 threshold_occurrences: Optional[pulumi.Input[str]] = None,
                 time_function: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "threshold", threshold)
        if duration is not None:
            warnings.warn("""use `threshold_duration` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""duration is deprecated: use `threshold_duration` attribute instead""")
        if duration is not None:
            pulumi.set(__self__, "duration", duration)
        if operator is not None:
            pulumi.set(__self__, "operator", operator)
        if priority is not None:
            pulumi.set(__self__, "priority", priority)
        if threshold_duration is not None:
            pulumi.set(__self__, "threshold_duration", threshold_duration)
        if threshold_occurrences is not None:
            pulumi.set(__self__, "threshold_occurrences", threshold_occurrences)
        if time_function is not None:
            warnings.warn("""use `threshold_occurrences` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""time_function is deprecated: use `threshold_occurrences` attribute instead""")
        if time_function is not None:
            pulumi.set(__self__, "time_function", time_function)

    @property
    @pulumi.getter
    def threshold(self) -> pulumi.Input[float]:
        return pulumi.get(self, "threshold")

    @threshold.setter
    def threshold(self, value: pulumi.Input[float]):
        pulumi.set(self, "threshold", value)

    @property
    @pulumi.getter
    def duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "duration")

    @duration.setter
    def duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "duration", value)

    @property
    @pulumi.getter
    def operator(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "operator")

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

    @property
    @pulumi.getter
    def priority(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "priority")

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

    @property
    @pulumi.getter(name="thresholdDuration")
    def threshold_duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "threshold_duration")

    @threshold_duration.setter
    def threshold_duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "threshold_duration", value)

    @property
    @pulumi.getter(name="thresholdOccurrences")
    def threshold_occurrences(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "threshold_occurrences")

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

    @property
    @pulumi.getter(name="timeFunction")
    def time_function(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "time_function")

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


@pulumi.input_type
class NrqlAlertConditionWarningArgs:
    def __init__(__self__, *,
                 threshold: pulumi.Input[float],
                 duration: Optional[pulumi.Input[int]] = None,
                 operator: Optional[pulumi.Input[str]] = None,
                 threshold_duration: Optional[pulumi.Input[int]] = None,
                 threshold_occurrences: Optional[pulumi.Input[str]] = None,
                 time_function: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "threshold", threshold)
        if duration is not None:
            warnings.warn("""use `threshold_duration` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""duration is deprecated: use `threshold_duration` attribute instead""")
        if duration is not None:
            pulumi.set(__self__, "duration", duration)
        if operator is not None:
            pulumi.set(__self__, "operator", operator)
        if threshold_duration is not None:
            pulumi.set(__self__, "threshold_duration", threshold_duration)
        if threshold_occurrences is not None:
            pulumi.set(__self__, "threshold_occurrences", threshold_occurrences)
        if time_function is not None:
            warnings.warn("""use `threshold_occurrences` attribute instead""", DeprecationWarning)
            pulumi.log.warn("""time_function is deprecated: use `threshold_occurrences` attribute instead""")
        if time_function is not None:
            pulumi.set(__self__, "time_function", time_function)

    @property
    @pulumi.getter
    def threshold(self) -> pulumi.Input[float]:
        return pulumi.get(self, "threshold")

    @threshold.setter
    def threshold(self, value: pulumi.Input[float]):
        pulumi.set(self, "threshold", value)

    @property
    @pulumi.getter
    def duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "duration")

    @duration.setter
    def duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "duration", value)

    @property
    @pulumi.getter
    def operator(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "operator")

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

    @property
    @pulumi.getter(name="thresholdDuration")
    def threshold_duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "threshold_duration")

    @threshold_duration.setter
    def threshold_duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "threshold_duration", value)

    @property
    @pulumi.getter(name="thresholdOccurrences")
    def threshold_occurrences(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "threshold_occurrences")

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

    @property
    @pulumi.getter(name="timeFunction")
    def time_function(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "time_function")

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


@pulumi.input_type
class ObfuscationRuleActionArgs:
    def __init__(__self__, *,
                 attributes: pulumi.Input[Sequence[pulumi.Input[str]]],
                 expression_id: pulumi.Input[str],
                 method: pulumi.Input[str]):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] attributes: Attribute names for action. An empty list applies the action to all the attributes.
        :param pulumi.Input[str] expression_id: Expression Id for action.
        :param pulumi.Input[str] method: Obfuscation method to use. Methods for replacing obfuscated values are `HASH_SHA256` and `MASK`.
        """
        pulumi.set(__self__, "attributes", attributes)
        pulumi.set(__self__, "expression_id", expression_id)
        pulumi.set(__self__, "method", method)

    @property
    @pulumi.getter
    def attributes(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        Attribute names for action. An empty list applies the action to all the attributes.
        """
        return pulumi.get(self, "attributes")

    @attributes.setter
    def attributes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
        pulumi.set(self, "attributes", value)

    @property
    @pulumi.getter(name="expressionId")
    def expression_id(self) -> pulumi.Input[str]:
        """
        Expression Id for action.
        """
        return pulumi.get(self, "expression_id")

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

    @property
    @pulumi.getter
    def method(self) -> pulumi.Input[str]:
        """
        Obfuscation method to use. Methods for replacing obfuscated values are `HASH_SHA256` and `MASK`.
        """
        return pulumi.get(self, "method")

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


@pulumi.input_type
class OneDashboardPageArgs:
    def __init__(__self__, *,
                 name: pulumi.Input[str],
                 description: Optional[pulumi.Input[str]] = None,
                 guid: Optional[pulumi.Input[str]] = None,
                 widget_areas: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaArgs']]]] = None,
                 widget_bars: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarArgs']]]] = None,
                 widget_billboards: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardArgs']]]] = None,
                 widget_bullets: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletArgs']]]] = None,
                 widget_funnels: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelArgs']]]] = None,
                 widget_heatmaps: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapArgs']]]] = None,
                 widget_histograms: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramArgs']]]] = None,
                 widget_jsons: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonArgs']]]] = None,
                 widget_lines: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineArgs']]]] = None,
                 widget_log_tables: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableArgs']]]] = None,
                 widget_markdowns: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownArgs']]]] = None,
                 widget_pies: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyArgs']]]] = None,
                 widget_stacked_bars: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarArgs']]]] = None,
                 widget_tables: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableArgs']]]] = None):
        """
        :param pulumi.Input[str] name: The title of the dashboard.
        :param pulumi.Input[str] description: Brief text describing the dashboard.
        :param pulumi.Input[str] guid: The unique entity identifier of the dashboard page in New Relic.
        """
        pulumi.set(__self__, "name", name)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if guid is not None:
            pulumi.set(__self__, "guid", guid)
        if widget_areas is not None:
            pulumi.set(__self__, "widget_areas", widget_areas)
        if widget_bars is not None:
            pulumi.set(__self__, "widget_bars", widget_bars)
        if widget_billboards is not None:
            pulumi.set(__self__, "widget_billboards", widget_billboards)
        if widget_bullets is not None:
            pulumi.set(__self__, "widget_bullets", widget_bullets)
        if widget_funnels is not None:
            pulumi.set(__self__, "widget_funnels", widget_funnels)
        if widget_heatmaps is not None:
            pulumi.set(__self__, "widget_heatmaps", widget_heatmaps)
        if widget_histograms is not None:
            pulumi.set(__self__, "widget_histograms", widget_histograms)
        if widget_jsons is not None:
            pulumi.set(__self__, "widget_jsons", widget_jsons)
        if widget_lines is not None:
            pulumi.set(__self__, "widget_lines", widget_lines)
        if widget_log_tables is not None:
            pulumi.set(__self__, "widget_log_tables", widget_log_tables)
        if widget_markdowns is not None:
            pulumi.set(__self__, "widget_markdowns", widget_markdowns)
        if widget_pies is not None:
            pulumi.set(__self__, "widget_pies", widget_pies)
        if widget_stacked_bars is not None:
            pulumi.set(__self__, "widget_stacked_bars", widget_stacked_bars)
        if widget_tables is not None:
            pulumi.set(__self__, "widget_tables", widget_tables)

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

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

    @property
    @pulumi.getter
    def description(self) -> Optional[pulumi.Input[str]]:
        """
        Brief text describing the dashboard.
        """
        return pulumi.get(self, "description")

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

    @property
    @pulumi.getter
    def guid(self) -> Optional[pulumi.Input[str]]:
        """
        The unique entity identifier of the dashboard page in New Relic.
        """
        return pulumi.get(self, "guid")

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

    @property
    @pulumi.getter(name="widgetAreas")
    def widget_areas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaArgs']]]]:
        return pulumi.get(self, "widget_areas")

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

    @property
    @pulumi.getter(name="widgetBars")
    def widget_bars(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarArgs']]]]:
        return pulumi.get(self, "widget_bars")

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

    @property
    @pulumi.getter(name="widgetBillboards")
    def widget_billboards(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardArgs']]]]:
        return pulumi.get(self, "widget_billboards")

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

    @property
    @pulumi.getter(name="widgetBullets")
    def widget_bullets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletArgs']]]]:
        return pulumi.get(self, "widget_bullets")

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

    @property
    @pulumi.getter(name="widgetFunnels")
    def widget_funnels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelArgs']]]]:
        return pulumi.get(self, "widget_funnels")

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

    @property
    @pulumi.getter(name="widgetHeatmaps")
    def widget_heatmaps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapArgs']]]]:
        return pulumi.get(self, "widget_heatmaps")

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

    @property
    @pulumi.getter(name="widgetHistograms")
    def widget_histograms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramArgs']]]]:
        return pulumi.get(self, "widget_histograms")

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

    @property
    @pulumi.getter(name="widgetJsons")
    def widget_jsons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonArgs']]]]:
        return pulumi.get(self, "widget_jsons")

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

    @property
    @pulumi.getter(name="widgetLines")
    def widget_lines(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineArgs']]]]:
        return pulumi.get(self, "widget_lines")

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

    @property
    @pulumi.getter(name="widgetLogTables")
    def widget_log_tables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableArgs']]]]:
        return pulumi.get(self, "widget_log_tables")

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

    @property
    @pulumi.getter(name="widgetMarkdowns")
    def widget_markdowns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownArgs']]]]:
        return pulumi.get(self, "widget_markdowns")

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

    @property
    @pulumi.getter(name="widgetPies")
    def widget_pies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyArgs']]]]:
        return pulumi.get(self, "widget_pies")

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

    @property
    @pulumi.getter(name="widgetStackedBars")
    def widget_stacked_bars(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarArgs']]]]:
        return pulumi.get(self, "widget_stacked_bars")

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

    @property
    @pulumi.getter(name="widgetTables")
    def widget_tables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableArgs']]]]:
        return pulumi.get(self, "widget_tables")

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


@pulumi.input_type
class OneDashboardPageWidgetAreaArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetAreaColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetAreaColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetAreaNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetAreaNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetAreaNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetAreaUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetAreaUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetAreaUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetBarArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 filter_current_dashboard: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 linked_entity_guids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[bool] filter_current_dashboard: (Optional) Use this item to filter the current dashboard.
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] linked_entity_guids: (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if filter_current_dashboard is not None:
            pulumi.set(__self__, "filter_current_dashboard", filter_current_dashboard)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if linked_entity_guids is not None:
            pulumi.set(__self__, "linked_entity_guids", linked_entity_guids)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter(name="filterCurrentDashboard")
    def filter_current_dashboard(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Use this item to filter the current dashboard.
        """
        return pulumi.get(self, "filter_current_dashboard")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="linkedEntityGuids")
    def linked_entity_guids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        """
        return pulumi.get(self, "linked_entity_guids")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetBarColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetBarColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetBarNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetBarNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetBarNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetBarUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBarUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetBarUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetBillboardArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardColorArgs']]]] = None,
                 critical: Optional[pulumi.Input[str]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardUnitArgs']]]] = None,
                 warning: Optional[pulumi.Input[str]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[str] critical: (Optional) Threshold above which the displayed value will be styled with a red color.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[str] warning: (Optional) Threshold above which the displayed value will be styled with a yellow color.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if critical is not None:
            pulumi.set(__self__, "critical", critical)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if warning is not None:
            pulumi.set(__self__, "warning", warning)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter
    def critical(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Threshold above which the displayed value will be styled with a red color.
        """
        return pulumi.get(self, "critical")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def warning(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Threshold above which the displayed value will be styled with a yellow color.
        """
        return pulumi.get(self, "warning")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetBillboardColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetBillboardColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetBillboardNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetBillboardNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetBillboardNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetBillboardUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBillboardUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetBillboardUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetBulletArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 limit: pulumi.Input[float],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[float] limit: (Required) Visualization limit for the widget.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "limit", limit)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter
    def limit(self) -> pulumi.Input[float]:
        """
        (Required) Visualization limit for the widget.
        """
        return pulumi.get(self, "limit")

    @limit.setter
    def limit(self, value: pulumi.Input[float]):
        pulumi.set(self, "limit", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetBulletColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetBulletColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetBulletNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetBulletNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetBulletNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetBulletUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetBulletUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetBulletUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetFunnelArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetFunnelColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetFunnelColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetFunnelNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetFunnelNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetFunnelNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetFunnelUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetFunnelUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetFunnelUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetHeatmapArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 filter_current_dashboard: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 linked_entity_guids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[bool] filter_current_dashboard: (Optional) Use this item to filter the current dashboard.
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] linked_entity_guids: (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if filter_current_dashboard is not None:
            pulumi.set(__self__, "filter_current_dashboard", filter_current_dashboard)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if linked_entity_guids is not None:
            pulumi.set(__self__, "linked_entity_guids", linked_entity_guids)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter(name="filterCurrentDashboard")
    def filter_current_dashboard(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Use this item to filter the current dashboard.
        """
        return pulumi.get(self, "filter_current_dashboard")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="linkedEntityGuids")
    def linked_entity_guids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        """
        return pulumi.get(self, "linked_entity_guids")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetHeatmapColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetHeatmapColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetHeatmapNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetHeatmapNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetHeatmapNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetHeatmapUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHeatmapUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetHeatmapUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetHistogramArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetHistogramColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetHistogramColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetHistogramNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetHistogramNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetHistogramNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetHistogramUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetHistogramUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetHistogramUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetJsonArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetJsonColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetJsonColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetJsonNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetJsonNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetJsonNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetJsonUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetJsonUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetJsonUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetLineArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetLineColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetLineColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetLineNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetLineNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetLineNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetLineUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLineUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetLineUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetLogTableArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetLogTableColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetLogTableColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetLogTableNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetLogTableNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetLogTableNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetLogTableUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetLogTableUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetLogTableUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetMarkdownArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownNullValueArgs']]]] = None,
                 text: Optional[pulumi.Input[str]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[str] text: (Required) The markdown source to be rendered in the widget.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if text is not None:
            pulumi.set(__self__, "text", text)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def text(self) -> Optional[pulumi.Input[str]]:
        """
        (Required) The markdown source to be rendered in the widget.
        """
        return pulumi.get(self, "text")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetMarkdownColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetMarkdownColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetMarkdownNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetMarkdownNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetMarkdownUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetMarkdownUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetMarkdownUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetPyArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 filter_current_dashboard: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 linked_entity_guids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[bool] filter_current_dashboard: (Optional) Use this item to filter the current dashboard.
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] linked_entity_guids: (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if filter_current_dashboard is not None:
            pulumi.set(__self__, "filter_current_dashboard", filter_current_dashboard)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if linked_entity_guids is not None:
            pulumi.set(__self__, "linked_entity_guids", linked_entity_guids)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter(name="filterCurrentDashboard")
    def filter_current_dashboard(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Use this item to filter the current dashboard.
        """
        return pulumi.get(self, "filter_current_dashboard")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="linkedEntityGuids")
    def linked_entity_guids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        """
        return pulumi.get(self, "linked_entity_guids")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetPyColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetPyColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetPyNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetPyNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetPyNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetPyUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetPyUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetPyUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetStackedBarArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetStackedBarColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetStackedBarColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetStackedBarNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetStackedBarNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetStackedBarNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetStackedBarUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetStackedBarUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetStackedBarUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetTableArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 nrql_queries: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNrqlQueryArgs']]],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 colors: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableColorArgs']]]] = None,
                 facet_show_other_series: Optional[pulumi.Input[bool]] = None,
                 filter_current_dashboard: Optional[pulumi.Input[bool]] = None,
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ignore_time_range: Optional[pulumi.Input[bool]] = None,
                 legend_enabled: Optional[pulumi.Input[bool]] = None,
                 linked_entity_guids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 null_values: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNullValueArgs']]]] = None,
                 units: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableUnitArgs']]]] = None,
                 width: Optional[pulumi.Input[int]] = None,
                 y_axis_left_max: Optional[pulumi.Input[float]] = None,
                 y_axis_left_min: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNrqlQueryArgs']]] nrql_queries: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableColorArgs']]] colors: (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        :param pulumi.Input[bool] facet_show_other_series: (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        :param pulumi.Input[bool] filter_current_dashboard: (Optional) Use this item to filter the current dashboard.
        :param pulumi.Input[int] height: (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        :param pulumi.Input[bool] ignore_time_range: (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        :param pulumi.Input[bool] legend_enabled: (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] linked_entity_guids: (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNullValueArgs']]] null_values: (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableUnitArgs']]] units: (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        :param pulumi.Input[int] width: (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        :param pulumi.Input[float] y_axis_left_min: , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "nrql_queries", nrql_queries)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        if colors is not None:
            pulumi.set(__self__, "colors", colors)
        if facet_show_other_series is not None:
            pulumi.set(__self__, "facet_show_other_series", facet_show_other_series)
        if filter_current_dashboard is not None:
            pulumi.set(__self__, "filter_current_dashboard", filter_current_dashboard)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ignore_time_range is not None:
            pulumi.set(__self__, "ignore_time_range", ignore_time_range)
        if legend_enabled is not None:
            pulumi.set(__self__, "legend_enabled", legend_enabled)
        if linked_entity_guids is not None:
            pulumi.set(__self__, "linked_entity_guids", linked_entity_guids)
        if null_values is not None:
            pulumi.set(__self__, "null_values", null_values)
        if units is not None:
            pulumi.set(__self__, "units", units)
        if width is not None:
            pulumi.set(__self__, "width", width)
        if y_axis_left_max is not None:
            pulumi.set(__self__, "y_axis_left_max", y_axis_left_max)
        if y_axis_left_min is not None:
            pulumi.set(__self__, "y_axis_left_min", y_axis_left_min)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter(name="nrqlQueries")
    def nrql_queries(self) -> pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNrqlQueryArgs']]]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_queries")

    @nrql_queries.setter
    def nrql_queries(self, value: pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNrqlQueryArgs']]]):
        pulumi.set(self, "nrql_queries", value)

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def colors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableColorArgs']]]]:
        """
        (Optional) A nested block that describes colors of your charts per series. See Nested Colors blocks below for details.
        """
        return pulumi.get(self, "colors")

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

    @property
    @pulumi.getter(name="facetShowOtherSeries")
    def facet_show_other_series(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Enable or disable the Other group in visualisations. The other group is used if a facet on a query returns more than 2000 items for bar charts, pie charts, and tables. The other group aggregates the rest of the facets. Defaults to `false`
        """
        return pulumi.get(self, "facet_show_other_series")

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

    @property
    @pulumi.getter(name="filterCurrentDashboard")
    def filter_current_dashboard(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Use this item to filter the current dashboard.
        """
        return pulumi.get(self, "filter_current_dashboard")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="ignoreTimeRange")
    def ignore_time_range(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the time range in this query will override the time picker on dashboards and other pages. Defaults to `false`.
        """
        return pulumi.get(self, "ignore_time_range")

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

    @property
    @pulumi.getter(name="legendEnabled")
    def legend_enabled(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) With this turned on, the legend will be displayed. Defaults to `true`.
        """
        return pulumi.get(self, "legend_enabled")

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

    @property
    @pulumi.getter(name="linkedEntityGuids")
    def linked_entity_guids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        (Optional) Related entity GUIDs. Currently only supports Dashboard entity GUIDs.
        """
        return pulumi.get(self, "linked_entity_guids")

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

    @property
    @pulumi.getter(name="nullValues")
    def null_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNullValueArgs']]]]:
        """
        (Optional) A nested block that describes a Null Values. See Nested Null Values blocks below for details.
        """
        return pulumi.get(self, "null_values")

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

    @property
    @pulumi.getter
    def units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableUnitArgs']]]]:
        """
        (Optional) A nested block that describes units on your Y axis. See Nested Units blocks below for details.
        """
        return pulumi.get(self, "units")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget.  Valid values are `1` to `12` inclusive.  Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)

    @property
    @pulumi.getter(name="yAxisLeftMax")
    def y_axis_left_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "y_axis_left_max")

    @y_axis_left_max.setter
    def y_axis_left_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_max", value)

    @property
    @pulumi.getter(name="yAxisLeftMin")
    def y_axis_left_min(self) -> Optional[pulumi.Input[float]]:
        """
        , `y_axis_left_max` - (Optional) Adjust the Y axis to display the data within certain values by setting a minimum and maximum value for the axis for line charts and area charts. If no customization option is selected, dashboards automatically displays the full Y axis from 0 to the top value plus a margin.
        """
        return pulumi.get(self, "y_axis_left_min")

    @y_axis_left_min.setter
    def y_axis_left_min(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "y_axis_left_min", value)


@pulumi.input_type
class OneDashboardPageWidgetTableColorArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableColorSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableColorSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableColorSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetTableColorSeriesOverrideArgs:
    def __init__(__self__, *,
                 color: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] color: (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        if color is not None:
            pulumi.set(__self__, "color", color)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter
    def color(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a color to customize the color of your charts per series in area, bar, line, pie, and stacked bar charts. Accepted values are RGB, HEX, or HSL code.
        """
        return pulumi.get(self, "color")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetTableNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        :param pulumi.Input[int] account_id: Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        pulumi.set(__self__, "query", query)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account where the dashboard will be created. Defaults to the account associated with the API key used.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)


@pulumi.input_type
class OneDashboardPageWidgetTableNullValueArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNullValueSeriesOverrideArgs']]]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNullValueSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableNullValueSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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


@pulumi.input_type
class OneDashboardPageWidgetTableNullValueSeriesOverrideArgs:
    def __init__(__self__, *,
                 null_value: Optional[pulumi.Input[str]] = None,
                 series_name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] null_value: Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        if null_value is not None:
            pulumi.set(__self__, "null_value", null_value)
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)

    @property
    @pulumi.getter(name="nullValue")
    def null_value(self) -> Optional[pulumi.Input[str]]:
        """
        Choose an option in displaying null values. Accepted values are `default`, `remove`, `preserve`, or `zero`.
        """
        return pulumi.get(self, "null_value")

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

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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


@pulumi.input_type
class OneDashboardPageWidgetTableUnitArgs:
    def __init__(__self__, *,
                 series_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableUnitSeriesOverrideArgs']]]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableUnitSeriesOverrideArgs']]] series_overrides: (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_overrides is not None:
            pulumi.set(__self__, "series_overrides", series_overrides)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesOverrides")
    def series_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardPageWidgetTableUnitSeriesOverrideArgs']]]]:
        """
        (Optional) A Nested block which will take two string attributes `color` and `series_name`. This nested block is used to customize colors of individual.
        """
        return pulumi.get(self, "series_overrides")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardPageWidgetTableUnitSeriesOverrideArgs:
    def __init__(__self__, *,
                 series_name: Optional[pulumi.Input[str]] = None,
                 unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] unit: (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        if series_name is not None:
            pulumi.set(__self__, "series_name", series_name)
        if unit is not None:
            pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter(name="seriesName")
    def series_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "series_name")

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

    @property
    @pulumi.getter
    def unit(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) Choose a unit to customize the unit on your Y axis and in each of your series.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class OneDashboardRawPageArgs:
    def __init__(__self__, *,
                 name: pulumi.Input[str],
                 description: Optional[pulumi.Input[str]] = None,
                 guid: Optional[pulumi.Input[str]] = None,
                 widgets: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardRawPageWidgetArgs']]]] = None):
        """
        :param pulumi.Input[str] name: The title of the dashboard.
        :param pulumi.Input[str] description: Brief text describing the dashboard.
        :param pulumi.Input[str] guid: The unique entity identifier of the dashboard page in New Relic.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardRawPageWidgetArgs']]] widgets: (Optional) A nested block that describes a widget. See Nested widget blocks below for details.
        """
        pulumi.set(__self__, "name", name)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if guid is not None:
            pulumi.set(__self__, "guid", guid)
        if widgets is not None:
            pulumi.set(__self__, "widgets", widgets)

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

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

    @property
    @pulumi.getter
    def description(self) -> Optional[pulumi.Input[str]]:
        """
        Brief text describing the dashboard.
        """
        return pulumi.get(self, "description")

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

    @property
    @pulumi.getter
    def guid(self) -> Optional[pulumi.Input[str]]:
        """
        The unique entity identifier of the dashboard page in New Relic.
        """
        return pulumi.get(self, "guid")

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

    @property
    @pulumi.getter
    def widgets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardRawPageWidgetArgs']]]]:
        """
        (Optional) A nested block that describes a widget. See Nested widget blocks below for details.
        """
        return pulumi.get(self, "widgets")

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


@pulumi.input_type
class OneDashboardRawPageWidgetArgs:
    def __init__(__self__, *,
                 column: pulumi.Input[int],
                 configuration: pulumi.Input[str],
                 row: pulumi.Input[int],
                 title: pulumi.Input[str],
                 visualization_id: pulumi.Input[str],
                 height: Optional[pulumi.Input[int]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 linked_entity_guids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 width: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] column: (Required) Column position of widget from top left, starting at `1`.
        :param pulumi.Input[str] configuration: (Required) The configuration of the widget.
        :param pulumi.Input[int] row: (Required) Row position of widget from top left, starting at `1`.
        :param pulumi.Input[str] title: (Required) A title for the widget.
        :param pulumi.Input[str] visualization_id: (Required) The visualization ID of the widget
        :param pulumi.Input[int] height: (Optional) Height of the widget. Valid values are `1` to `12` inclusive. Defaults to `3`.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] linked_entity_guids: (Optional) Related entity GUIDs.
        :param pulumi.Input[int] width: (Optional) Width of the widget. Valid values are `1` to `12` inclusive. Defaults to `4`.
        """
        pulumi.set(__self__, "column", column)
        pulumi.set(__self__, "configuration", configuration)
        pulumi.set(__self__, "row", row)
        pulumi.set(__self__, "title", title)
        pulumi.set(__self__, "visualization_id", visualization_id)
        if height is not None:
            pulumi.set(__self__, "height", height)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if linked_entity_guids is not None:
            pulumi.set(__self__, "linked_entity_guids", linked_entity_guids)
        if width is not None:
            pulumi.set(__self__, "width", width)

    @property
    @pulumi.getter
    def column(self) -> pulumi.Input[int]:
        """
        (Required) Column position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "column")

    @column.setter
    def column(self, value: pulumi.Input[int]):
        pulumi.set(self, "column", value)

    @property
    @pulumi.getter
    def configuration(self) -> pulumi.Input[str]:
        """
        (Required) The configuration of the widget.
        """
        return pulumi.get(self, "configuration")

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

    @property
    @pulumi.getter
    def row(self) -> pulumi.Input[int]:
        """
        (Required) Row position of widget from top left, starting at `1`.
        """
        return pulumi.get(self, "row")

    @row.setter
    def row(self, value: pulumi.Input[int]):
        pulumi.set(self, "row", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Required) A title for the widget.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter(name="visualizationId")
    def visualization_id(self) -> pulumi.Input[str]:
        """
        (Required) The visualization ID of the widget
        """
        return pulumi.get(self, "visualization_id")

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

    @property
    @pulumi.getter
    def height(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Height of the widget. Valid values are `1` to `12` inclusive. Defaults to `3`.
        """
        return pulumi.get(self, "height")

    @height.setter
    def height(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "height", value)

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="linkedEntityGuids")
    def linked_entity_guids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        (Optional) Related entity GUIDs.
        """
        return pulumi.get(self, "linked_entity_guids")

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

    @property
    @pulumi.getter
    def width(self) -> Optional[pulumi.Input[int]]:
        """
        (Optional) Width of the widget. Valid values are `1` to `12` inclusive. Defaults to `4`.
        """
        return pulumi.get(self, "width")

    @width.setter
    def width(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "width", value)


@pulumi.input_type
class OneDashboardVariableArgs:
    def __init__(__self__, *,
                 name: pulumi.Input[str],
                 replacement_strategy: pulumi.Input[str],
                 title: pulumi.Input[str],
                 type: pulumi.Input[str],
                 default_values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 is_multi_selection: Optional[pulumi.Input[bool]] = None,
                 items: Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardVariableItemArgs']]]] = None,
                 nrql_query: Optional[pulumi.Input['OneDashboardVariableNrqlQueryArgs']] = None):
        """
        :param pulumi.Input[str] name: The title of the dashboard.
        :param pulumi.Input[str] replacement_strategy: (Optional) Indicates the strategy to apply when replacing a variable in a NRQL query. One of `default`, `identifier`, `number` or `string`.
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        :param pulumi.Input[str] type: (Required) Specifies the data type of the variable and where its possible values may come from. One of `enum`, `nrql` or `string`
        :param pulumi.Input[Sequence[pulumi.Input[str]]] default_values: (Optional) A list of default values for this variable.
        :param pulumi.Input[bool] is_multi_selection: (Optional) Indicates whether this variable supports multiple selection or not. Only applies to variables of type `nrql` or `enum`.
        :param pulumi.Input[Sequence[pulumi.Input['OneDashboardVariableItemArgs']]] items: (Optional) List of possible values for variables of type `enum`. See Nested item blocks below for details.
        :param pulumi.Input['OneDashboardVariableNrqlQueryArgs'] nrql_query: (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "replacement_strategy", replacement_strategy)
        pulumi.set(__self__, "title", title)
        pulumi.set(__self__, "type", type)
        if default_values is not None:
            pulumi.set(__self__, "default_values", default_values)
        if is_multi_selection is not None:
            pulumi.set(__self__, "is_multi_selection", is_multi_selection)
        if items is not None:
            pulumi.set(__self__, "items", items)
        if nrql_query is not None:
            pulumi.set(__self__, "nrql_query", nrql_query)

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

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

    @property
    @pulumi.getter(name="replacementStrategy")
    def replacement_strategy(self) -> pulumi.Input[str]:
        """
        (Optional) Indicates the strategy to apply when replacing a variable in a NRQL query. One of `default`, `identifier`, `number` or `string`.
        """
        return pulumi.get(self, "replacement_strategy")

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

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[str]:
        """
        (Required) Specifies the data type of the variable and where its possible values may come from. One of `enum`, `nrql` or `string`
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter(name="defaultValues")
    def default_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        (Optional) A list of default values for this variable.
        """
        return pulumi.get(self, "default_values")

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

    @property
    @pulumi.getter(name="isMultiSelection")
    def is_multi_selection(self) -> Optional[pulumi.Input[bool]]:
        """
        (Optional) Indicates whether this variable supports multiple selection or not. Only applies to variables of type `nrql` or `enum`.
        """
        return pulumi.get(self, "is_multi_selection")

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

    @property
    @pulumi.getter
    def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OneDashboardVariableItemArgs']]]]:
        """
        (Optional) List of possible values for variables of type `enum`. See Nested item blocks below for details.
        """
        return pulumi.get(self, "items")

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

    @property
    @pulumi.getter(name="nrqlQuery")
    def nrql_query(self) -> Optional[pulumi.Input['OneDashboardVariableNrqlQueryArgs']]:
        """
        (Optional) Configuration for variables of type `nrql`. See Nested nrql\\_query blocks for details.
        """
        return pulumi.get(self, "nrql_query")

    @nrql_query.setter
    def nrql_query(self, value: Optional[pulumi.Input['OneDashboardVariableNrqlQueryArgs']]):
        pulumi.set(self, "nrql_query", value)


@pulumi.input_type
class OneDashboardVariableItemArgs:
    def __init__(__self__, *,
                 value: pulumi.Input[str],
                 title: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] value: (Required) A possible variable value
        :param pulumi.Input[str] title: (Optional) A human-friendly display string for this value.
        """
        pulumi.set(__self__, "value", value)
        if title is not None:
            pulumi.set(__self__, "title", title)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        (Required) A possible variable value
        """
        return pulumi.get(self, "value")

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

    @property
    @pulumi.getter
    def title(self) -> Optional[pulumi.Input[str]]:
        """
        (Optional) A human-friendly display string for this value.
        """
        return pulumi.get(self, "title")

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


@pulumi.input_type
class OneDashboardVariableNrqlQueryArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str],
                 account_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None):
        """
        :param pulumi.Input[str] query: (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        pulumi.set(__self__, "query", query)
        if account_ids is not None:
            pulumi.set(__self__, "account_ids", account_ids)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        (Required) Valid NRQL query string. See [Writing NRQL Queries](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) for help.
        """
        return pulumi.get(self, "query")

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

    @property
    @pulumi.getter(name="accountIds")
    def account_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
        return pulumi.get(self, "account_ids")

    @account_ids.setter
    def account_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]):
        pulumi.set(self, "account_ids", value)


@pulumi.input_type
class ServiceLevelEventsArgs:
    def __init__(__self__, *,
                 account_id: pulumi.Input[int],
                 valid_events: pulumi.Input['ServiceLevelEventsValidEventsArgs'],
                 bad_events: Optional[pulumi.Input['ServiceLevelEventsBadEventsArgs']] = None,
                 good_events: Optional[pulumi.Input['ServiceLevelEventsGoodEventsArgs']] = None):
        """
        :param pulumi.Input[int] account_id: The ID of the account where the entity (e.g, APM Service, Browser application, Workload, etc.) belongs to,
               and that contains the NRDB data for the SLI/SLO calculations. Note that changing the account ID will force a new resource.
        :param pulumi.Input['ServiceLevelEventsValidEventsArgs'] valid_events: The definition of valid requests.
        :param pulumi.Input['ServiceLevelEventsBadEventsArgs'] bad_events: The definition of the bad responses. If you define an SLI from valid and bad events, you must leave the good events argument empty.
        :param pulumi.Input['ServiceLevelEventsGoodEventsArgs'] good_events: The definition of good responses. If you define an SLI from valid and good events, you must leave the bad events argument empty.
        """
        pulumi.set(__self__, "account_id", account_id)
        pulumi.set(__self__, "valid_events", valid_events)
        if bad_events is not None:
            pulumi.set(__self__, "bad_events", bad_events)
        if good_events is not None:
            pulumi.set(__self__, "good_events", good_events)

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> pulumi.Input[int]:
        """
        The ID of the account where the entity (e.g, APM Service, Browser application, Workload, etc.) belongs to,
        and that contains the NRDB data for the SLI/SLO calculations. Note that changing the account ID will force a new resource.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: pulumi.Input[int]):
        pulumi.set(self, "account_id", value)

    @property
    @pulumi.getter(name="validEvents")
    def valid_events(self) -> pulumi.Input['ServiceLevelEventsValidEventsArgs']:
        """
        The definition of valid requests.
        """
        return pulumi.get(self, "valid_events")

    @valid_events.setter
    def valid_events(self, value: pulumi.Input['ServiceLevelEventsValidEventsArgs']):
        pulumi.set(self, "valid_events", value)

    @property
    @pulumi.getter(name="badEvents")
    def bad_events(self) -> Optional[pulumi.Input['ServiceLevelEventsBadEventsArgs']]:
        """
        The definition of the bad responses. If you define an SLI from valid and bad events, you must leave the good events argument empty.
        """
        return pulumi.get(self, "bad_events")

    @bad_events.setter
    def bad_events(self, value: Optional[pulumi.Input['ServiceLevelEventsBadEventsArgs']]):
        pulumi.set(self, "bad_events", value)

    @property
    @pulumi.getter(name="goodEvents")
    def good_events(self) -> Optional[pulumi.Input['ServiceLevelEventsGoodEventsArgs']]:
        """
        The definition of good responses. If you define an SLI from valid and good events, you must leave the bad events argument empty.
        """
        return pulumi.get(self, "good_events")

    @good_events.setter
    def good_events(self, value: Optional[pulumi.Input['ServiceLevelEventsGoodEventsArgs']]):
        pulumi.set(self, "good_events", value)


@pulumi.input_type
class ServiceLevelEventsBadEventsArgs:
    def __init__(__self__, *,
                 from_: pulumi.Input[str],
                 select: Optional[pulumi.Input['ServiceLevelEventsBadEventsSelectArgs']] = None,
                 where: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] from_: The event type where NRDB data will be fetched from.
        :param pulumi.Input['ServiceLevelEventsBadEventsSelectArgs'] select: The NRQL SELECT clause to aggregate events.
        :param pulumi.Input[str] where: A filter that specifies all the NRDB events that are considered in this SLI (e.g, those that refer to a particular entity).
               a particular entity and were successful).
               a particular entity and returned an error).
        """
        pulumi.set(__self__, "from_", from_)
        if select is not None:
            pulumi.set(__self__, "select", select)
        if where is not None:
            pulumi.set(__self__, "where", where)

    @property
    @pulumi.getter(name="from")
    def from_(self) -> pulumi.Input[str]:
        """
        The event type where NRDB data will be fetched from.
        """
        return pulumi.get(self, "from_")

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

    @property
    @pulumi.getter
    def select(self) -> Optional[pulumi.Input['ServiceLevelEventsBadEventsSelectArgs']]:
        """
        The NRQL SELECT clause to aggregate events.
        """
        return pulumi.get(self, "select")

    @select.setter
    def select(self, value: Optional[pulumi.Input['ServiceLevelEventsBadEventsSelectArgs']]):
        pulumi.set(self, "select", value)

    @property
    @pulumi.getter
    def where(self) -> Optional[pulumi.Input[str]]:
        """
        A filter that specifies all the NRDB events that are considered in this SLI (e.g, those that refer to a particular entity).
        a particular entity and were successful).
        a particular entity and returned an error).
        """
        return pulumi.get(self, "where")

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


@pulumi.input_type
class ServiceLevelEventsBadEventsSelectArgs:
    def __init__(__self__, *,
                 function: pulumi.Input[str],
                 attribute: Optional[pulumi.Input[str]] = None,
                 threshold: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[str] function: The function to use in the SELECT clause. Valid values are `COUNT` and `SUM`.
        :param pulumi.Input[str] attribute: The event attribute to use in the SELECT clause.
        """
        pulumi.set(__self__, "function", function)
        if attribute is not None:
            pulumi.set(__self__, "attribute", attribute)
        if threshold is not None:
            pulumi.set(__self__, "threshold", threshold)

    @property
    @pulumi.getter
    def function(self) -> pulumi.Input[str]:
        """
        The function to use in the SELECT clause. Valid values are `COUNT` and `SUM`.
        """
        return pulumi.get(self, "function")

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

    @property
    @pulumi.getter
    def attribute(self) -> Optional[pulumi.Input[str]]:
        """
        The event attribute to use in the SELECT clause.
        """
        return pulumi.get(self, "attribute")

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

    @property
    @pulumi.getter
    def threshold(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "threshold")

    @threshold.setter
    def threshold(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "threshold", value)


@pulumi.input_type
class ServiceLevelEventsGoodEventsArgs:
    def __init__(__self__, *,
                 from_: pulumi.Input[str],
                 select: Optional[pulumi.Input['ServiceLevelEventsGoodEventsSelectArgs']] = None,
                 where: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] from_: The event type where NRDB data will be fetched from.
        :param pulumi.Input['ServiceLevelEventsGoodEventsSelectArgs'] select: The NRQL SELECT clause to aggregate events.
        :param pulumi.Input[str] where: A filter that specifies all the NRDB events that are considered in this SLI (e.g, those that refer to a particular entity).
               a particular entity and were successful).
               a particular entity and returned an error).
        """
        pulumi.set(__self__, "from_", from_)
        if select is not None:
            pulumi.set(__self__, "select", select)
        if where is not None:
            pulumi.set(__self__, "where", where)

    @property
    @pulumi.getter(name="from")
    def from_(self) -> pulumi.Input[str]:
        """
        The event type where NRDB data will be fetched from.
        """
        return pulumi.get(self, "from_")

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

    @property
    @pulumi.getter
    def select(self) -> Optional[pulumi.Input['ServiceLevelEventsGoodEventsSelectArgs']]:
        """
        The NRQL SELECT clause to aggregate events.
        """
        return pulumi.get(self, "select")

    @select.setter
    def select(self, value: Optional[pulumi.Input['ServiceLevelEventsGoodEventsSelectArgs']]):
        pulumi.set(self, "select", value)

    @property
    @pulumi.getter
    def where(self) -> Optional[pulumi.Input[str]]:
        """
        A filter that specifies all the NRDB events that are considered in this SLI (e.g, those that refer to a particular entity).
        a particular entity and were successful).
        a particular entity and returned an error).
        """
        return pulumi.get(self, "where")

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


@pulumi.input_type
class ServiceLevelEventsGoodEventsSelectArgs:
    def __init__(__self__, *,
                 function: pulumi.Input[str],
                 attribute: Optional[pulumi.Input[str]] = None,
                 threshold: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[str] function: The function to use in the SELECT clause. Valid values are `COUNT` and `SUM`.
        :param pulumi.Input[str] attribute: The event attribute to use in the SELECT clause.
        """
        pulumi.set(__self__, "function", function)
        if attribute is not None:
            pulumi.set(__self__, "attribute", attribute)
        if threshold is not None:
            pulumi.set(__self__, "threshold", threshold)

    @property
    @pulumi.getter
    def function(self) -> pulumi.Input[str]:
        """
        The function to use in the SELECT clause. Valid values are `COUNT` and `SUM`.
        """
        return pulumi.get(self, "function")

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

    @property
    @pulumi.getter
    def attribute(self) -> Optional[pulumi.Input[str]]:
        """
        The event attribute to use in the SELECT clause.
        """
        return pulumi.get(self, "attribute")

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

    @property
    @pulumi.getter
    def threshold(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "threshold")

    @threshold.setter
    def threshold(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "threshold", value)


@pulumi.input_type
class ServiceLevelEventsValidEventsArgs:
    def __init__(__self__, *,
                 from_: pulumi.Input[str],
                 select: Optional[pulumi.Input['ServiceLevelEventsValidEventsSelectArgs']] = None,
                 where: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] from_: The event type where NRDB data will be fetched from.
        :param pulumi.Input['ServiceLevelEventsValidEventsSelectArgs'] select: The NRQL SELECT clause to aggregate events.
        :param pulumi.Input[str] where: A filter that specifies all the NRDB events that are considered in this SLI (e.g, those that refer to a particular entity).
               a particular entity and were successful).
               a particular entity and returned an error).
        """
        pulumi.set(__self__, "from_", from_)
        if select is not None:
            pulumi.set(__self__, "select", select)
        if where is not None:
            pulumi.set(__self__, "where", where)

    @property
    @pulumi.getter(name="from")
    def from_(self) -> pulumi.Input[str]:
        """
        The event type where NRDB data will be fetched from.
        """
        return pulumi.get(self, "from_")

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

    @property
    @pulumi.getter
    def select(self) -> Optional[pulumi.Input['ServiceLevelEventsValidEventsSelectArgs']]:
        """
        The NRQL SELECT clause to aggregate events.
        """
        return pulumi.get(self, "select")

    @select.setter
    def select(self, value: Optional[pulumi.Input['ServiceLevelEventsValidEventsSelectArgs']]):
        pulumi.set(self, "select", value)

    @property
    @pulumi.getter
    def where(self) -> Optional[pulumi.Input[str]]:
        """
        A filter that specifies all the NRDB events that are considered in this SLI (e.g, those that refer to a particular entity).
        a particular entity and were successful).
        a particular entity and returned an error).
        """
        return pulumi.get(self, "where")

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


@pulumi.input_type
class ServiceLevelEventsValidEventsSelectArgs:
    def __init__(__self__, *,
                 function: pulumi.Input[str],
                 attribute: Optional[pulumi.Input[str]] = None,
                 threshold: Optional[pulumi.Input[float]] = None):
        """
        :param pulumi.Input[str] function: The function to use in the SELECT clause. Valid values are `COUNT` and `SUM`.
        :param pulumi.Input[str] attribute: The event attribute to use in the SELECT clause.
        """
        pulumi.set(__self__, "function", function)
        if attribute is not None:
            pulumi.set(__self__, "attribute", attribute)
        if threshold is not None:
            pulumi.set(__self__, "threshold", threshold)

    @property
    @pulumi.getter
    def function(self) -> pulumi.Input[str]:
        """
        The function to use in the SELECT clause. Valid values are `COUNT` and `SUM`.
        """
        return pulumi.get(self, "function")

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

    @property
    @pulumi.getter
    def attribute(self) -> Optional[pulumi.Input[str]]:
        """
        The event attribute to use in the SELECT clause.
        """
        return pulumi.get(self, "attribute")

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

    @property
    @pulumi.getter
    def threshold(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "threshold")

    @threshold.setter
    def threshold(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "threshold", value)


@pulumi.input_type
class ServiceLevelObjectiveArgs:
    def __init__(__self__, *,
                 target: pulumi.Input[float],
                 time_window: pulumi.Input['ServiceLevelObjectiveTimeWindowArgs'],
                 description: Optional[pulumi.Input[str]] = None,
                 name: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[float] target: The target of the objective, valid values between `0` and `100`. Up to 5 decimals accepted.
        :param pulumi.Input['ServiceLevelObjectiveTimeWindowArgs'] time_window: Time window is the period of the objective.
        :param pulumi.Input[str] description: The description of the SLI.
        :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
        """
        pulumi.set(__self__, "target", target)
        pulumi.set(__self__, "time_window", time_window)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if name is not None:
            pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter
    def target(self) -> pulumi.Input[float]:
        """
        The target of the objective, valid values between `0` and `100`. Up to 5 decimals accepted.
        """
        return pulumi.get(self, "target")

    @target.setter
    def target(self, value: pulumi.Input[float]):
        pulumi.set(self, "target", value)

    @property
    @pulumi.getter(name="timeWindow")
    def time_window(self) -> pulumi.Input['ServiceLevelObjectiveTimeWindowArgs']:
        """
        Time window is the period of the objective.
        """
        return pulumi.get(self, "time_window")

    @time_window.setter
    def time_window(self, value: pulumi.Input['ServiceLevelObjectiveTimeWindowArgs']):
        pulumi.set(self, "time_window", value)

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

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

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        A short name for the SLI that will help anyone understand what it is about.
        """
        return pulumi.get(self, "name")

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


@pulumi.input_type
class ServiceLevelObjectiveTimeWindowArgs:
    def __init__(__self__, *,
                 rolling: pulumi.Input['ServiceLevelObjectiveTimeWindowRollingArgs']):
        """
        :param pulumi.Input['ServiceLevelObjectiveTimeWindowRollingArgs'] rolling: Rolling window.
        """
        pulumi.set(__self__, "rolling", rolling)

    @property
    @pulumi.getter
    def rolling(self) -> pulumi.Input['ServiceLevelObjectiveTimeWindowRollingArgs']:
        """
        Rolling window.
        """
        return pulumi.get(self, "rolling")

    @rolling.setter
    def rolling(self, value: pulumi.Input['ServiceLevelObjectiveTimeWindowRollingArgs']):
        pulumi.set(self, "rolling", value)


@pulumi.input_type
class ServiceLevelObjectiveTimeWindowRollingArgs:
    def __init__(__self__, *,
                 count: pulumi.Input[int],
                 unit: pulumi.Input[str]):
        """
        :param pulumi.Input[int] count: Valid values are `1`, `7` and `28`.
        :param pulumi.Input[str] unit: The only supported value is `DAY`.
        """
        pulumi.set(__self__, "count", count)
        pulumi.set(__self__, "unit", unit)

    @property
    @pulumi.getter
    def count(self) -> pulumi.Input[int]:
        """
        Valid values are `1`, `7` and `28`.
        """
        return pulumi.get(self, "count")

    @count.setter
    def count(self, value: pulumi.Input[int]):
        pulumi.set(self, "count", value)

    @property
    @pulumi.getter
    def unit(self) -> pulumi.Input[str]:
        """
        The only supported value is `DAY`.
        """
        return pulumi.get(self, "unit")

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


@pulumi.input_type
class WorkflowDestinationArgs:
    def __init__(__self__, *,
                 channel_id: pulumi.Input[str],
                 name: Optional[pulumi.Input[str]] = None,
                 notification_triggers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 type: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] channel_id: Id of a notification_channel to use for notifications. Please note that you have to use a 
               **notification** channel, not an `alert_channel`.
        :param pulumi.Input[str] name: The name of the workflow.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_triggers: Issue events to notify on. The value is a list of possible issue events. See Notification Triggers below for details.
        :param pulumi.Input[str] type: Type of the filter. Please just set this field to `FILTER`. The field is likely to be deprecated/removed in the near future.
        """
        pulumi.set(__self__, "channel_id", channel_id)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if notification_triggers is not None:
            pulumi.set(__self__, "notification_triggers", notification_triggers)
        if type is not None:
            pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter(name="channelId")
    def channel_id(self) -> pulumi.Input[str]:
        """
        Id of a notification_channel to use for notifications. Please note that you have to use a 
        **notification** channel, not an `alert_channel`.
        """
        return pulumi.get(self, "channel_id")

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

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

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

    @property
    @pulumi.getter(name="notificationTriggers")
    def notification_triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Issue events to notify on. The value is a list of possible issue events. See Notification Triggers below for details.
        """
        return pulumi.get(self, "notification_triggers")

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

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[str]]:
        """
        Type of the filter. Please just set this field to `FILTER`. The field is likely to be deprecated/removed in the near future.
        """
        return pulumi.get(self, "type")

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


@pulumi.input_type
class WorkflowEnrichmentsArgs:
    def __init__(__self__, *,
                 nrqls: pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlArgs']]]):
        """
        :param pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlArgs']]] nrqls: a wrapper block
        """
        pulumi.set(__self__, "nrqls", nrqls)

    @property
    @pulumi.getter
    def nrqls(self) -> pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlArgs']]]:
        """
        a wrapper block
        """
        return pulumi.get(self, "nrqls")

    @nrqls.setter
    def nrqls(self, value: pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlArgs']]]):
        pulumi.set(self, "nrqls", value)


@pulumi.input_type
class WorkflowEnrichmentsNrqlArgs:
    def __init__(__self__, *,
                 configurations: pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlConfigurationArgs']]],
                 name: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[int]] = None,
                 enrichment_id: Optional[pulumi.Input[str]] = None,
                 type: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlConfigurationArgs']]] configurations: Another wrapper block
        :param pulumi.Input[str] name: The name of the workflow.
        :param pulumi.Input[int] account_id: Determines the New Relic account in which the workflow is created. Defaults to the account defined in the provider section.
        :param pulumi.Input[str] type: Type of the filter. Please just set this field to `FILTER`. The field is likely to be deprecated/removed in the near future.
        """
        pulumi.set(__self__, "configurations", configurations)
        pulumi.set(__self__, "name", name)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)
        if enrichment_id is not None:
            pulumi.set(__self__, "enrichment_id", enrichment_id)
        if type is not None:
            pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter
    def configurations(self) -> pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlConfigurationArgs']]]:
        """
        Another wrapper block
        """
        return pulumi.get(self, "configurations")

    @configurations.setter
    def configurations(self, value: pulumi.Input[Sequence[pulumi.Input['WorkflowEnrichmentsNrqlConfigurationArgs']]]):
        pulumi.set(self, "configurations", value)

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

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        Determines the New Relic account in which the workflow is created. Defaults to the account defined in the provider section.
        """
        return pulumi.get(self, "account_id")

    @account_id.setter
    def account_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "account_id", value)

    @property
    @pulumi.getter(name="enrichmentId")
    def enrichment_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "enrichment_id")

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

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[str]]:
        """
        Type of the filter. Please just set this field to `FILTER`. The field is likely to be deprecated/removed in the near future.
        """
        return pulumi.get(self, "type")

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


@pulumi.input_type
class WorkflowEnrichmentsNrqlConfigurationArgs:
    def __init__(__self__, *,
                 query: pulumi.Input[str]):
        """
        :param pulumi.Input[str] query: An NRQL query to run
        """
        pulumi.set(__self__, "query", query)

    @property
    @pulumi.getter
    def query(self) -> pulumi.Input[str]:
        """
        An NRQL query to run
        """
        return pulumi.get(self, "query")

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


@pulumi.input_type
class WorkflowIssuesFilterArgs:
    def __init__(__self__, *,
                 name: pulumi.Input[str],
                 type: pulumi.Input[str],
                 filter_id: Optional[pulumi.Input[str]] = None,
                 predicates: Optional[pulumi.Input[Sequence[pulumi.Input['WorkflowIssuesFilterPredicateArgs']]]] = None):
        """
        :param pulumi.Input[str] name: The name of the workflow.
        :param pulumi.Input[str] type: Type of the filter. Please just set this field to `FILTER`. The field is likely to be deprecated/removed in the near future.
        :param pulumi.Input[Sequence[pulumi.Input['WorkflowIssuesFilterPredicateArgs']]] predicates: A condition an issue event should satisfy to be processed by the workflow
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "type", type)
        if filter_id is not None:
            pulumi.set(__self__, "filter_id", filter_id)
        if predicates is not None:
            pulumi.set(__self__, "predicates", predicates)

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

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

    @property
    @pulumi.getter
    def type(self) -> pulumi.Input[str]:
        """
        Type of the filter. Please just set this field to `FILTER`. The field is likely to be deprecated/removed in the near future.
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter(name="filterId")
    def filter_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "filter_id")

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

    @property
    @pulumi.getter
    def predicates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkflowIssuesFilterPredicateArgs']]]]:
        """
        A condition an issue event should satisfy to be processed by the workflow
        """
        return pulumi.get(self, "predicates")

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


@pulumi.input_type
class WorkflowIssuesFilterPredicateArgs:
    def __init__(__self__, *,
                 attribute: pulumi.Input[str],
                 operator: pulumi.Input[str],
                 values: pulumi.Input[Sequence[pulumi.Input[str]]]):
        """
        :param pulumi.Input[str] attribute: Issue event attribute to check
        :param pulumi.Input[str] operator: An operator to use to compare the attribute with the provided `values`, see supported operators below
        :param pulumi.Input[Sequence[pulumi.Input[str]]] values: The `attribute` must match **any** of the values in this list
        """
        pulumi.set(__self__, "attribute", attribute)
        pulumi.set(__self__, "operator", operator)
        pulumi.set(__self__, "values", values)

    @property
    @pulumi.getter
    def attribute(self) -> pulumi.Input[str]:
        """
        Issue event attribute to check
        """
        return pulumi.get(self, "attribute")

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

    @property
    @pulumi.getter
    def operator(self) -> pulumi.Input[str]:
        """
        An operator to use to compare the attribute with the provided `values`, see supported operators below
        """
        return pulumi.get(self, "operator")

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

    @property
    @pulumi.getter
    def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
        """
        The `attribute` must match **any** of the values in this list
        """
        return pulumi.get(self, "values")

    @values.setter
    def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
        pulumi.set(self, "values", value)


@pulumi.input_type
class GetEntityTagArgs:
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: The tag key.
        :param str value: The tag value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        The tag key.
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: str):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        The tag value.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)


