@pulumi/signalfx
Version:
A Pulumi package for creating and managing SignalFx resources.
1,175 lines • 53.5 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface AlertMutingRuleFilter {
/**
* Determines if this is a "not" filter. Defaults to `false`.
*/
negated?: pulumi.Input<boolean | undefined>;
/**
* The property to filter.
*/
property: pulumi.Input<string>;
/**
* The property value to filter.
*/
propertyValue: pulumi.Input<string>;
}
export interface AlertMutingRuleRecurrence {
/**
* The unit of the period. Can be days (d) or weeks (w).
*/
unit: pulumi.Input<string>;
/**
* The amount of time, expressed as an integer, applicable to the unit specified.
*/
value: pulumi.Input<number>;
}
export interface DashboardChart {
/**
* ID of the chart to display.
*/
chartId: pulumi.Input<string>;
/**
* The column to show the chart in (zero-based); this value always represents the leftmost column of the chart (between `0` and `11`).
*/
column?: pulumi.Input<number | undefined>;
/**
* How many rows the chart should take up (greater than or equal to `1`). `1` by default.
*/
height?: pulumi.Input<number | undefined>;
/**
* The row to show the chart in (zero-based); if `height > 1`, this value represents the topmost row of the chart (greater than or equal to `0`).
*/
row?: pulumi.Input<number | undefined>;
/**
* How many columns (out of a total of 12) the chart should take up (between `1` and `12`). `12` by default.
*/
width?: pulumi.Input<number | undefined>;
}
export interface DashboardColumn {
/**
* List of IDs of the charts to display.
*/
chartIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* Column number for the layout.
*/
column?: pulumi.Input<number | undefined>;
/**
* How many rows every chart should take up (greater than or equal to 1). 1 by default.
*/
height?: pulumi.Input<number | undefined>;
/**
* How many columns (out of a total of `12`) every chart should take up (between `1` and `12`). `12` by default.
*/
width?: pulumi.Input<number | undefined>;
}
export interface DashboardEventOverlay {
/**
* Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
*/
color?: pulumi.Input<string | undefined>;
/**
* Text shown in the dropdown when selecting this overlay from the menu.
*/
label?: pulumi.Input<string | undefined>;
/**
* Show a vertical line for the event. `false` by default.
*/
line?: pulumi.Input<boolean | undefined>;
/**
* Search term used to choose the events shown in the overlay.
*/
signal: pulumi.Input<string>;
/**
* Each element specifies a filter to use against the signal specified in the `signal`.
*/
sources?: pulumi.Input<pulumi.Input<inputs.DashboardEventOverlaySource>[] | undefined>;
/**
* Can be set to `eventTimeSeries` (the default) to refer to externally reported events, or `detectorEvents` to refer to events from detector triggers.
*/
type?: pulumi.Input<string | undefined>;
}
export interface DashboardEventOverlaySource {
/**
* If true, only data that does not match the specified value of the specified property appear in the event overlay. Defaults to `false`.
*/
negated?: pulumi.Input<boolean | undefined>;
/**
* The name of a dimension to filter against.
*/
property: pulumi.Input<string>;
/**
* A list of values to be used with the `property`, they will be combined via `OR`.
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
export interface DashboardFilter {
/**
* If true, this filter will also match data that doesn't have this property at all.
*/
applyIfExist?: pulumi.Input<boolean | undefined>;
/**
* Whether this filter should be a not filter. `false` by default.
*/
negated?: pulumi.Input<boolean | undefined>;
/**
* A metric time series dimension or property name.
*/
property: pulumi.Input<string>;
/**
* List of of strings (which will be treated as an OR filter on the property).
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
export interface DashboardGrid {
/**
* List of IDs of the charts to display.
*/
chartIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* How many rows every chart should take up (greater than or equal to `1`). `1` by default.
*/
height?: pulumi.Input<number | undefined>;
/**
* How many columns (out of a total of 12) every chart should take up (between `1` and `12`). `12` by default.
*/
width?: pulumi.Input<number | undefined>;
}
export interface DashboardGroupDashboard {
/**
* The ID of the association between the dashboard group and the dashboard
*/
configId?: pulumi.Input<string | undefined>;
/**
* The dashboard id to mirror
*/
dashboardId: pulumi.Input<string>;
/**
* The description that will override the original dashboards's description.
*/
descriptionOverride?: pulumi.Input<string | undefined>;
/**
* The description that will override the original dashboards's description.
*/
filterOverrides?: pulumi.Input<pulumi.Input<inputs.DashboardGroupDashboardFilterOverride>[] | undefined>;
/**
* The name that will override the original dashboards's name.
*/
nameOverride?: pulumi.Input<string | undefined>;
/**
* The description that will override the original dashboards's description.
*/
variableOverrides?: pulumi.Input<pulumi.Input<inputs.DashboardGroupDashboardVariableOverride>[] | undefined>;
}
export interface DashboardGroupDashboardFilterOverride {
/**
* If true, only data that does not match the specified value of the specified property appear in the event overlay. Defaults to `false`.
*/
negated?: pulumi.Input<boolean | undefined>;
/**
* The name of a dimension to filter against.
*/
property: pulumi.Input<string>;
/**
* A list of values to be used with the `property`, they will be combined via `OR`.
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
export interface DashboardGroupDashboardVariableOverride {
/**
* A metric time series dimension or property name.
*/
property: pulumi.Input<string>;
/**
* (Optional) List of of strings (which will be treated as an OR filter on the property).
*/
values?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* A list of strings of suggested values for this variable; these suggestions will receive priority when values are autosuggested for this variable.
*/
valuesSuggesteds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface DashboardGroupImportQualifier {
/**
* Filter to apply to each chart in the dashboard
*/
filters?: pulumi.Input<pulumi.Input<inputs.DashboardGroupImportQualifierFilter>[] | undefined>;
metric?: pulumi.Input<string | undefined>;
}
export interface DashboardGroupImportQualifierFilter {
/**
* (false by default) Whether this filter should be a "not" filter
*/
negated?: pulumi.Input<boolean | undefined>;
/**
* A metric time series dimension or property name
*/
property: pulumi.Input<string>;
/**
* List of strings (which will be treated as an OR filter on the property)
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
export interface DashboardGroupPermission {
/**
* Action the user, team, or organization can take with the dashboard group. List of values (value can be "READ" or "WRITE").
*/
actions?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* ID of the user, team, or organization for which you're granting permissions.
*/
principalId: pulumi.Input<string>;
/**
* Clarify whether this permission configuration is for a user, a team, or an organization. Value can be one of "USER", "TEAM", or "ORG".
*/
principalType: pulumi.Input<string>;
}
export interface DashboardPermissions {
/**
* List of read and write permission configurations to specify which user, team, and organization can view and/or edit your dashboard. Use the `permissions.parent` instead if you want to inherit permissions.
*/
acls?: pulumi.Input<pulumi.Input<inputs.DashboardPermissionsAcl>[] | undefined>;
/**
* ID of the dashboard group you want your dashboard to inherit permissions from. Use the `permissions.acl` instead if you want to specify various read and write permission configurations.
*/
parent?: pulumi.Input<string | undefined>;
}
export interface DashboardPermissionsAcl {
/**
* Action the user, team, or organization can take with the dashboard. List of values (value can be "READ" or "WRITE").
*/
actions?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* ID of the user, team, or organization for which you're granting permissions.
*/
principalId: pulumi.Input<string>;
/**
* Clarify whether this permission configuration is for a user, a team, or an organization. Value can be one of "USER", "TEAM", or "ORG".
*/
principalType: pulumi.Input<string>;
}
export interface DashboardSelectedEventOverlay {
/**
* Search term used to choose the events shown in the overlay.
*/
signal: pulumi.Input<string>;
/**
* Each element specifies a filter to use against the signal specified in the `signal`.
*/
sources?: pulumi.Input<pulumi.Input<inputs.DashboardSelectedEventOverlaySource>[] | undefined>;
/**
* Can be set to `eventTimeSeries` (the default) to refer to externally reported events, or `detectorEvents` to refer to events from detector triggers.
*/
type?: pulumi.Input<string | undefined>;
}
export interface DashboardSelectedEventOverlaySource {
/**
* If true, only data that does not match the specified value of the specified property appear in the event overlay. Defaults to `false`.
*/
negated?: pulumi.Input<boolean | undefined>;
/**
* The name of a dimension to filter against.
*/
property: pulumi.Input<string>;
/**
* A list of values to be used with the `property`, they will be combined via `OR`.
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
export interface DashboardVariable {
/**
* An alias for the dashboard variable. This text will appear as the label for the dropdown field on the dashboard.
*/
alias: pulumi.Input<string>;
/**
* If true, this variable will also match data that doesn't have this property at all.
*/
applyIfExist?: pulumi.Input<boolean | undefined>;
/**
* Variable description.
*/
description?: pulumi.Input<string | undefined>;
/**
* A metric time series dimension or property name.
*/
property: pulumi.Input<string>;
/**
* If `true`, this variable will only apply to charts that have a filter for the property.
*/
replaceOnly?: pulumi.Input<boolean | undefined>;
/**
* If `true`, this variable may only be set to the values listed in `valuesSuggested` and only these values will appear in autosuggestion menus. `false` by default.
*/
restrictedSuggestions?: pulumi.Input<boolean | undefined>;
/**
* Determines whether a value is required for this variable (and therefore whether it will be possible to view this dashboard without this filter applied). `false` by default.
*/
valueRequired?: pulumi.Input<boolean | undefined>;
/**
* List of of strings (which will be treated as an OR filter on the property).
*/
values?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* A list of strings of suggested values for this variable; these suggestions will receive priority when values are autosuggested for this variable.
*/
valuesSuggesteds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface DataLinkTargetAppdUrl {
/**
* User-assigned target name. Use this value to differentiate between the link targets for a data link object.
*/
name: pulumi.Input<string>;
/**
* URL string for an AppDynamics instance.
*/
url: pulumi.Input<string>;
}
export interface DataLinkTargetExternalUrl {
/**
* The [minimum time window](https://dev.splunk.com/observability/docs/administration/datalinks/) for a search sent to an external site. Defaults to `6000`
*/
minimumTimeWindow?: pulumi.Input<string | undefined>;
/**
* User-assigned target name. Use this value to differentiate between the link targets for a data link object.
*/
name: pulumi.Input<string>;
/**
* Describes the relationship between Splunk Observability Cloud metadata keys and external system properties when the key names are different.
*/
propertyKeyMapping?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
} | undefined>;
/**
* [Designates the format](https://dev.splunk.com/observability/docs/administration/datalinks/) of `minimumTimeWindow` in the same data link target object. Must be one of `"ISO8601"`, `"EpochSeconds"` or `"Epoch"` (which is milliseconds). Defaults to `"ISO8601"`.
*/
timeFormat?: pulumi.Input<string | undefined>;
/**
* URL string for a Splunk instance or external system data link target. [See the supported template variables](https://dev.splunk.com/observability/docs/administration/datalinks/).
*/
url: pulumi.Input<string>;
}
export interface DataLinkTargetSignalfxDashboard {
/**
* SignalFx-assigned ID of the dashboard link target's dashboard group
*/
dashboardGroupId: pulumi.Input<string>;
/**
* SignalFx-assigned ID of the dashboard link target
*/
dashboardId: pulumi.Input<string>;
/**
* Flag that designates a target as the default for a data link object. `true` by default
*/
isDefault?: pulumi.Input<boolean | undefined>;
/**
* User-assigned target name. Use this value to differentiate between the link targets for a data link object.
*/
name: pulumi.Input<string>;
}
export interface DataLinkTargetSplunk {
/**
* User-assigned target name. Use this value to differentiate between the link targets for a data link object.
*/
name: pulumi.Input<string>;
/**
* Describes the relationship between Splunk Observability Cloud metadata keys and external system properties when the key names are different.
*/
propertyKeyMapping?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
} | undefined>;
}
export interface DetectorRule {
/**
* Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
*/
description?: pulumi.Input<string | undefined>;
/**
* A detect label which matches a detect label within `programText`.
*/
detectLabel: pulumi.Input<string>;
/**
* When true, notifications and events will not be generated for the detect label. `false` by default.
*/
disabled?: pulumi.Input<boolean | undefined>;
/**
* List of strings specifying where notifications will be sent when an incident occurs. See [Create A Single Detector](https://dev.splunk.com/observability/reference/api/detectors/latest) for more info.
*/
notifications?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Custom notification message body when an alert is triggered. See [Set Up Detectors to Trigger Alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html) for more info.
*/
parameterizedBody?: pulumi.Input<string | undefined>;
/**
* Custom notification message subject when an alert is triggered. See [Set Up Detectors to Trigger Alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html) for more info.
*/
parameterizedSubject?: pulumi.Input<string | undefined>;
/**
* Reminder notification in a detector rule lets you send multiple notifications for active alerts over a defined period of time. **Note:** This feature is not present in all accounts. Please contact support if you are unsure.
*/
reminderNotification?: pulumi.Input<inputs.DetectorRuleReminderNotification | undefined>;
/**
* URL of page to consult when an alert is triggered. This can be used with custom notification messages.
*/
runbookUrl?: pulumi.Input<string | undefined>;
/**
* The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
*/
severity: pulumi.Input<string>;
/**
* Set of alert clear states for which clear notifications are not sent. Valid values: `OK`, `AUTO_RESOLVED`, `STOPPED`, `MANUALLY_RESOLVED`. **Note:** This feature is not present in all accounts. Please contact support if you are unsure.
*/
skipClearNotificationStates?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
*/
tip?: pulumi.Input<string | undefined>;
}
export interface DetectorRuleReminderNotification {
/**
* The interval at which you want to receive the notifications, in milliseconds.
*/
intervalMs: pulumi.Input<number>;
/**
* The duration during which repeat notifications are sent, in milliseconds.
*/
timeoutMs?: pulumi.Input<number | undefined>;
/**
* Type of reminder notification. Currently, the only supported value is TIMEOUT.
*/
type: pulumi.Input<string>;
}
export interface DetectorVizOption {
/**
* Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
*/
color?: pulumi.Input<string | undefined>;
/**
* Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
*/
displayName?: pulumi.Input<string | undefined>;
/**
* Label used in the publish statement that displays the plot (metric time series data) you want to customize.
*/
label: pulumi.Input<string>;
/**
* , `valueSuffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
*
* **Notes**
*
* Use both `maxDelay` in your detector configuration and an `extrapolation` policy in your program text to reduce false positives and false negatives.
*/
valuePrefix?: pulumi.Input<string | undefined>;
/**
* An arbitrary suffix to display with the value of this plot
*/
valueSuffix?: pulumi.Input<string | undefined>;
/**
* A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes). Values values are `Bit, Kilobit, Megabit, Gigabit, Terabit, Petabit, Exabit, Zettabit, Yottabit, Byte, Kibibyte, Mebibyte, Gibibyte (note: this was previously typoed as Gigibyte), Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week`.
*/
valueUnit?: pulumi.Input<string | undefined>;
}
export interface HeatmapChartColorRange {
/**
* The color range to use. The starting hex color value for data values in a heatmap chart. Specify the value as a 6-character hexadecimal value preceded by the '#' character, for example "#ea1849" (grass green).
*/
color: pulumi.Input<string>;
/**
* The maximum value within the coloring range.
*/
maxValue?: pulumi.Input<number | undefined>;
/**
* The minimum value within the coloring range.
*/
minValue?: pulumi.Input<number | undefined>;
}
export interface HeatmapChartColorScale {
/**
* The color range to use. Hex values are not supported here. Must be one of red, gold, iris, green, jade, gray, blue, azure, navy, brown, orange, yellow, magenta, cerise, pink, violet, purple, lilac, emerald, chartreuse, yellowgreen, aquamarine.
*/
color: pulumi.Input<string>;
/**
* Indicates the lower threshold non-inclusive value for this range.
*/
gt?: pulumi.Input<number | undefined>;
/**
* Indicates the lower threshold inclusive value for this range.
*/
gte?: pulumi.Input<number | undefined>;
/**
* Indicates the upper threshold non-inclusive value for this range.
*/
lt?: pulumi.Input<number | undefined>;
/**
* Indicates the upper threshold inclusive value for this range.
*/
lte?: pulumi.Input<number | undefined>;
}
export interface ListChartColorScale {
/**
* The color to use. Must be one of red, gold, iris, green, jade, gray, blue, azure, navy, brown, orange, yellow, magenta, cerise, pink, violet, purple, lilac, emerald, chartreuse, yellowgreen, aquamarine.
*/
color: pulumi.Input<string>;
/**
* Indicates the lower threshold non-inclusive value for this range.
*/
gt?: pulumi.Input<number | undefined>;
/**
* Indicates the lower threshold inclusive value for this range.
*/
gte?: pulumi.Input<number | undefined>;
/**
* Indicates the upper threshold non-inculsive value for this range.
*/
lt?: pulumi.Input<number | undefined>;
/**
* Indicates the upper threshold inclusive value for this range.
*/
lte?: pulumi.Input<number | undefined>;
}
export interface ListChartLegendOptionsField {
/**
* True or False depending on if you want the property to be shown or hidden.
*/
enabled?: pulumi.Input<boolean | undefined>;
/**
* The name of the property to display. Note the special values of `sfMetric` (corresponding with the API's `Plot Name`) which shows the label of the time series `publish()` and `sf_originatingMetric` (corresponding with the API's `metric (sf metric)`) that shows the [name of the metric](https://dev.splunk.com/observability/docs/signalflow/functions/data_function/) for the time series being displayed.
*/
property: pulumi.Input<string>;
}
export interface ListChartVizOption {
/**
* The color to use. Must be one of red, gold, iris, green, jade, gray, blue, azure, navy, brown, orange, yellow, magenta, cerise, pink, violet, purple, lilac, emerald, chartreuse, yellowgreen, aquamarine.
*/
color?: pulumi.Input<string | undefined>;
/**
* Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
*/
displayName?: pulumi.Input<string | undefined>;
/**
* Label used in the publish statement that displays the plot (metric time series data) you want to customize.
*/
label: pulumi.Input<string>;
/**
* , `valueSuffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
*/
valuePrefix?: pulumi.Input<string | undefined>;
/**
* An arbitrary suffix to display with the value of this plot
*/
valueSuffix?: pulumi.Input<string | undefined>;
/**
* A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes). Values values are `Bit, Kilobit, Megabit, Gigabit, Terabit, Petabit, Exabit, Zettabit, Yottabit, Byte, Kibibyte, Mebibyte, Gibibyte (note: this was previously typoed as Gigibyte), Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week`.
*/
valueUnit?: pulumi.Input<string | undefined>;
}
export interface MetricRulesetAggregationRule {
/**
* Aggregator object
*/
aggregators: pulumi.Input<pulumi.Input<inputs.MetricRulesetAggregationRuleAggregator>[]>;
/**
* Information about an aggregation rule
*/
description?: pulumi.Input<string | undefined>;
/**
* When false, this rule will not generate aggregated MTSs
*/
enabled: pulumi.Input<boolean>;
/**
* Matcher object
*/
matchers: pulumi.Input<pulumi.Input<inputs.MetricRulesetAggregationRuleMatcher>[]>;
/**
* name of the aggregation rule
*/
name?: pulumi.Input<string | undefined>;
}
export interface MetricRulesetAggregationRuleAggregator {
/**
* List of dimensions to either be kept or dropped in the new aggregated MTSs
*/
dimensions: pulumi.Input<pulumi.Input<string>[]>;
/**
* when true, the specified dimensions will be dropped from the aggregated MTSs
*/
dropDimensions: pulumi.Input<boolean>;
/**
* name of the new aggregated metric
*/
outputName: pulumi.Input<string>;
/**
* Type of aggregator. Must always be "rollup"
*/
type: pulumi.Input<string>;
}
export interface MetricRulesetAggregationRuleMatcher {
/**
* List of filters to filter the set of input MTSs
*/
filters?: pulumi.Input<pulumi.Input<inputs.MetricRulesetAggregationRuleMatcherFilter>[] | undefined>;
/**
* Type of matcher. Must always be "dimension"
*/
type: pulumi.Input<string>;
}
export interface MetricRulesetAggregationRuleMatcherFilter {
/**
* When true, this filter will match all values not matching the property_values
*/
not: pulumi.Input<boolean>;
/**
* Name of the dimension
*/
property: pulumi.Input<string>;
/**
* Value of the dimension
*/
propertyValues: pulumi.Input<pulumi.Input<string>[]>;
}
export interface MetricRulesetExceptionRule {
/**
* Information about an exception rule
*/
description?: pulumi.Input<string | undefined>;
/**
* When false, this rule will not route matched data to real-time
*/
enabled: pulumi.Input<boolean>;
/**
* Matcher object
*/
matchers: pulumi.Input<pulumi.Input<inputs.MetricRulesetExceptionRuleMatcher>[]>;
/**
* name of the exception rule
*/
name?: pulumi.Input<string | undefined>;
/**
* Properties of a restoration job
*/
restorations?: pulumi.Input<pulumi.Input<inputs.MetricRulesetExceptionRuleRestoration>[] | undefined>;
}
export interface MetricRulesetExceptionRuleMatcher {
/**
* List of filters to filter the set of input MTSs
*/
filters?: pulumi.Input<pulumi.Input<inputs.MetricRulesetExceptionRuleMatcherFilter>[] | undefined>;
/**
* Type of matcher. Must always be "dimension"
*/
type: pulumi.Input<string>;
}
export interface MetricRulesetExceptionRuleMatcherFilter {
/**
* When true, this filter will match all values not matching the property_values
*/
not: pulumi.Input<boolean>;
/**
* Name of the dimension
*/
property: pulumi.Input<string>;
/**
* Value of the dimension
*/
propertyValues: pulumi.Input<pulumi.Input<string>[]>;
}
export interface MetricRulesetExceptionRuleRestoration {
/**
* ID of the restoration job.
*/
restorationId?: pulumi.Input<string | undefined>;
/**
* Time from which the restoration job will restore archived data, in the form of *nix time in milliseconds
*/
startTime: pulumi.Input<string>;
/**
* Time to which the restoration job will restore archived data, in the form of *nix time in milliseconds
*/
stopTime?: pulumi.Input<string | undefined>;
}
export interface MetricRulesetRoutingRule {
/**
* end destination of the input metric. Must be `RealTime`, `Archived`, or `Drop`
*/
destination: pulumi.Input<string>;
}
export interface OrgTokenDpmLimits {
/**
* The datapoints per minute (dpm) limit for this token. If you exceed this limit, Splunk Observability Cloud sends out an alert.
*/
dpmLimit: pulumi.Input<number>;
/**
* DPM level at which Splunk Observability Cloud sends the notification for this token. If you don't specify a notification, Splunk Observability Cloud sends the generic notification.
*/
dpmNotificationThreshold?: pulumi.Input<number | undefined>;
}
export interface OrgTokenHostOrUsageLimits {
/**
* Max number of Docker containers that can use this token
*/
containerLimit?: pulumi.Input<number | undefined>;
/**
* Notification threshold for Docker containers
*/
containerNotificationThreshold?: pulumi.Input<number | undefined>;
/**
* Max number of custom metrics that can be sent with this token
*/
customMetricsLimit?: pulumi.Input<number | undefined>;
/**
* Notification threshold for custom metrics
*/
customMetricsNotificationThreshold?: pulumi.Input<number | undefined>;
/**
* Max number of hi-res metrics that can be sent with this toke
*/
highResMetricsLimit?: pulumi.Input<number | undefined>;
/**
* Notification threshold for hi-res metrics
*/
highResMetricsNotificationThreshold?: pulumi.Input<number | undefined>;
/**
* Max number of hosts that can use this token
*/
hostLimit?: pulumi.Input<number | undefined>;
/**
* Notification threshold for hosts
*/
hostNotificationThreshold?: pulumi.Input<number | undefined>;
}
export interface SingleValueChartColorScale {
/**
* The color to use. Must be one of red, gold, iris, green, jade, gray, blue, azure, navy, brown, orange, yellow, magenta, cerise, pink, violet, purple, lilac, emerald, chartreuse, yellowgreen, aquamarine.
*/
color: pulumi.Input<string>;
/**
* Indicates the lower threshold non-inclusive value for this range.
*/
gt?: pulumi.Input<number | undefined>;
/**
* Indicates the lower threshold inclusive value for this range.
*/
gte?: pulumi.Input<number | undefined>;
/**
* Indicates the upper threshold non-inculsive value for this range.
*/
lt?: pulumi.Input<number | undefined>;
/**
* Indicates the upper threshold inclusive value for this range.
*/
lte?: pulumi.Input<number | undefined>;
}
export interface SingleValueChartVizOption {
/**
* The color to use. Must be one of gray, blue, light_blue, navy, dark_orange, orange, dark_yellow, magenta, cerise, pink, violet, purple, gray_blue, dark_green, green, aquamarine, red, yellow, vivid_yellow, light_green, or lime_green.
*/
color?: pulumi.Input<string | undefined>;
/**
* Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
*/
displayName?: pulumi.Input<string | undefined>;
/**
* Label used in the publish statement that displays the plot (metric time series data) you want to customize.
*/
label: pulumi.Input<string>;
/**
* , `valueSuffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
*/
valuePrefix?: pulumi.Input<string | undefined>;
/**
* An arbitrary suffix to display with the value of this plot
*/
valueSuffix?: pulumi.Input<string | undefined>;
/**
* A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes). Values values are `Bit, Kilobit, Megabit, Gigabit, Terabit, Petabit, Exabit, Zettabit, Yottabit, Byte, Kibibyte, Mebibyte, Gibibyte (note: this was previously typoed as Gigibyte), Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week`.
*/
valueUnit?: pulumi.Input<string | undefined>;
}
export interface SloInput {
/**
* Label used in `"programText"` that refers to the data block which contains the stream of successful events
*/
goodEventsLabel?: pulumi.Input<string | undefined>;
/**
* SignalFlow program and arguments text strings that define the streams used as successful event count and total event count
*/
programText: pulumi.Input<string>;
/**
* Label used in `"programText"` that refers to the data block which contains the stream of total events
*/
totalEventsLabel?: pulumi.Input<string | undefined>;
}
export interface SloTarget {
/**
* List of alert rules you want to set for this SLO target. An SLO alert rule of type BREACH is always required.
*/
alertRules: pulumi.Input<pulumi.Input<inputs.SloTargetAlertRule>[]>;
/**
* Compliance period of this SLO. This value must be within the range of 1d (1 days) to 30d (30 days), inclusive.
*/
compliancePeriod?: pulumi.Input<string | undefined>;
/**
* It can be used to change the cycle start time. For example, you can specify sunday as the start of the week (instead of the default monday)
*/
cycleStart?: pulumi.Input<string | undefined>;
/**
* The cycle type of the calendar window, e.g. week, month.
*/
cycleType?: pulumi.Input<string | undefined>;
/**
* Target value in the form of a percentage
*/
slo: pulumi.Input<number>;
/**
* SLO target type can be the following type: `"RollingWindow"`, `"CalendarWindow"`
*/
type: pulumi.Input<string>;
}
export interface SloTargetAlertRule {
/**
* Set of rules used for alerting.
*/
rules: pulumi.Input<pulumi.Input<inputs.SloTargetAlertRuleRule>[]>;
/**
* SLO alert rule can be one of the following types: BREACH, ERROR_BUDGET_LEFT, BURN_RATE. Within an SLO object, you can only specify one SLO alertRule per type. For example, you can't specify two alertRule of type BREACH. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
*/
type: pulumi.Input<string>;
}
export interface SloTargetAlertRuleRule {
/**
* Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
*/
description?: pulumi.Input<string | undefined>;
/**
* When true, notifications and events will not be generated for the detect label. `false` by default.
*/
disabled?: pulumi.Input<boolean | undefined>;
/**
* List of strings specifying where notifications will be sent when an incident occurs. See [Create SLO](https://dev.splunk.com/observability/reference/api/slo/latest#endpoint-create-new-slo) for more info.
*/
notifications?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Custom notification message body when an alert is triggered. See [Alert message](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html#alert-messages) for more info.
*/
parameterizedBody?: pulumi.Input<string | undefined>;
/**
* Custom notification message subject when an alert is triggered. See [Alert message](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html#alert-messages) for more info.
*/
parameterizedSubject?: pulumi.Input<string | undefined>;
/**
* Parameters for the SLO alert rule. Each SLO alert rule type accepts different parameters. If not specified, default parameters are used.
*/
parameters?: pulumi.Input<inputs.SloTargetAlertRuleRuleParameters | undefined>;
/**
* Reminder notification in a detector rule lets you send multiple notifications for active alerts over a defined period of time.
*/
reminderNotification?: pulumi.Input<inputs.SloTargetAlertRuleRuleReminderNotification | undefined>;
/**
* URL of page to consult when an alert is triggered. This can be used with custom notification messages.
*/
runbookUrl?: pulumi.Input<string | undefined>;
/**
* The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
*/
severity: pulumi.Input<string>;
/**
* One or more alert clear states for which clear notifications are not sent (one or more of: OK, AUTO_RESOLVED, STOPPED, MANUALLY_RESOLVED)
*/
skipClearNotificationStates?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
*/
tip?: pulumi.Input<string | undefined>;
}
export interface SloTargetAlertRuleRuleParameters {
/**
* Burn rate threshold 1 used in burn rate alert calculation. This value must be between 0 and 100/(100-SLO target). Note: `"BURN_RATE"` alert rules use the `"burnRateThreshold1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
*/
burnRateThreshold1?: pulumi.Input<number | undefined>;
/**
* Burn rate threshold 2 used in burn rate alert calculation. This value must be between 0 and 100/(100-SLO target). Note: `"BURN_RATE"` alert rules use the `"burnRateThreshold2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
*/
burnRateThreshold2?: pulumi.Input<number | undefined>;
/**
* Duration that indicates how long the alert condition is met before the alert is triggered. The value must be positive and smaller than the compliance period of the SLO target. Note: `"BREACH"` and `"ERROR_BUDGET_LEFT"` alert rules use the fireLasting parameter. Default: `"5m"`
*/
fireLasting?: pulumi.Input<string | undefined>;
/**
* Long window 1 used in burn rate alert calculation. This value must be longer than `"shortWindow1"` and shorter than 90 days. Note: `"BURN_RATE"` alert rules use the `"longWindow1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
*/
longWindow1?: pulumi.Input<string | undefined>;
/**
* Long window 2 used in burn rate alert calculation. This value must be longer than `"shortWindow2"` and shorter than 90 days. Note: `"BURN_RATE"` alert rules use the `"longWindow2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
*/
longWindow2?: pulumi.Input<string | undefined>;
/**
* Error budget must be equal to or smaller than this percentage for the alert to be triggered. Note: `"ERROR_BUDGET_LEFT"` alert rules use the `"percentErrorBudgetLeft"` parameter. Default: `100`
*/
percentErrorBudgetLeft?: pulumi.Input<number | undefined>;
/**
* Percentage of the `"fireLasting"` duration that the alert condition is met before the alert is triggered. Note: `"BREACH"` and `"ERROR_BUDGET_LEFT"` alert rules use the `"percentOfLasting"` parameter. Default: `100`
*/
percentOfLasting?: pulumi.Input<number | undefined>;
/**
* Short window 1 used in burn rate alert calculation. This value must be longer than 1/30 of `"longWindow1"`. Note: `"BURN_RATE"` alert rules use the `"shortWindow1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
*/
shortWindow1?: pulumi.Input<string | undefined>;
/**
* Short window 2 used in burn rate alert calculation. This value must be longer than 1/30 of `"longWindow2"`. Note: `"BURN_RATE"` alert rules use the `"shortWindow2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
*/
shortWindow2?: pulumi.Input<string | undefined>;
}
export interface SloTargetAlertRuleRuleReminderNotification {
/**
* The interval at which you want to receive the notifications, in milliseconds.
*/
intervalMs: pulumi.Input<number>;
/**
* The duration during which repeat notifications are sent, in milliseconds.
*/
timeoutMs?: pulumi.Input<number | undefined>;
/**
* Type of the SLO. Currently just: `"RequestBased"` is supported.
*/
type: pulumi.Input<string>;
}
export interface TableChartVizOption {
/**
* The color to use. Must be one of gray, blue, azure, navy, brown, orange, yellow, magenta, red, pink, violet, purple, lilac, emerald, chartreuse, yellowgreen.
*/
color?: pulumi.Input<string | undefined>;
/**
* Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
*/
displayName?: pulumi.Input<string | undefined>;
/**
* The label used in the publish statement that displays the plot (metric time series data) you want to customize
*/
label: pulumi.Input<string>;
/**
* An arbitrary prefix to display with the value of this plot
*/
valuePrefix?: pulumi.Input<string | undefined>;
/**
* An arbitrary suffix to display with the value of this plot
*/
valueSuffix?: pulumi.Input<string | undefined>;
/**
* A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes)
*/
valueUnit?: pulumi.Input<string | undefined>;
}
export interface TimeChartAxisLeft {
/**
* A line to draw as a high watermark.
*/
highWatermark?: pulumi.Input<number | undefined>;
/**
* A label to attach to the high watermark line.
*/
highWatermarkLabel?: pulumi.Input<string | undefined>;
/**
* Label of the left axis.
*/
label?: pulumi.Input<string | undefined>;
/**
* A line to draw as a low watermark.
*/
lowWatermark?: pulumi.Input<number | undefined>;
/**
* A label to attach to the low watermark line.
*/
lowWatermarkLabel?: pulumi.Input<string | undefined>;
/**
* The maximum value for the left axis.
*/
maxValue?: pulumi.Input<number | undefined>;
/**
* The minimum value for the left axis.
*/
minValue?: pulumi.Input<number | undefined>;
watermarks?: pulumi.Input<pulumi.Input<inputs.TimeChartAxisLeftWatermark>[] | undefined>;
}
export interface TimeChartAxisLeftWatermark {
/**
* Label to display associated with the watermark line
*/
label?: pulumi.Input<string | undefined>;
/**
* Axis value where the watermark line will be displayed
*/
value: pulumi.Input<number>;
}
export interface TimeChartAxisRight {
/**
* A line to draw as a high watermark.
*/
highWatermark?: pulumi.Input<number | undefined>;
/**
* A label to attach to the high watermark line.
*/
highWatermarkLabel?: pulumi.Input<string | undefined>;
/**
* Label of the right axis.
*/
label?: pulumi.Input<string | undefined>;
/**
* A line to draw as a low watermark.
*/
lowWatermark?: pulumi.Input<number | undefined>;
/**
* A label to attach to the low watermark line.
*/
lowWatermarkLabel?: pulumi.Input<string | undefined>;
/**
* The maximum value for the right axis.
*/
maxValue?: pulumi.Input<number | undefined>;
/**
* The minimum value for the right axis.
*/
minValue?: pulumi.Input<number | undefined>;
watermarks?: pulumi.Input<pulumi.Input<inputs.TimeChartAxisRightWatermark>[] | undefined>;
}
export interface TimeChartAxisRightWatermark {
/**
* Label to display associated with the watermark line
*/
label?: pulumi.Input<string | undefined>;
/**
* Axis value where the watermark line will be displayed
*/
value: pulumi.Input<number>;
}
export interface TimeChartEventOption {
/**
* Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
*/
color?: pulumi.Input<string | undefined>;
/**
* Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
*/
displayName?: pulumi.Input<string | undefined>;
/**
* Label used in the publish statement that displays the event query you want to customize.
*/
label: pulumi.Input<string>;
}
export interface TimeChartHistogramOption {
/**
* Color to use. Must be one of red, gold, iris, green, jade, gray, blue, azure, navy, brown, orange, yellow, magenta, cerise, pink, violet, purple, lilac, emerald, chartreuse, yellowgreen, aquamarine.
*/
colorTheme?: pulumi.Input<string | undefined>;
}
export interface TimeChartLegendOptionsField {
/**
* True or False depending on if you want the property to be shown or hidden.
*/
enabled?: pulumi.Input<boolean | undefined>;
/**
* The name of the property to display. Note the special values of `plotLabel` (corresponding with the API's `sfMetric`) which shows the label of the time series `publish()` and `metric` (corresponding with the API's `sf_originatingMetric`) that shows the name of the metric for the time series being displayed.
*/
property: pulumi.Input<string>;
}
export interface TimeChartVizOption {
/**
* Y-axis associated with values for this plot. Must be either `right` or `left`.
*/
axis?: pulumi.Input<string | undefined>;
/**
* Color to use. Must be one of red, gold, iris, green, jade, gray, blue, azure, navy, brown, orange, yellow, magenta, cerise, pink, violet, purple, lilac, emerald, chartreuse, yellowgreen, aquamarine.
*/
color?: pulumi.Input<string | undefined>;
/**
* Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
*/
displayName?: pulumi.Input<string | undefined>;
/**
* Label used in the publish statement that displays the plot (metric time series data) you want to customize.
*/
label: pulumi.Input<string>;
/**
* The visualization style to use. Must be `"LineChart"`, `"AreaChart"`, `"ColumnChart"`, or `"Histogram"`. Chart level `plotType` by default.
*/
plotType?: pulumi.Input<string | undefined>;
/**
* , `valueSuffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
*/
valuePrefix?: pulumi.Input<string | undefined>;
/**
* An arbitrary suffix to display with the value of this plot
*/
valueSuffix?: pulumi.Input<string | undefined>;
/**
* A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes). Values values are `Bit, Kilobit, Megabit, Gigabit, Terabit, Petabit, Exabit, Zettabit, Yottabit, Byte, Kibibyte, Mebibyte, Gibibyte (note: this was previously typoed as Gigibyte), Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week`.
*/
valueUnit?: pulumi.Input<string | undefined>;
}
export interface WebhookIntegrationHeader {
/**
* The key of the header to send
*/
headerKey: pulumi.Input<string>;
/**
* The value of the header to send
*/
headerValue: pulumi.Input<string>;
}
export declare namespace automatedarchival {
interface ExemptMetricExemptMetric {
/**
* Timestamp of when the automated archival setting was created
*/
created?: pulumi.Input<number | undefined>;
/**
* ID of the creator of the automated archival setting
*/
creator?: pulumi.Input<string | undefined>;
/**
* Timestamp of when the automated archival setting was last updated
*/
lastUpdated?: pulumi.Input<number | undefined>;
/**
* ID of user who last updated the automated archival setting
*/
lastUpdatedBy?: pulumi.Input<string | undefined>;
/**
* Name of the metric to be exempted from automated archival
*/
name: pulumi.Input<string>;
}
}
export declare namespace aws {
interface IntegrationCustomNamespaceSyncRule {
/**
* Controls the Splunk Observability Cloud default behavior for processing data from an AWS namespace. Splunk Observability Cloud ignores this property unless you specify the `filterAction` and `filterSource` properties. If you do specify them, use this property to control how Splunk Observability Cloud treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
*/
defaultAction?: pulumi.Input<string | undefined>;
/**
* Controls how Splunk Observability Cloud processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
*/
filterAction?: pulumi.Input<string | undefined>;
/**
* Expression that selects the data that Splunk Observability Cloud should sync for the custom namespace associated with this sync rule. The expression uses the syntax defined for the SignalFlow `filter()` function; it can be any valid SignalFlow filter expression.
*/
filterSource?: pulumi.Input<string | undefined>;
/**
* An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability Cloud. See the AWS documentation on publishing metrics for more information.
*/
namespace: pulumi.Input<string>;
}
interface IntegrationMetricStatsToSync {
/**
* AWS metric that you want to pick statistics for
*/
metric: pulumi.Input<string>;
/**
* An AWS namespace having AWS metric that you want to pick statistics for
*/
namespace: pulumi.Input<string>;
/**
* AWS statistics you want to collect
*/
stats: pulumi.Input<pulumi.Input<string>[]>;
}
interface IntegrationNam