import * as outputs from "../types/output"; export interface ActionConnectionAws { /** * Configuration for an assume role AWS connection */ assumeRole?: outputs.ActionConnectionAwsAssumeRole; } export interface ActionConnectionAwsAssumeRole { /** * AWS account that the connection is created for. String length must be at least 1. */ accountId?: string; /** * External ID that specifies which connection can be used to assume the role */ externalId: string; /** * AWS account that will assume the role */ principalId: string; /** * Role to assume. String length must be at least 1. */ role?: string; } export interface ActionConnectionHttp { /** * Base HTTP url for the integration. String length must be at least 1. */ baseUrl?: string; /** * Configuration for an HTTP connection that uses token auth */ tokenAuth?: outputs.ActionConnectionHttpTokenAuth; } export interface ActionConnectionHttpTokenAuth { /** * Body for HTTP authentication */ body?: outputs.ActionConnectionHttpTokenAuthBody; /** * Header for HTTP authentication */ headers?: outputs.ActionConnectionHttpTokenAuthHeader[]; /** * Token for HTTP authentication */ tokens?: outputs.ActionConnectionHttpTokenAuthToken[]; /** * URL parameter for HTTP authentication */ urlParameters?: outputs.ActionConnectionHttpTokenAuthUrlParameter[]; } export interface ActionConnectionHttpTokenAuthBody { /** * Serialized body content. String length must be at least 1. */ content?: string; /** * Content type of the body. String length must be at least 1. */ contentType?: string; } export interface ActionConnectionHttpTokenAuthHeader { /** * Header name. String length must be at least 1. */ name?: string; /** * String length must be at least 1. */ value?: string; } export interface ActionConnectionHttpTokenAuthToken { /** * Token name. String length must be at least 1. */ name?: string; /** * Token type Valid values are `SECRET`. */ type?: string; /** * Token value. String length must be at least 1. */ value?: string; } export interface ActionConnectionHttpTokenAuthUrlParameter { /** * URL parameter name. String length must be at least 1. */ name?: string; /** * URL parameter value. String length must be at least 1. */ value?: string; } export interface ApmRetentionFilterFilter { /** * The search query - follow the span search syntax, use `AND` between tags and `\` to escape special characters, use nanosecond for duration. Defaults to `"*"`. */ query: string; } export interface AppsecWafCustomRuleAction { /** * Override the default action to take when the WAF custom rule would block. */ action?: string; parameters?: outputs.AppsecWafCustomRuleActionParameters; } export interface AppsecWafCustomRuleActionParameters { /** * The location to redirect to when the WAF custom rule triggers. */ location?: string; /** * The status code to return when the WAF custom rule triggers. */ statusCode?: number; } export interface AppsecWafCustomRuleCondition { /** * Operator to use for the WAF Condition. */ operator?: string; parameters?: outputs.AppsecWafCustomRuleConditionParameters; } export interface AppsecWafCustomRuleConditionParameters { /** * Identifier of a list of data from the denylist. Can only be used as substitution from the list parameter. */ data?: string; inputs?: outputs.AppsecWafCustomRuleConditionParametersInput[]; /** * List of value to use with the condition. Only used with the phrase*match, !phrase*match, exact*match and !exact*match operator. */ lists?: string[]; options?: outputs.AppsecWafCustomRuleConditionParametersOptions; /** * Regex to use with the condition. Only used with match*regex and !match*regex operator. */ regex?: string; /** * Store the captured value in the specified tag name. Only used with the captureData operator. */ value?: string; } export interface AppsecWafCustomRuleConditionParametersInput { /** * Input from the request on which the condition should apply. */ address?: string; /** * Specific path for the input. */ keyPaths?: string[]; } export interface AppsecWafCustomRuleConditionParametersOptions { /** * Evaluate the value as case sensitive. */ caseSensitive?: boolean; /** * Only evaluate this condition if the value has a minimum amount of characters. */ minLength?: number; } export interface AppsecWafCustomRuleScope { /** * The environment scope for the WAF custom rule. */ env?: string; /** * The service scope for the WAF custom rule. */ service?: string; } export interface AppsecWafExclusionFilterRulesTarget { /** * Target a single WAF rule based on its identifier. */ ruleId?: string; tags?: outputs.AppsecWafExclusionFilterRulesTargetTags; } export interface AppsecWafExclusionFilterRulesTargetTags { /** * The category of the targeted WAF rules. */ category?: string; /** * The type of the targeted WAF rules. */ type?: string; } export interface AppsecWafExclusionFilterScope { /** * Deploy on this environment. */ env?: string; /** * Deploy on this service. */ service?: string; } export interface AwsCurConfigAccountFilters { /** * List of AWS account IDs to exclude from cost analysis. Only used when `includeNewAccounts` is `true`. Cannot be used together with `includedAccounts`. */ excludedAccounts?: string[]; /** * Whether to automatically include new member accounts in your cost analysis. When `true`, use `excludedAccounts` to specify accounts to exclude. When `false`, use `includedAccounts` to specify only the accounts to include. */ includeNewAccounts?: boolean; /** * List of AWS account IDs to include in cost analysis. Only used when `includeNewAccounts` is `false`. Cannot be used together with `excludedAccounts`. */ includedAccounts?: string[]; } export interface AzureUcConfigActualBillConfig { /** * The name of the configured Azure Export. */ exportName: string; /** * The path where the Azure Export is saved. */ exportPath: string; /** * The name of the storage account where the Azure Export is saved. */ storageAccount: string; /** * The name of the storage container where the Azure Export is saved. */ storageContainer: string; } export interface AzureUcConfigAmortizedBillConfig { /** * The name of the configured Azure Export. */ exportName: string; /** * The path where the Azure Export is saved. */ exportPath: string; /** * The name of the storage account where the Azure Export is saved. */ storageAccount: string; /** * The name of the storage container where the Azure Export is saved. */ storageContainer: string; } export interface ChildOrganizationApiKey { /** * API key. */ key: string; /** * Name of your API key. */ name: string; } export interface ChildOrganizationApplicationKey { /** * Hash of an application key. */ hash: string; /** * Name of an application key. */ name: string; /** * Owner of an application key. */ owner: string; } export interface ChildOrganizationSetting { /** * Whether or not the organization users can share widgets outside of Datadog. */ privateWidgetShare: boolean; /** * The access role of the user. Options are `st` (standard user), `adm` (admin user), or `ro` (read-only user). Allowed enum values: `st`, `adm` , `ro`, `ERROR` */ samlAutocreateAccessRole: string; /** * List of domains where the SAML automated user creation is enabled. */ samlAutocreateUsersDomains: outputs.ChildOrganizationSettingSamlAutocreateUsersDomain[]; /** * Whether or not SAML can be enabled for this organization. */ samlCanBeEnabled: boolean; /** * Identity provider endpoint for SAML authentication. */ samlIdpEndpoint: string; /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ samlIdpInitiatedLogins: outputs.ChildOrganizationSettingSamlIdpInitiatedLogin[]; /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ samlIdpMetadataUploaded: boolean; /** * URL for SAML logging. */ samlLoginUrl: string; /** * Whether or not the SAML strict mode is enabled. If true, all users must log in with SAML. */ samlStrictModes: outputs.ChildOrganizationSettingSamlStrictMode[]; /** * SAML properties */ samls: outputs.ChildOrganizationSettingSaml[]; } export interface ChildOrganizationSettingSaml { /** * Whether or not SAML is enabled for this organization. */ enabled: boolean; } export interface ChildOrganizationSettingSamlAutocreateUsersDomain { /** * List of domains where the SAML automated user creation is enabled. */ domains: string[]; /** * Whether or not the automated user creation based on SAML domain is enabled. */ enabled: boolean; } export interface ChildOrganizationSettingSamlIdpInitiatedLogin { /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ enabled: boolean; } export interface ChildOrganizationSettingSamlStrictMode { /** * Whether or not the SAML strict mode is enabled. If true, all users must log in with SAML. */ enabled: boolean; } export interface ChildOrganizationUser { /** * The access role of the user. Options are `st` (standard user), `adm` (admin user), or `ro` (read-only user). Allowed enum values: `st`, `adm`, `ro`, `ERROR` */ accessRole: string; /** * The new email of the user. */ email: string; /** * The name of the user. */ name: string; } export interface CloudConfigurationRuleFilter { /** * The type of filtering action. Valid values are `require`, `suppress`. */ action: string; /** * Query for selecting logs to apply the filtering action. */ query: string; } export interface CloudInventorySyncConfigAws { /** * AWS Account ID of the account holding the bucket. */ awsAccountId?: string; /** * Name of the S3 bucket holding the inventory files. */ destinationBucketName?: string; /** * AWS Region of the bucket holding the inventory files. */ destinationBucketRegion?: string; /** * Prefix path within the bucket for inventory files. */ destinationPrefix?: string; } export interface CloudInventorySyncConfigAzure { /** * Azure Client ID. */ clientId?: string; /** * Azure Storage Container name. */ container?: string; /** * Azure Resource Group name. */ resourceGroup?: string; /** * Azure Storage Account name. */ storageAccount?: string; /** * Azure Subscription ID. */ subscriptionId?: string; /** * Azure Tenant ID. */ tenantId?: string; } export interface CloudInventorySyncConfigGcp { /** * Name of the GCS bucket holding the inventory files. */ destinationBucketName?: string; /** * GCP Project ID of the project holding the bucket. */ projectId?: string; /** * Service account email used for reading the bucket. */ serviceAccountEmail?: string; /** * Name of the source bucket the inventory report is generated for. */ sourceBucketName?: string; } export interface ComplianceCustomFrameworkRequirement { /** * The controls of the requirement. Length must be at least 1. */ controls: outputs.ComplianceCustomFrameworkRequirementControl[]; /** * The name of the requirement. String length must be at least 1. */ name: string; } export interface ComplianceCustomFrameworkRequirementControl { /** * The name of the control. String length must be at least 1. */ name: string; /** * The set of rules IDs for the control. Length must be at least 1. */ rulesIds: string[]; } export interface CostBudgetBudgetLine { /** * Map of month (YYYYMM) to budget amount. Example: {"202601": 1000.0, "202602": 1200.0} */ amounts: { [key: string]: number; }; /** * Child tag filters for hierarchical budgets. **Note:** Must be used with parent*tag*filters. Cannot be used with tag*filters. */ childTagFilters?: outputs.CostBudgetBudgetLineChildTagFilter[]; /** * Parent tag filters for hierarchical budgets. **Note:** Must be used with child*tag*filters. Cannot be used with tag*filters. */ parentTagFilters?: outputs.CostBudgetBudgetLineParentTagFilter[]; /** * Tag filters for non-hierarchical budgets. **Note:** Cannot be used with parent*tag*filters/child*tag*filters. */ tagFilters?: outputs.CostBudgetBudgetLineTagFilter[]; } export interface CostBudgetBudgetLineChildTagFilter { /** * Must be one of the tags from the `metricsQuery`. */ tagKey: string; tagValue: string; } export interface CostBudgetBudgetLineParentTagFilter { /** * Must be one of the tags from the `metricsQuery`. */ tagKey: string; tagValue: string; } export interface CostBudgetBudgetLineTagFilter { /** * Must be one of the tags from the `metricsQuery`. */ tagKey: string; tagValue: string; } export interface CostBudgetEntry { amount: number; month: number; tagFilters?: outputs.CostBudgetEntryTagFilter[]; } export interface CostBudgetEntryTagFilter { /** * **Note:** Must be one of the tags from the `metricsQuery`. */ tagKey: string; tagValue: string; } export interface CsmThreatsAgentRuleAction { /** * Hash action configuration */ hash?: outputs.CsmThreatsAgentRuleActionHash; /** * Set action configuration */ set?: outputs.CsmThreatsAgentRuleActionSet; } export interface CsmThreatsAgentRuleActionHash { /** * The field to hash */ field?: string; } export interface CsmThreatsAgentRuleActionSet { /** * Whether to append to the set */ append: boolean; /** * The default value to set */ defaultValue: string; /** * The expression to use for the set action */ expression: string; /** * The field to get the value from */ field: string; /** * Whether the set action is inherited */ inherited: boolean; /** * The name of the set action */ name?: string; /** * The scope of the set action (process, container, cgroup, or empty) */ scope: string; /** * The maximum size of the set */ size: number; /** * The time to live for the set in nanoseconds */ ttl: number; /** * The value to set */ value: string; } export interface CustomAllocationRuleCostsToAllocate { /** * The condition to match. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition?: string; /** * The tag key to filter on (e.g., `awsProduct`, `team`, `environment`). */ tag?: string; /** * The single tag value to match. Use this field for conditions like `=`, `!=`, `is`, `is not`, `like`. Do not use with `in` or `not in` conditions. */ value?: string; /** * A list of tag values to match. Use this field for `in` or `not in` conditions only. Do not use with single-value conditions. */ values?: string[]; } export interface CustomAllocationRuleStrategy { allocatedBies?: outputs.CustomAllocationRuleStrategyAllocatedBy[]; allocatedByFilters?: outputs.CustomAllocationRuleStrategyAllocatedByFilter[]; /** * List of tag keys used to allocate costs (e.g., `["team", "project"]`). Costs will be distributed across unique values of these tags. */ allocatedByTagKeys?: string[]; basedOnCosts?: outputs.CustomAllocationRuleStrategyBasedOnCost[]; basedOnTimeseries?: outputs.CustomAllocationRuleStrategyBasedOnTimeseries; evaluateGroupedByFilters?: outputs.CustomAllocationRuleStrategyEvaluateGroupedByFilter[]; /** * List of tag keys used to group costs before allocation. Costs are grouped by these tag values before applying the allocation strategy. */ evaluateGroupedByTagKeys?: string[]; /** * The granularity level for cost allocation. Valid values are `daily` or `monthly`. */ granularity?: string; /** * The allocation method. Valid values are `even`, `proportional`, `proportionalTimeseries`, or `percent`. */ method?: string; } export interface CustomAllocationRuleStrategyAllocatedBy { allocatedTags?: outputs.CustomAllocationRuleStrategyAllocatedByAllocatedTag[]; /** * The percentage of costs to allocate to this target as a decimal (e.g., 0.33 for 33%). Used when `method` is `percent`. */ percentage?: number; } export interface CustomAllocationRuleStrategyAllocatedByAllocatedTag { /** * The tag key to allocate costs to (e.g., `team`, `environment`). */ key?: string; /** * The tag value to allocate costs to (e.g., `backend`, `production`). */ value?: string; } export interface CustomAllocationRuleStrategyAllocatedByFilter { /** * The condition to match. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition?: string; /** * The tag key to filter on for allocation targets. */ tag?: string; /** * The single tag value to match for allocation. Use with conditions like `=`, `!=`, `is`, `is not`, `like`. */ value?: string; /** * A list of tag values to match for allocation. Use with `in` or `not in` conditions. */ values?: string[]; } export interface CustomAllocationRuleStrategyBasedOnCost { /** * The condition to match. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition?: string; /** * The tag key to use as the basis for cost allocation calculations. */ tag?: string; /** * The single tag value to use for cost calculations. Use with conditions like `=`, `!=`, `is`, `is not`, `like`. */ value?: string; /** * A list of tag values to use for cost calculations. Use with `in` or `not in` conditions. */ values?: string[]; } export interface CustomAllocationRuleStrategyBasedOnTimeseries { } export interface CustomAllocationRuleStrategyEvaluateGroupedByFilter { /** * The condition to match. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition?: string; /** * The tag key to filter on when grouping costs for evaluation. */ tag?: string; /** * The single tag value to match when grouping. Use with conditions like `=`, `!=`, `is`, `is not`, `like`. */ value?: string; /** * A list of tag values to match when grouping. Use with `in` or `not in` conditions. */ values?: string[]; } export interface DashboardListDashItem { /** * The ID of the dashboard to add */ dashId: string; /** * The type of this dashboard. Valid values are `customTimeboard`, `customScreenboard`, `integrationScreenboard`, `integrationTimeboard`, `hostTimeboard`. */ type: string; } export interface DashboardTab { /** * The UUID of the tab. */ id: string; /** * The name of the tab. */ name: string; /** * List of widget references for this tab. Use @N format to reference widgets by position (1-indexed). */ widgetIds: string[]; } export interface DashboardTemplateVariable { /** * The list of values that the template variable drop-down is be limited to */ availableValues?: string[]; /** * The default value for the template variable on dashboard load. Cannot be used in conjunction with `defaults`. **Deprecated.** Use `defaults` instead. * * @deprecated Use `defaults` instead. */ default?: string; /** * One or many default values for template variables on load. If more than one default is specified, they will be unioned together with `OR`. Cannot be used in conjunction with `default`. */ defaults?: string[]; /** * The name of the variable. */ name: string; /** * The tag prefix associated with the variable. Only tags with this prefix appear in the variable dropdown. */ prefix?: string; } export interface DashboardTemplateVariablePreset { /** * The name of the preset. */ name?: string; /** * The template variable names and assumed values under the given preset */ templateVariables?: outputs.DashboardTemplateVariablePresetTemplateVariable[]; } export interface DashboardTemplateVariablePresetTemplateVariable { /** * The name of the template variable */ name?: string; /** * The value that should be assumed by the template variable in this preset. Cannot be used in conjunction with `values`. **Deprecated.** Use `values` instead. * * @deprecated Use `values` instead. */ value?: string; /** * One or many template variable values within the saved view, which will be unioned together using `OR` if more than one is specified. Cannot be used in conjunction with `value`. */ values?: string[]; } export interface DashboardWidget { /** * The definition for a Alert Graph widget. */ alertGraphDefinition?: outputs.DashboardWidgetAlertGraphDefinition; /** * The definition for a Alert Value widget. */ alertValueDefinition?: outputs.DashboardWidgetAlertValueDefinition; /** * The definition for a Change widget. */ changeDefinition?: outputs.DashboardWidgetChangeDefinition; /** * The definition for a Check Status widget. */ checkStatusDefinition?: outputs.DashboardWidgetCheckStatusDefinition; /** * The definition for a Distribution widget. */ distributionDefinition?: outputs.DashboardWidgetDistributionDefinition; /** * The definition for a Event Stream widget. */ eventStreamDefinition?: outputs.DashboardWidgetEventStreamDefinition; /** * The definition for a Event Timeline widget. */ eventTimelineDefinition?: outputs.DashboardWidgetEventTimelineDefinition; /** * The definition for a Free Text widget. */ freeTextDefinition?: outputs.DashboardWidgetFreeTextDefinition; /** * The definition for a Geomap widget. */ geomapDefinition?: outputs.DashboardWidgetGeomapDefinition; /** * The definition for a Group widget. */ groupDefinition?: outputs.DashboardWidgetGroupDefinition; /** * The definition for a Heatmap widget. */ heatmapDefinition?: outputs.DashboardWidgetHeatmapDefinition; /** * The definition for a Hostmap widget. */ hostmapDefinition?: outputs.DashboardWidgetHostmapDefinition; /** * The ID of the widget. */ id: number; /** * The definition for an Iframe widget. */ iframeDefinition?: outputs.DashboardWidgetIframeDefinition; /** * The definition for an Image widget */ imageDefinition?: outputs.DashboardWidgetImageDefinition; /** * The definition for a List Stream widget. */ listStreamDefinition?: outputs.DashboardWidgetListStreamDefinition; /** * The definition for an Log Stream widget. */ logStreamDefinition?: outputs.DashboardWidgetLogStreamDefinition; /** * The definition for an Manage Status widget. */ manageStatusDefinition?: outputs.DashboardWidgetManageStatusDefinition; /** * The definition for a Note widget. */ noteDefinition?: outputs.DashboardWidgetNoteDefinition; /** * The definition for a Powerpack widget. */ powerpackDefinition?: outputs.DashboardWidgetPowerpackDefinition; /** * The definition for a Query Table widget. */ queryTableDefinition?: outputs.DashboardWidgetQueryTableDefinition; /** * The definition for a Query Value widget. */ queryValueDefinition?: outputs.DashboardWidgetQueryValueDefinition; /** * The definition for a Run Workflow widget. */ runWorkflowDefinition?: outputs.DashboardWidgetRunWorkflowDefinition; /** * The definition for a Scatterplot widget. */ scatterplotDefinition?: outputs.DashboardWidgetScatterplotDefinition; /** * The definition for a Service Level Objective widget. */ serviceLevelObjectiveDefinition?: outputs.DashboardWidgetServiceLevelObjectiveDefinition; /** * The definition for a Service Map widget. */ servicemapDefinition?: outputs.DashboardWidgetServicemapDefinition; /** * The definition for an SLO (Service Level Objective) List widget. */ sloListDefinition?: outputs.DashboardWidgetSloListDefinition; /** * The definition for a Split Graph widget. */ splitGraphDefinition?: outputs.DashboardWidgetSplitGraphDefinition; /** * The definition for a Sunburst widget. */ sunburstDefinition?: outputs.DashboardWidgetSunburstDefinition; /** * The definition for a Timeseries widget. */ timeseriesDefinition?: outputs.DashboardWidgetTimeseriesDefinition; /** * The definition for a Toplist widget. */ toplistDefinition?: outputs.DashboardWidgetToplistDefinition; /** * The definition for a Topology Map widget. */ topologyMapDefinition?: outputs.DashboardWidgetTopologyMapDefinition; /** * The definition for a Trace Service widget. */ traceServiceDefinition?: outputs.DashboardWidgetTraceServiceDefinition; /** * The definition for a Treemap widget. */ treemapDefinition?: outputs.DashboardWidgetTreemapDefinition; /** * The layout of the widget on a 'free' dashboard. */ widgetLayout?: outputs.DashboardWidgetWidgetLayout; } export interface DashboardWidgetAlertGraphDefinition { /** * The ID of the monitor used by the widget. */ alertId: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * Type of visualization to use when displaying the widget. Valid values are `timeseries`, `toplist`. */ vizType: string; } export interface DashboardWidgetAlertValueDefinition { /** * The ID of the monitor used by the widget. */ alertId: string; /** * The precision to use when displaying the value. Use `*` for maximum precision. */ precision?: number; /** * The alignment of the text in the widget. Valid values are `center`, `left`, `right`. */ textAlign?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * The unit for the value displayed in the widget. */ unit?: string; } export interface DashboardWidgetApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetApmQueryGroupBySortQuery; } export interface DashboardWidgetApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetChangeDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetChangeDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple request blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ requests?: outputs.DashboardWidgetChangeDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetChangeDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetChangeDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * Whether to show absolute or relative change. Valid values are `absolute`, `relative`. */ changeType?: string; /** * Choose from when to compare current data to. Valid values are `hourBefore`, `dayBefore`, `weekBefore`, `monthBefore`. */ compareTo?: string; formulas?: outputs.DashboardWidgetChangeDefinitionRequestFormula[]; /** * A Boolean indicating whether an increase in the value is good (displayed in green) or not (displayed in red). */ increaseGood?: boolean; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * What to order by. Valid values are `change`, `name`, `present`, `past`. */ orderBy?: string; /** * Widget sorting method. Valid values are `asc`, `desc`. */ orderDir?: string; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetChangeDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetChangeDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; /** * If set to `true`, displays the current value. */ showPresent?: boolean; } export interface DashboardWidgetChangeDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetChangeDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetChangeDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetChangeDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetChangeDefinitionRequestFormulaStyle; } export interface DashboardWidgetChangeDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetChangeDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetChangeDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetChangeDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetChangeDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetChangeDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetChangeDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetChangeDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetChangeDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetChangeDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetChangeDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetChangeDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetChangeDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetChangeDefinitionRequestQuerySloQuery; } export interface DashboardWidgetChangeDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetChangeDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetChangeDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetChangeDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetChangeDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetChangeDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetChangeDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetChangeDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetChangeDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetChangeDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetChangeDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetChangeDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetCheckStatusDefinition { /** * The check to use in the widget. */ check: string; /** * The check group to use in the widget. */ group?: string; /** * When `grouping = "cluster"`, indicates a list of tags to use for grouping. */ groupBies?: string[]; /** * The kind of grouping to use. Valid values are `check`, `cluster`. */ grouping: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A list of tags to use in the widget. */ tags?: string[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetDistributionDefinition { /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The size of the legend displayed in the widget. */ legendSize?: string; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple request blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ requests?: outputs.DashboardWidgetDistributionDefinitionRequest[]; /** * Whether or not to show the legend on this widget. */ showLegend?: boolean; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the X-Axis Controls. Exactly one nested block is allowed using the structure below. */ xaxis?: outputs.DashboardWidgetDistributionDefinitionXaxis; /** * A nested block describing the Y-Axis Controls. Exactly one nested block is allowed using the structure below. */ yaxis?: outputs.DashboardWidgetDistributionDefinitionYaxis; } export interface DashboardWidgetDistributionDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; apmStatsQuery?: outputs.DashboardWidgetDistributionDefinitionRequestApmStatsQuery; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetDistributionDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.DashboardWidgetDistributionDefinitionRequestStyle; } export interface DashboardWidgetDistributionDefinitionRequestApmStatsQuery { /** * Column properties used by the front end for display. */ columns?: outputs.DashboardWidgetDistributionDefinitionRequestApmStatsQueryColumn[]; /** * The environment name. */ env: string; /** * The operation name associated with the service. */ name: string; /** * The organization's host group name and value. */ primaryTag: string; /** * The resource name. */ resource?: string; /** * The level of detail for the request. Valid values are `service`, `resource`, `span`. */ rowType: string; /** * The service name. */ service: string; } export interface DashboardWidgetDistributionDefinitionRequestApmStatsQueryColumn { /** * A user-assigned alias for the column. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * The column name. */ name: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetDistributionDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetDistributionDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface DashboardWidgetDistributionDefinitionXaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetDistributionDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetEventStreamDefinition { /** * The size to use to display an event. Valid values are `s`, `l`. */ eventSize?: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The query to use in the widget. */ query: string; /** * The execution method for multi-value filters, options: `and` or `or`. */ tagsExecution?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetEventTimelineDefinition { /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The query to use in the widget. */ query: string; /** * The execution method for multi-value filters, options: `and` or `or`. */ tagsExecution?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetFreeTextDefinition { /** * The color of the text in the widget. */ color?: string; /** * The size of the text in the widget. */ fontSize?: string; /** * The text to display in the widget. */ text: string; /** * The alignment of the text in the widget. Valid values are `center`, `left`, `right`. */ textAlign?: string; } export interface DashboardWidgetGeomapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetGeomapDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `logQuery` or `rumQuery` is required within the `request` block). */ requests?: outputs.DashboardWidgetGeomapDefinitionRequest[]; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.DashboardWidgetGeomapDefinitionStyle; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * The view of the world that the map should render. */ view: outputs.DashboardWidgetGeomapDefinitionView; } export interface DashboardWidgetGeomapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetGeomapDefinitionRequest { formulas?: outputs.DashboardWidgetGeomapDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetGeomapDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; } export interface DashboardWidgetGeomapDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetGeomapDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetGeomapDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetGeomapDefinitionRequestFormulaStyle; } export interface DashboardWidgetGeomapDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetGeomapDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetGeomapDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetGeomapDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetGeomapDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetGeomapDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetGeomapDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetGeomapDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetGeomapDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetGeomapDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetGeomapDefinitionRequestQuerySloQuery; } export interface DashboardWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetGeomapDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetGeomapDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetGeomapDefinitionStyle { /** * The color palette to apply to the widget. */ palette: string; /** * A Boolean indicating whether to flip the palette tones. */ paletteFlip: boolean; } export interface DashboardWidgetGeomapDefinitionView { /** * The two-letter ISO code of a country to focus the map on (or `WORLD`). */ focus: string; } export interface DashboardWidgetGroupDefinition { /** * The background color of the group title, options: `vividBlue`, `vividPurple`, `vividPink`, `vividOrange`, `vividYellow`, `vividGreen`, `blue`, `purple`, `pink`, `orange`, `yellow`, `green`, `gray` or `white` */ backgroundColor?: string; /** * The image URL to display as a banner for the group. */ bannerImg?: string; /** * The layout type of the group. Valid values are `ordered`. */ layoutType: string; /** * Whether to show the title or not. Defaults to `true`. */ showTitle?: boolean; /** * The title of the group. */ title?: string; /** * The list of widgets in this group. */ widgets?: outputs.DashboardWidgetGroupDefinitionWidget[]; } export interface DashboardWidgetGroupDefinitionWidget { /** * The definition for a Alert Graph widget. */ alertGraphDefinition?: outputs.DashboardWidgetAlertGraphDefinition; /** * The definition for a Alert Value widget. */ alertValueDefinition?: outputs.DashboardWidgetAlertValueDefinition; /** * The definition for a Change widget. */ changeDefinition?: outputs.DashboardWidgetChangeDefinition; /** * The definition for a Check Status widget. */ checkStatusDefinition?: outputs.DashboardWidgetCheckStatusDefinition; /** * The definition for a Distribution widget. */ distributionDefinition?: outputs.DashboardWidgetDistributionDefinition; /** * The definition for a Event Stream widget. */ eventStreamDefinition?: outputs.DashboardWidgetEventStreamDefinition; /** * The definition for a Event Timeline widget. */ eventTimelineDefinition?: outputs.DashboardWidgetEventTimelineDefinition; /** * The definition for a Free Text widget. */ freeTextDefinition?: outputs.DashboardWidgetFreeTextDefinition; /** * The definition for a Geomap widget. */ geomapDefinition?: outputs.DashboardWidgetGeomapDefinition; /** * The definition for a Heatmap widget. */ heatmapDefinition?: outputs.DashboardWidgetHeatmapDefinition; /** * The definition for a Hostmap widget. */ hostmapDefinition?: outputs.DashboardWidgetHostmapDefinition; /** * The ID of the widget. */ id: number; /** * The definition for an Iframe widget. */ iframeDefinition?: outputs.DashboardWidgetIframeDefinition; /** * The definition for an Image widget */ imageDefinition?: outputs.DashboardWidgetImageDefinition; /** * The definition for a List Stream widget. */ listStreamDefinition?: outputs.DashboardWidgetListStreamDefinition; /** * The definition for an Log Stream widget. */ logStreamDefinition?: outputs.DashboardWidgetLogStreamDefinition; /** * The definition for an Manage Status widget. */ manageStatusDefinition?: outputs.DashboardWidgetManageStatusDefinition; /** * The definition for a Note widget. */ noteDefinition?: outputs.DashboardWidgetNoteDefinition; /** * The definition for a Powerpack widget. */ powerpackDefinition?: outputs.DashboardWidgetPowerpackDefinition; /** * The definition for a Query Table widget. */ queryTableDefinition?: outputs.DashboardWidgetQueryTableDefinition; /** * The definition for a Query Value widget. */ queryValueDefinition?: outputs.DashboardWidgetQueryValueDefinition; /** * The definition for a Run Workflow widget. */ runWorkflowDefinition?: outputs.DashboardWidgetRunWorkflowDefinition; /** * The definition for a Scatterplot widget. */ scatterplotDefinition?: outputs.DashboardWidgetScatterplotDefinition; /** * The definition for a Service Level Objective widget. */ serviceLevelObjectiveDefinition?: outputs.DashboardWidgetServiceLevelObjectiveDefinition; /** * The definition for a Service Map widget. */ servicemapDefinition?: outputs.DashboardWidgetServicemapDefinition; /** * The definition for an SLO (Service Level Objective) List widget. */ sloListDefinition?: outputs.DashboardWidgetSloListDefinition; /** * The definition for a Split Graph widget. */ splitGraphDefinition?: outputs.DashboardWidgetSplitGraphDefinition; /** * The definition for a Sunburst widget. */ sunburstDefinition?: outputs.DashboardWidgetSunburstDefinition; /** * The definition for a Timeseries widget. */ timeseriesDefinition?: outputs.DashboardWidgetTimeseriesDefinition; /** * The definition for a Toplist widget. */ toplistDefinition?: outputs.DashboardWidgetToplistDefinition; /** * The definition for a Topology Map widget. */ topologyMapDefinition?: outputs.DashboardWidgetTopologyMapDefinition; /** * The definition for a Trace Service widget. */ traceServiceDefinition?: outputs.DashboardWidgetTraceServiceDefinition; /** * The definition for a Treemap widget. */ treemapDefinition?: outputs.DashboardWidgetTreemapDefinition; /** * The layout of the widget on a 'free' dashboard. */ widgetLayout?: outputs.DashboardWidgetGroupDefinitionWidgetWidgetLayout; } export interface DashboardWidgetGroupDefinitionWidgetWidgetLayout { /** * The height of the widget. */ height: number; /** * Whether the widget should be the first one on the second column in high density or not. Only one widget in the dashboard should have this property set to `true`. */ isColumnBreak?: boolean; /** * The width of the widget. */ width: number; /** * The position of the widget on the x (horizontal) axis. Must be greater than or equal to 0. */ x: number; /** * The position of the widget on the y (vertical) axis. Must be greater than or equal to 0. */ y: number; } export interface DashboardWidgetHeatmapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetHeatmapDefinitionCustomLink[]; /** * The definition of the event to overlay on the graph. Multiple `event` blocks are allowed using the structure below. */ events?: outputs.DashboardWidgetHeatmapDefinitionEvent[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The size of the legend displayed in the widget. */ legendSize?: string; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ requests?: outputs.DashboardWidgetHeatmapDefinitionRequest[]; /** * Whether or not to show the legend on this widget. */ showLegend?: boolean; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the Y-Axis Controls. The structure of this block is described below. */ yaxis?: outputs.DashboardWidgetHeatmapDefinitionYaxis; } export interface DashboardWidgetHeatmapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetHeatmapDefinitionEvent { /** * The event query to use in the widget. */ q: string; /** * The execution method for multi-value filters. */ tagsExecution?: string; } export interface DashboardWidgetHeatmapDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; formulas?: outputs.DashboardWidgetHeatmapDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetHeatmapDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.DashboardWidgetHeatmapDefinitionRequestStyle; } export interface DashboardWidgetHeatmapDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaStyle; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetHeatmapDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetHeatmapDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetHeatmapDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetHeatmapDefinitionRequestQuerySloQuery; } export interface DashboardWidgetHeatmapDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetHeatmapDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetHeatmapDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetHeatmapDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetHeatmapDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface DashboardWidgetHeatmapDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetHostmapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetHostmapDefinitionCustomLink[]; /** * The list of tags to group nodes by. */ groups?: string[]; /** * A Boolean indicating whether to show ungrouped nodes. */ noGroupHosts?: boolean; /** * A Boolean indicating whether to show nodes with no metrics. */ noMetricHosts?: boolean; /** * The type of node used. Valid values are `host`, `container`. */ nodeType?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below. */ request?: outputs.DashboardWidgetHostmapDefinitionRequest; /** * The list of tags to filter nodes by. */ scopes?: string[]; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.DashboardWidgetHostmapDefinitionStyle; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetHostmapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetHostmapDefinitionRequest { /** * The query used to fill the map. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ fills?: outputs.DashboardWidgetHostmapDefinitionRequestFill[]; /** * The query used to size the map. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ sizes?: outputs.DashboardWidgetHostmapDefinitionRequestSize[]; } export interface DashboardWidgetHostmapDefinitionRequestFill { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetHostmapDefinitionRequestFillProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; } export interface DashboardWidgetHostmapDefinitionRequestFillProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetHostmapDefinitionRequestSize { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetHostmapDefinitionRequestSizeProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; } export interface DashboardWidgetHostmapDefinitionRequestSizeProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetHostmapDefinitionStyle { /** * The max value to use to color the map. */ fillMax?: string; /** * The min value to use to color the map. */ fillMin?: string; /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; /** * A Boolean indicating whether to flip the palette tones. */ paletteFlip?: boolean; } export interface DashboardWidgetIframeDefinition { /** * The URL to use as a data source for the widget. */ url: string; } export interface DashboardWidgetImageDefinition { /** * Whether to display a background or not. Defaults to `true`. */ hasBackground?: boolean; /** * Whether to display a border or not. Defaults to `true`. */ hasBorder?: boolean; /** * The horizontal alignment for the widget. Valid values are `center`, `left`, `right`. */ horizontalAlign?: string; /** * The margins to use around the image. Note: `small` and `large` values are deprecated. Valid values are `sm`, `md`, `lg`, `small`, `large`. */ margin?: string; /** * The preferred method to adapt the dimensions of the image. The values are based on the image `object-fit` CSS properties. Note: `zoom`, `fit` and `center` values are deprecated. Valid values are `fill`, `contain`, `cover`, `none`, `scale-down`, `zoom`, `fit`, `center`. */ sizing?: string; /** * The URL to use as a data source for the widget. */ url: string; /** * The URL in dark mode to use as a data source for the widget. */ urlDarkTheme?: string; /** * The vertical alignment for the widget. Valid values are `center`, `top`, `bottom`. */ verticalAlign?: string; } export interface DashboardWidgetListStreamDefinition { /** * Nested block describing the requests to use when displaying the widget. Multiple `request` blocks are allowed with the structure below. */ requests: outputs.DashboardWidgetListStreamDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title. Default is 16. */ titleSize?: string; } export interface DashboardWidgetListStreamDefinitionRequest { /** * Widget columns. */ columns: outputs.DashboardWidgetListStreamDefinitionRequestColumn[]; /** * Updated list stream widget. */ query: outputs.DashboardWidgetListStreamDefinitionRequestQuery; /** * Widget response format. Valid values are `eventList`. */ responseFormat: string; } export interface DashboardWidgetListStreamDefinitionRequestColumn { /** * Widget column field. */ field?: string; /** * Widget column width. Valid values are `auto`, `compact`, `full`. */ width?: string; } export interface DashboardWidgetListStreamDefinitionRequestQuery { /** * Specifies the field for logs pattern clustering. Can only be used with `logsPatternStream`. */ clusteringPatternFieldPath?: string; /** * Source from which to query items to display in the stream. Valid values are `logsStream`, `auditStream`, `ciPipelineStream`, `ciTestStream`, `rumIssueStream`, `apmIssueStream`, `traceStream`, `logsIssueStream`, `logsPatternStream`, `logsTransactionStream`, `eventStream`, `rumStream`, `llmObservabilityStream`. */ dataSource: string; /** * Size of events displayed in widget. Required if `dataSource` is `eventStream`. Valid values are `s`, `l`. */ eventSize?: string; /** * Group by configuration for the List Stream widget. Group by can only be used with `logsPatternStream` (up to 4 items) or `logsTransactionStream` (one group by item is required) list stream source. */ groupBies?: outputs.DashboardWidgetListStreamDefinitionRequestQueryGroupBy[]; /** * List of indexes. */ indexes?: string[]; /** * Widget query. */ queryString?: string; /** * The facet and order to sort the data, for example: `{"column": "time", "order": "desc"}`. */ sort?: outputs.DashboardWidgetListStreamDefinitionRequestQuerySort; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetListStreamDefinitionRequestQueryGroupBy { /** * Facet name */ facet: string; } export interface DashboardWidgetListStreamDefinitionRequestQuerySort { /** * The facet path for the column. */ column: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetLogQueryGroupBySortQuery; } export interface DashboardWidgetLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetLogStreamDefinition { /** * Stringified list of columns to use, for example: `["column1","column2","column3"]`. */ columns?: string[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The number of log lines to display. Valid values are `inline`, `expanded-md`, `expanded-lg`. */ messageDisplay?: string; /** * The query to use in the widget. */ query?: string; /** * If the date column should be displayed. */ showDateColumn?: boolean; /** * If the message column should be displayed. */ showMessageColumn?: boolean; /** * The facet and order to sort the data, for example: `{"column": "time", "order": "desc"}`. */ sort?: outputs.DashboardWidgetLogStreamDefinitionSort; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetLogStreamDefinitionSort { /** * The facet path for the column. */ column: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetManageStatusDefinition { /** * Whether to colorize text or background. Valid values are `background`, `text`. */ colorPreference?: string; /** * The display setting to use. Valid values are `counts`, `countsAndList`, `list`. */ displayFormat?: string; /** * A Boolean indicating whether to hide empty categories. */ hideZeroCounts?: boolean; /** * The query to use in the widget. */ query: string; /** * A Boolean indicating whether to show when monitors/groups last triggered. */ showLastTriggered?: boolean; /** * Whether to show the priorities column. */ showPriority?: boolean; /** * The method to sort the monitors. Valid values are `name`, `group`, `status`, `tags`, `triggered`, `group,asc`, `group,desc`, `name,asc`, `name,desc`, `status,asc`, `status,desc`, `tags,asc`, `tags,desc`, `triggered,asc`, `triggered,desc`, `priority,asc`, `priority,desc`. */ sort?: string; /** * The summary type to use. Valid values are `monitors`, `groups`, `combined`. */ summaryType?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetNoteDefinition { /** * The background color of the note. */ backgroundColor?: string; /** * The content of the note. */ content: string; /** * The size of the text. */ fontSize?: string; /** * Whether to add padding or not. Defaults to `true`. */ hasPadding?: boolean; /** * Whether to show a tick or not. */ showTick?: boolean; /** * The alignment of the widget's text. Valid values are `center`, `left`, `right`. */ textAlign?: string; /** * When `tick = true`, a string indicating on which side of the widget the tick should be displayed. Valid values are `bottom`, `left`, `right`, `top`. */ tickEdge?: string; /** * When `tick = true`, a string with a percent sign indicating the position of the tick, for example: `tickPos = "50%"` is centered alignment. */ tickPos?: string; /** * The vertical alignment for the widget. Valid values are `center`, `top`, `bottom`. */ verticalAlign?: string; } export interface DashboardWidgetPowerpackDefinition { /** * The background color of the powerpack title. */ backgroundColor?: string; /** * URL of image to display as a banner for the powerpack. */ bannerImg?: string; /** * UUID of the associated powerpack. */ powerpackId: string; /** * Whether to show the title of the powerpack. */ showTitle?: boolean; /** * The list of template variables for this powerpack. */ templateVariables?: outputs.DashboardWidgetPowerpackDefinitionTemplateVariables; /** * Title of the powerpack. */ title?: string; } export interface DashboardWidgetPowerpackDefinitionTemplateVariables { /** * Template variables controlled at the powerpack level. */ controlledByPowerpacks?: outputs.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpack[]; /** * Template variables controlled by the external resource, such as the dashboard this powerpack is on. */ controlledExternallies?: outputs.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternally[]; } export interface DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpack { /** * The name of the variable. */ name: string; /** * The tag prefix associated with the variable. Only tags with this prefix appear in the variable dropdown. */ prefix?: string; /** * One or many template variable values within the saved view, which will be unioned together using `OR` if more than one is specified. */ values: string[]; } export interface DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternally { /** * The name of the variable. */ name: string; /** * The tag prefix associated with the variable. Only tags with this prefix appear in the variable dropdown. */ prefix?: string; /** * One or many template variable values within the saved view, which will be unioned together using `OR` if more than one is specified. */ values: string[]; } export interface DashboardWidgetQueryTableDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetQueryTableDefinitionCustomLink[]; /** * Controls the display of the search bar. Valid values are `always`, `never`, `auto`. */ hasSearchBar?: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery`, `apmStatsQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.DashboardWidgetQueryTableDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetQueryTableDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetQueryTableDefinitionRequest { /** * The aggregator to use for time aggregation. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The alias for the column name (defaults to metric name). */ alias?: string; /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; apmStatsQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestApmStatsQuery; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayModes?: string[]; /** * Conditional formats allow you to set the color of your widget content or background, depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetQueryTableDefinitionRequestConditionalFormat[]; formulas?: outputs.DashboardWidgetQueryTableDefinitionRequestFormula[]; /** * The number of lines to show in the table. */ limit?: number; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The sort order for the rows. Valid values are `asc`, `desc`. */ order?: string; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetQueryTableDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; /** * Text formats define how to format text in table widget content. Multiple `textFormats` blocks are allowed using the structure below. This resource is in beta and is subject to change. */ textFormats?: outputs.DashboardWidgetQueryTableDefinitionRequestTextFormat[]; } export interface DashboardWidgetQueryTableDefinitionRequestApmStatsQuery { /** * Column properties used by the front end for display. */ columns?: outputs.DashboardWidgetQueryTableDefinitionRequestApmStatsQueryColumn[]; /** * The environment name. */ env: string; /** * The operation name associated with the service. */ name: string; /** * The organization's host group name and value. */ primaryTag: string; /** * The resource name. */ resource?: string; /** * The level of detail for the request. Valid values are `service`, `resource`, `span`. */ rowType: string; /** * The service name. */ service: string; } export interface DashboardWidgetQueryTableDefinitionRequestApmStatsQueryColumn { /** * A user-assigned alias for the column. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * The column name. */ name: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetQueryTableDefinitionRequestConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetQueryTableDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * A list of display modes for each table cell. */ cellDisplayModeOptions?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaCellDisplayModeOptions; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaStyle; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaCellDisplayModeOptions { /** * The type of trend line to display. Valid values are `area`, `line`, `bars`. */ trendType?: string; /** * The scale of the y-axis. Valid values are `shared`, `independent`. */ yScale?: string; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetQueryTableDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetQueryTableDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetQueryTableDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetQueryTableDefinitionRequestQuerySloQuery; } export interface DashboardWidgetQueryTableDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetQueryTableDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetQueryTableDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetQueryTableDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetQueryTableDefinitionRequestTextFormat { /** * The text format to apply to the items in a table widget column. */ textFormats?: outputs.DashboardWidgetQueryTableDefinitionRequestTextFormatTextFormat[]; } export interface DashboardWidgetQueryTableDefinitionRequestTextFormatTextFormat { /** * The custom color palette to apply to the background. */ customBgColor?: string; /** * The custom color palette to apply to the foreground text. */ customFgColor?: string; /** * Match rule for the table widget text format. */ match: outputs.DashboardWidgetQueryTableDefinitionRequestTextFormatTextFormatMatch; /** * The color palette to apply. Valid values are `whiteOnRed`, `whiteOnYellow`, `whiteOnGreen`, `blackOnLightRed`, `blackOnLightYellow`, `blackOnLightGreen`, `redOnWhite`, `yellowOnWhite`, `greenOnWhite`, `customBg`, `customText`. */ palette?: string; /** * Match rule for the table widget text format. */ replace?: outputs.DashboardWidgetQueryTableDefinitionRequestTextFormatTextFormatReplace; } export interface DashboardWidgetQueryTableDefinitionRequestTextFormatTextFormatMatch { /** * Match or compare option. Valid values are `is`, `isNot`, `contains`, `doesNotContain`, `startsWith`, `endsWith`. */ type: string; /** * Table Widget Match String. */ value: string; } export interface DashboardWidgetQueryTableDefinitionRequestTextFormatTextFormatReplace { /** * Text that will be replaced. Must be used with type `substring`. */ substring?: string; /** * Table widget text format replace all type. */ type: string; /** * Table Widget Match String. */ with: string; } export interface DashboardWidgetQueryValueDefinition { /** * A Boolean indicating whether to automatically scale the tile. */ autoscale?: boolean; /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetQueryValueDefinitionCustomLink[]; /** * The unit for the value displayed in the widget. */ customUnit?: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The precision to use when displaying the tile. */ precision?: number; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.DashboardWidgetQueryValueDefinitionRequest[]; /** * The alignment of the widget's text. Valid values are `center`, `left`, `right`. */ textAlign?: string; /** * Set a timeseries on the widget background. */ timeseriesBackground?: outputs.DashboardWidgetQueryValueDefinitionTimeseriesBackground; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetQueryValueDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetQueryValueDefinitionRequest { /** * The aggregator to use for time aggregation. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestAuditQuery; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetQueryValueDefinitionRequestConditionalFormat[]; formulas?: outputs.DashboardWidgetQueryValueDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetQueryValueDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; } export interface DashboardWidgetQueryValueDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetQueryValueDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetQueryValueDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetQueryValueDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetQueryValueDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestAuditQueryGroupBySortQuery; } export interface DashboardWidgetQueryValueDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetQueryValueDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetQueryValueDefinitionRequestConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetQueryValueDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaStyle; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetQueryValueDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetQueryValueDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetQueryValueDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetQueryValueDefinitionRequestQuerySloQuery; } export interface DashboardWidgetQueryValueDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetQueryValueDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetQueryValueDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetQueryValueDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetQueryValueDefinitionTimeseriesBackground { /** * Whether the Timeseries is made using an area or bars. Valid values are `bars`, `area`. */ type: string; /** * A nested block describing the Y-Axis Controls. Exactly one nested block is allowed using the structure below. */ yaxis?: outputs.DashboardWidgetQueryValueDefinitionTimeseriesBackgroundYaxis; } export interface DashboardWidgetQueryValueDefinitionTimeseriesBackgroundYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetRumQueryGroupBySortQuery; } export interface DashboardWidgetRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetRunWorkflowDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetRunWorkflowDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * Array of workflow inputs to map to dashboard template variables. */ inputs?: outputs.DashboardWidgetRunWorkflowDefinitionInput[]; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * Workflow ID */ workflowId: string; } export interface DashboardWidgetRunWorkflowDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetRunWorkflowDefinitionInput { /** * Name of the workflow input. */ name: string; /** * Dashboard template variable. Can be suffixed with `.value` or `.key`. */ value: string; } export interface DashboardWidgetScatterplotDefinition { /** * List of groups used for colors. */ colorByGroups?: string[]; /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetScatterplotDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Exactly one `request` block is allowed using the structure below. */ request?: outputs.DashboardWidgetScatterplotDefinitionRequest; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the X-Axis Controls. Exactly one nested block is allowed using the structure below. */ xaxis?: outputs.DashboardWidgetScatterplotDefinitionXaxis; /** * A nested block describing the Y-Axis Controls. Exactly one nested block is allowed using the structure below. */ yaxis?: outputs.DashboardWidgetScatterplotDefinitionYaxis; } export interface DashboardWidgetScatterplotDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetScatterplotDefinitionRequest { /** * Scatterplot request containing formulas and functions. */ scatterplotTables?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTable[]; /** * The query used for the X-Axis. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery`, `apmStatsQuery` or `processQuery` is required within the block). */ xes?: outputs.DashboardWidgetScatterplotDefinitionRequestX[]; /** * The query used for the Y-Axis. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery`, `apmStatsQuery` or `processQuery` is required within the block). */ ys?: outputs.DashboardWidgetScatterplotDefinitionRequestY[]; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTable { formulas?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableFormula[]; queries?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQuery[]; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableFormula { /** * An expression alias. */ alias?: string; /** * Dimension of the Scatterplot. Valid values are `x`, `y`, `radius`, `color`. */ dimension: string; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQuerySloQuery; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBySort; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetScatterplotDefinitionRequestScatterplotTableQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetScatterplotDefinitionRequestX { /** * Aggregator used for the request. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestXProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; } export interface DashboardWidgetScatterplotDefinitionRequestXProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetScatterplotDefinitionRequestY { /** * Aggregator used for the request. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetScatterplotDefinitionRequestYProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; } export interface DashboardWidgetScatterplotDefinitionRequestYProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetScatterplotDefinitionXaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetScatterplotDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetSecurityQueryGroupBySortQuery; } export interface DashboardWidgetSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetServiceLevelObjectiveDefinition { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The global time target of the widget. */ globalTimeTarget?: string; /** * Whether to show the error budget or not. */ showErrorBudget?: boolean; /** * The ID of the service level objective used by the widget. */ sloId: string; /** * A list of time windows to display in the widget. Valid values are `7d`, `30d`, `90d`, `weekToDate`, `previousWeek`, `monthToDate`, `previousMonth`, `globalTime`. */ timeWindows: string[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * The view mode for the widget. Valid values are `overall`, `component`, `both`. */ viewMode: string; /** * The type of view to use when displaying the widget. Only `detail` is supported. */ viewType: string; } export interface DashboardWidgetServicemapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetServicemapDefinitionCustomLink[]; /** * Your environment and primary tag (or `*` if enabled for your account). */ filters: string[]; /** * The ID of the service to map. */ service: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetServicemapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetSloListDefinition { /** * A nested block describing the request to use when displaying the widget. Exactly one `request` block is allowed. */ request: outputs.DashboardWidgetSloListDefinitionRequest; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetSloListDefinitionRequest { /** * Updated SLO List widget. */ query: outputs.DashboardWidgetSloListDefinitionRequestQuery; /** * The request type for the SLO List request. Valid values are `sloList`. */ requestType: string; } export interface DashboardWidgetSloListDefinitionRequestQuery { /** * Maximum number of results to display in the table. Defaults to `100`. */ limit?: number; /** * Widget query. */ queryString: string; /** * The facet and order to sort the data, for example: `{"column": "status.sli", "order": "desc"}`. */ sort?: outputs.DashboardWidgetSloListDefinitionRequestQuerySort; } export interface DashboardWidgetSloListDefinitionRequestQuerySort { /** * The facet path for the column. */ column: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetSplitGraphDefinition { /** * Normalize y axes across graphs. */ hasUniformYAxes?: boolean; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * Size of the individual graphs in the split. */ size: string; /** * The original widget we are splitting on. */ sourceWidgetDefinition: outputs.DashboardWidgetSplitGraphDefinitionSourceWidgetDefinition; /** * Encapsulates all user choices about how to split a graph. */ splitConfig: outputs.DashboardWidgetSplitGraphDefinitionSplitConfig; /** * The title of the widget. */ title?: string; } export interface DashboardWidgetSplitGraphDefinitionSourceWidgetDefinition { /** * The definition for a Change widget. */ changeDefinition?: outputs.DashboardWidgetChangeDefinition; /** * The definition for a Geomap widget. */ geomapDefinition?: outputs.DashboardWidgetGeomapDefinition; /** * The definition for a Query Table widget. */ queryTableDefinition?: outputs.DashboardWidgetQueryTableDefinition; /** * The definition for a Query Value widget. */ queryValueDefinition?: outputs.DashboardWidgetQueryValueDefinition; /** * The definition for a Scatterplot widget. */ scatterplotDefinition?: outputs.DashboardWidgetScatterplotDefinition; /** * The definition for a Sunburst widget. */ sunburstDefinition?: outputs.DashboardWidgetSunburstDefinition; /** * The definition for a Timeseries widget. */ timeseriesDefinition?: outputs.DashboardWidgetTimeseriesDefinition; /** * The definition for a Toplist widget. */ toplistDefinition?: outputs.DashboardWidgetToplistDefinition; /** * The definition for a Treemap widget. */ treemapDefinition?: outputs.DashboardWidgetTreemapDefinition; } export interface DashboardWidgetSplitGraphDefinitionSplitConfig { /** * Maximum number of graphs to display in the widget. */ limit?: number; /** * Controls the order in which graphs appear in the split. */ sort: outputs.DashboardWidgetSplitGraphDefinitionSplitConfigSort; /** * The property by which the graph splits */ splitDimensions: outputs.DashboardWidgetSplitGraphDefinitionSplitConfigSplitDimensions; /** * The property by which the graph splits */ staticSplits?: outputs.DashboardWidgetSplitGraphDefinitionSplitConfigStaticSplit[]; } export interface DashboardWidgetSplitGraphDefinitionSplitConfigSort { /** * Defines the metric and aggregation used as the sort value */ compute?: outputs.DashboardWidgetSplitGraphDefinitionSplitConfigSortCompute; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetSplitGraphDefinitionSplitConfigSortCompute { /** * How to aggregate the sort metric for the purposes of ordering. */ aggregation?: string; /** * The metric to use for sorting graphs. */ metric: string; } export interface DashboardWidgetSplitGraphDefinitionSplitConfigSplitDimensions { /** * The system interprets this attribute differently depending on the data source of the query being split. For metrics, it's a tag. For the events platform, it's an attribute or tag. */ oneGraphPer: string; } export interface DashboardWidgetSplitGraphDefinitionSplitConfigStaticSplit { /** * The split graph list contains a graph for each value of the split dimension. */ splitVectors: outputs.DashboardWidgetSplitGraphDefinitionSplitConfigStaticSplitSplitVector[]; } export interface DashboardWidgetSplitGraphDefinitionSplitConfigStaticSplitSplitVector { tagKey: string; tagValues: string[]; } export interface DashboardWidgetSunburstDefinition { /** * Nested block describing a custom link. Multiple `customLink` blocks are allowed with the structure below. */ customLinks?: outputs.DashboardWidgetSunburstDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * Whether or not to show the total value in the widget. */ hideTotal?: boolean; /** * Used to configure the inline legend. Cannot be used in conjunction with legend*table. */ legendInline?: outputs.DashboardWidgetSunburstDefinitionLegendInline; /** * Used to configure the table legend. Cannot be used in conjunction with legend*inline. */ legendTable?: outputs.DashboardWidgetSunburstDefinitionLegendTable; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * Nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed with the structure below (exactly one of `q`, `logQuery` or `rumQuery` is required within the `request` block). */ requests?: outputs.DashboardWidgetSunburstDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. One of `left`, `center`, or `right`. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title. Default is 16. */ titleSize?: string; } export interface DashboardWidgetSunburstDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetSunburstDefinitionLegendInline { /** * Whether to hide the percentages of the groups. */ hidePercent?: boolean; /** * Whether to hide the values of the groups. */ hideValue?: boolean; /** * The type of legend (inline or automatic). Valid values are `inline`, `automatic`. */ type: string; } export interface DashboardWidgetSunburstDefinitionLegendTable { /** * The type of legend (table or none). Valid values are `table`, `none`. */ type: string; } export interface DashboardWidgetSunburstDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.DashboardWidgetSunburstDefinitionRequestAuditQuery; formulas?: outputs.DashboardWidgetSunburstDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The query to use for this widget. */ networkQuery?: outputs.DashboardWidgetSunburstDefinitionRequestNetworkQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetSunburstDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetSunburstDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; /** * Define style for the widget's request. */ style?: outputs.DashboardWidgetSunburstDefinitionRequestStyle; } export interface DashboardWidgetSunburstDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetSunburstDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetSunburstDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetSunburstDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetSunburstDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetSunburstDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetSunburstDefinitionRequestAuditQueryGroupBySortQuery; } export interface DashboardWidgetSunburstDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetSunburstDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetSunburstDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetSunburstDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetSunburstDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetSunburstDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetSunburstDefinitionRequestFormulaStyle; } export interface DashboardWidgetSunburstDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetSunburstDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetSunburstDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetSunburstDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetSunburstDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetSunburstDefinitionRequestNetworkQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetSunburstDefinitionRequestNetworkQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetSunburstDefinitionRequestNetworkQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetSunburstDefinitionRequestNetworkQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetSunburstDefinitionRequestNetworkQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetSunburstDefinitionRequestNetworkQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetSunburstDefinitionRequestNetworkQueryGroupBySortQuery; } export interface DashboardWidgetSunburstDefinitionRequestNetworkQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetSunburstDefinitionRequestNetworkQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetSunburstDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetSunburstDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetSunburstDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetSunburstDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetSunburstDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetSunburstDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetSunburstDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetSunburstDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetSunburstDefinitionRequestQuerySloQuery; } export interface DashboardWidgetSunburstDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetSunburstDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetSunburstDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetSunburstDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetSunburstDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetSunburstDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface DashboardWidgetTimeseriesDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetTimeseriesDefinitionCustomLink[]; /** * The definition of the event to overlay on the graph. Multiple `event` blocks are allowed using the structure below. */ events?: outputs.DashboardWidgetTimeseriesDefinitionEvent[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * A list of columns to display in the legend. Valid values are `value`, `avg`, `sum`, `min`, `max`. */ legendColumns?: string[]; /** * The layout of the legend displayed in the widget. Valid values are `auto`, `horizontal`, `vertical`. */ legendLayout?: string; /** * The size of the legend displayed in the widget. */ legendSize?: string; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the marker to use when displaying the widget. The structure of this block is described below. Multiple `marker` blocks are allowed within a given `tileDef` block. */ markers?: outputs.DashboardWidgetTimeseriesDefinitionMarker[]; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `networkQuery`, `securityQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.DashboardWidgetTimeseriesDefinitionRequest[]; /** * A nested block describing the right Y-Axis Controls. See the `onRightYaxis` property for which request will use this axis. The structure of this block is described below. */ rightYaxis?: outputs.DashboardWidgetTimeseriesDefinitionRightYaxis; /** * Whether or not to show the legend on this widget. */ showLegend?: boolean; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the Y-Axis Controls. The structure of this block is described below. */ yaxis?: outputs.DashboardWidgetTimeseriesDefinitionYaxis; } export interface DashboardWidgetTimeseriesDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetTimeseriesDefinitionEvent { /** * The event query to use in the widget. */ q: string; /** * The execution method for multi-value filters. */ tagsExecution?: string; } export interface DashboardWidgetTimeseriesDefinitionMarker { /** * How the marker lines are displayed, options are one of {`error`, `warning`, `info`, `ok`} combined with one of {`dashed`, `solid`, `bold`}. Example: `error dashed`. */ displayType?: string; /** * A label for the line or range. */ label?: string; /** * A mathematical expression describing the marker, for example: `y > 1`, `-5 < y < 0`, `y = 19`. */ value: string; } export interface DashboardWidgetTimeseriesDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestAuditQuery; /** * How to display the marker lines. Valid values are `area`, `bars`, `line`, `overlay`. */ displayType?: string; formulas?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * Used to define expression aliases. Multiple `metadata` blocks are allowed using the structure below. */ metadatas?: outputs.DashboardWidgetTimeseriesDefinitionRequestMetadata[]; /** * The query to use for this widget. */ networkQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestNetworkQuery; /** * A Boolean indicating whether the request uses the right or left Y-Axis. */ onRightYaxis?: boolean; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetTimeseriesDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; /** * The style of the widget graph. Exactly one `style` block is allowed using the structure below. */ style?: outputs.DashboardWidgetTimeseriesDefinitionRequestStyle; } export interface DashboardWidgetTimeseriesDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetTimeseriesDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetTimeseriesDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetTimeseriesDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestAuditQueryGroupBySortQuery; } export interface DashboardWidgetTimeseriesDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetTimeseriesDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetTimeseriesDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaStyle; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetTimeseriesDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetTimeseriesDefinitionRequestMetadata { /** * The expression alias. */ aliasName?: string; /** * The expression name. */ expression: string; } export interface DashboardWidgetTimeseriesDefinitionRequestNetworkQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestNetworkQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetTimeseriesDefinitionRequestNetworkQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetTimeseriesDefinitionRequestNetworkQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestNetworkQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetTimeseriesDefinitionRequestNetworkQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestNetworkQueryGroupBySortQuery; } export interface DashboardWidgetTimeseriesDefinitionRequestNetworkQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetTimeseriesDefinitionRequestNetworkQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetTimeseriesDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetTimeseriesDefinitionRequestQuerySloQuery; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetTimeseriesDefinitionRequestStyle { /** * If true, the value is displayed as a label relative to the data point. */ hasValueLabels?: boolean; /** * The type of lines displayed. Valid values are `dashed`, `dotted`, `solid`. */ lineType?: string; /** * The width of line displayed. Valid values are `normal`, `thick`, `thin`. */ lineWidth?: string; /** * How to order series in timeseries visualizations. Valid values are `tags`, `values`. */ orderBy?: string; /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface DashboardWidgetTimeseriesDefinitionRightYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetTimeseriesDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface DashboardWidgetToplistDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetToplistDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.DashboardWidgetToplistDefinitionRequest[]; /** * The style of the widget */ styles?: outputs.DashboardWidgetToplistDefinitionStyle[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetToplistDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetToplistDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.DashboardWidgetApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.DashboardWidgetToplistDefinitionRequestAuditQuery; /** * Conditional formats allow you to set the color of your widget content or background, depending on a rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetToplistDefinitionRequestConditionalFormat[]; formulas?: outputs.DashboardWidgetToplistDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.DashboardWidgetLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.DashboardWidgetToplistDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.DashboardWidgetToplistDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.DashboardWidgetRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.DashboardWidgetSecurityQuery; /** * Define request for the widget's style. */ style?: outputs.DashboardWidgetToplistDefinitionRequestStyle; } export interface DashboardWidgetToplistDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.DashboardWidgetToplistDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.DashboardWidgetToplistDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.DashboardWidgetToplistDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface DashboardWidgetToplistDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetToplistDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.DashboardWidgetToplistDefinitionRequestAuditQueryGroupBySortQuery; } export interface DashboardWidgetToplistDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface DashboardWidgetToplistDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface DashboardWidgetToplistDefinitionRequestConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetToplistDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetToplistDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetToplistDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetToplistDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetToplistDefinitionRequestFormulaStyle; } export interface DashboardWidgetToplistDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetToplistDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetToplistDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetToplistDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetToplistDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetToplistDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface DashboardWidgetToplistDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetToplistDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetToplistDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetToplistDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetToplistDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetToplistDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetToplistDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetToplistDefinitionRequestQuerySloQuery; } export interface DashboardWidgetToplistDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetToplistDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetToplistDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetToplistDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetToplistDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetToplistDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetToplistDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetToplistDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetToplistDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetToplistDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetToplistDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetToplistDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetToplistDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface DashboardWidgetToplistDefinitionStyle { /** * The display mode for the widget. */ displays?: outputs.DashboardWidgetToplistDefinitionStyleDisplay[]; /** * The color palette for the widget. */ palette?: string; /** * The scaling mode for the widget. Valid values are `absolute`, `relative`. */ scaling: string; } export interface DashboardWidgetToplistDefinitionStyleDisplay { /** * The display type for the widget. */ type: string; } export interface DashboardWidgetTopologyMapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetTopologyMapDefinitionCustomLink[]; /** * A nested block describing the request to use when displaying the widget. Multiple request blocks are allowed using the structure below (`query` and `requestType` are required within the request). */ requests?: outputs.DashboardWidgetTopologyMapDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetTopologyMapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetTopologyMapDefinitionRequest { /** * The query for a Topology request. */ queries: outputs.DashboardWidgetTopologyMapDefinitionRequestQuery[]; /** * The request type for the Topology request ('topology'). Valid values are `topology`. */ requestType: string; } export interface DashboardWidgetTopologyMapDefinitionRequestQuery { /** * The data source for the Topology request ('service*map' or 'data*streams'). Valid values are `dataStreams`, `serviceMap`. */ dataSource: string; /** * Your environment and primary tag (or `*` if enabled for your account). */ filters: string[]; /** * The ID of the service to map. */ service: string; } export interface DashboardWidgetTraceServiceDefinition { /** * The number of columns to display. Valid values are `oneColumn`, `twoColumn`, `threeColumn`. */ displayFormat?: string; /** * APM environment. */ env: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * APM service. */ service: string; /** * Whether to show the latency breakdown or not. */ showBreakdown?: boolean; /** * Whether to show the latency distribution or not. */ showDistribution?: boolean; /** * Whether to show the error metrics or not. */ showErrors?: boolean; /** * Whether to show the hits metrics or not */ showHits?: boolean; /** * Whether to show the latency metrics or not. */ showLatency?: boolean; /** * Whether to show the resource list or not. */ showResourceList?: boolean; /** * The size of the widget. Valid values are `small`, `medium`, `large`. */ sizeFormat?: string; /** * APM span name */ spanName: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface DashboardWidgetTreemapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.DashboardWidgetTreemapDefinitionCustomLink[]; /** * Nested block describing the request to use when displaying the widget. */ requests?: outputs.DashboardWidgetTreemapDefinitionRequest[]; /** * The title of the widget. */ title?: string; } export interface DashboardWidgetTreemapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface DashboardWidgetTreemapDefinitionRequest { formulas?: outputs.DashboardWidgetTreemapDefinitionRequestFormula[]; queries?: outputs.DashboardWidgetTreemapDefinitionRequestQuery[]; } export interface DashboardWidgetTreemapDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.DashboardWidgetTreemapDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.DashboardWidgetTreemapDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.DashboardWidgetTreemapDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.DashboardWidgetTreemapDefinitionRequestFormulaStyle; } export interface DashboardWidgetTreemapDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface DashboardWidgetTreemapDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface DashboardWidgetTreemapDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnitScale; } export interface DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCustom; } export interface DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface DashboardWidgetTreemapDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface DashboardWidgetTreemapDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface DashboardWidgetTreemapDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.DashboardWidgetTreemapDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.DashboardWidgetTreemapDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.DashboardWidgetTreemapDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.DashboardWidgetTreemapDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.DashboardWidgetTreemapDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.DashboardWidgetTreemapDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.DashboardWidgetTreemapDefinitionRequestQuerySloQuery; } export interface DashboardWidgetTreemapDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.DashboardWidgetTreemapDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.DashboardWidgetTreemapDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupBySort; } export interface DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface DashboardWidgetTreemapDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface DashboardWidgetTreemapDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface DashboardWidgetWidgetLayout { /** * The height of the widget. */ height: number; /** * Whether the widget should be the first one on the second column in high density or not. Only one widget in the dashboard should have this property set to `true`. */ isColumnBreak?: boolean; /** * The width of the widget. */ width: number; /** * The position of the widget on the x (horizontal) axis. Must be greater than or equal to 0. */ x: number; /** * The position of the widget on the y (vertical) axis. Must be greater than or equal to 0. */ y: number; } export interface DatasetProductFilter { /** * A list of tag-based filters used to restrict access to the product type. Each filter is formatted as `@tag.key:value`. */ filters: string[]; /** * The product type of the dataset. Supported types: `apm`, `rum`, `synthetics`, `metrics`, `logs`, `sdRepoinfo`, `errorTracking`, `cloudCost`, and `mlObs`. */ product: string; } export interface DeploymentGateRule { /** * Whether the rule is in dry run mode. */ dryRun: boolean; /** * The rule ID. */ id: string; /** * The rule name. Must be unique within the deployment gate. */ name: string; /** * Options for the deployment rule. */ options?: outputs.DeploymentGateRuleOptions; /** * The rule type (e.g., 'faulty*deployment*detection', 'monitor'). */ type: string; } export interface DeploymentGateRuleOptions { /** * The duration for the rule. */ duration?: number; /** * Resources to exclude from faulty deployment detection. */ excludedResources?: string[]; /** * The query for monitor rules. */ query?: string; } export interface DowntimeRecurrence { /** * How often to repeat as an integer. For example to repeat every 3 days, select a `type` of `days` and a `period` of `3`. */ period?: number; /** * The RRULE standard for defining recurring events. For example, to have a recurring event on the first day of each month, use `FREQ=MONTHLY;INTERVAL=1`. Most common rrule options from the iCalendar Spec are supported. Attributes specifying the duration in RRULE are not supported (for example, `DTSTART`, `DTEND`, `DURATION`). Only applicable when `type` is `rrule`. */ rrule?: string; /** * One of `days`, `weeks`, `months`, `years`, or `rrule`. */ type: string; /** * The date at which the recurrence should end as a POSIX timestamp. `untilOccurrences` and `untilDate` are mutually exclusive. */ untilDate?: number; /** * How many times the downtime will be rescheduled. `untilOccurrences` and `untilDate` are mutually exclusive. */ untilOccurrences?: number; /** * A list of week days to repeat on. Choose from: `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` or `Sun`. Only applicable when `type` is `weeks`. First letter must be capitalized. */ weekDays?: string[]; } export interface DowntimeScheduleMonitorIdentifier { /** * ID of the monitor to prevent notifications. */ monitorId?: number; /** * A list of monitor tags. For example, tags that are applied directly to monitors, not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. The resulting downtime applies to monitors that match **all** provided monitor tags. Setting `monitorTags` to `[*]` configures the downtime to mute all monitors for the given scope. */ monitorTags?: string[]; } export interface DowntimeScheduleOneTimeSchedule { /** * ISO-8601 Datetime to end the downtime. Must include a UTC offset of zero. If not provided, the downtime never ends. */ end?: string; /** * ISO-8601 Datetime to start the downtime. Must include a UTC offset of zero. If not provided, the downtime starts the moment it is created. */ start: string; } export interface DowntimeScheduleRecurringSchedule { recurrences?: outputs.DowntimeScheduleRecurringScheduleRecurrence[]; /** * The timezone in which to schedule the downtime. */ timezone: string; } export interface DowntimeScheduleRecurringScheduleRecurrence { /** * The length of the downtime. Must begin with an integer and end with one of 'm', 'h', d', or 'w'. */ duration: string; /** * The `RRULE` standard for defining recurring events. For example, to have a recurring event on the first day of each month, set the type to `rrule` and set the `FREQ` to `MONTHLY` and `BYMONTHDAY` to `1`. Most common `rrule` options from the [iCalendar Spec](https://tools.ietf.org/html/rfc5545) are supported. **Note**: Attributes specifying the duration in `RRULE` are not supported (for example, `DTSTART`, `DTEND`, `DURATION`). More examples available in this [downtime guide](https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api). */ rrule: string; /** * ISO-8601 Datetime to start the downtime. Must not include a UTC offset. If not provided, the downtime starts the moment it is created. */ start: string; } export interface GetActionConnectionAws { /** * Configuration for an assume role AWS connection */ assumeRole?: outputs.GetActionConnectionAwsAssumeRole; } export interface GetActionConnectionAwsAssumeRole { /** * AWS account that the connection is created for */ accountId: string; /** * External ID that specifies which connection can be used to assume the role */ externalId: string; /** * AWS account that will assume the role */ principalId: string; /** * Role to assume */ role: string; } export interface GetActionConnectionHttp { /** * Base HTTP url for the integration */ baseUrl: string; /** * Configuration for an HTTP connection that uses token auth */ tokenAuth?: outputs.GetActionConnectionHttpTokenAuth; } export interface GetActionConnectionHttpTokenAuth { /** * Body for HTTP authentication */ body?: outputs.GetActionConnectionHttpTokenAuthBody; /** * Header for HTTP authentication */ headers?: outputs.GetActionConnectionHttpTokenAuthHeader[]; /** * Token for HTTP authentication */ tokens?: outputs.GetActionConnectionHttpTokenAuthToken[]; /** * URL parameter for HTTP authentication */ urlParameters?: outputs.GetActionConnectionHttpTokenAuthUrlParameter[]; } export interface GetActionConnectionHttpTokenAuthBody { /** * Serialized body content */ content: string; /** * Content type of the body */ contentType: string; } export interface GetActionConnectionHttpTokenAuthHeader { /** * Header name */ name: string; value: string; } export interface GetActionConnectionHttpTokenAuthToken { /** * Token name */ name: string; /** * Token type */ type: string; /** * Token value */ value: string; } export interface GetActionConnectionHttpTokenAuthUrlParameter { /** * URL parameter name */ name: string; /** * URL parameter value */ value: string; } export interface GetAwsCurConfigAccountFilters { /** * List of AWS account IDs excluded from cost analysis. */ excludedAccounts: string[]; /** * Whether new member accounts are automatically included in cost analysis. */ includeNewAccounts: boolean; /** * List of AWS account IDs included in cost analysis. */ includedAccounts: string[]; } export interface GetAzureUcConfigActualBillConfig { /** * The name of the configured Azure Export. */ exportName: string; /** * The path where the Azure Export is saved. */ exportPath: string; /** * The name of the storage account where the Azure Export is saved. */ storageAccount: string; /** * The name of the storage container where the Azure Export is saved. */ storageContainer: string; } export interface GetAzureUcConfigAmortizedBillConfig { /** * The name of the configured Azure Export. */ exportName: string; /** * The path where the Azure Export is saved. */ exportPath: string; /** * The name of the storage account where the Azure Export is saved. */ storageAccount: string; /** * The name of the storage container where the Azure Export is saved. */ storageContainer: string; } export interface GetCloudWorkloadSecurityAgentRulesAgentRule { /** * The description of the Agent rule. */ description: string; /** * Whether the Agent rule is enabled. */ enabled: boolean; /** * The SECL expression of the Agent rule. */ expression: string; /** * The id of the Agent rule. */ id: string; /** * The name of the Agent rule. */ name: string; } export interface GetCostBudgetBudgetLine { /** * Map of month (YYYYMM as string) to budget amount. */ amounts: { [key: string]: number; }; /** * Child tag filters for hierarchical budgets (second tag in 'by' clause). */ childTagFilters?: outputs.GetCostBudgetBudgetLineChildTagFilter[]; /** * Parent tag filters for hierarchical budgets (first tag in 'by' clause). */ parentTagFilters?: outputs.GetCostBudgetBudgetLineParentTagFilter[]; /** * Tag filters for non-hierarchical budgets (single tag or no tags). */ tagFilters?: outputs.GetCostBudgetBudgetLineTagFilter[]; } export interface GetCostBudgetBudgetLineChildTagFilter { tagKey: string; tagValue: string; } export interface GetCostBudgetBudgetLineParentTagFilter { tagKey: string; tagValue: string; } export interface GetCostBudgetBudgetLineTagFilter { tagKey: string; tagValue: string; } export interface GetCostBudgetEntry { amount: number; month: number; tagFilters?: outputs.GetCostBudgetEntryTagFilter[]; } export interface GetCostBudgetEntryTagFilter { tagKey: string; tagValue: string; } export interface GetCsmThreatsAgentRulesAgentRule { actions: outputs.GetCsmThreatsAgentRulesAgentRuleAction[]; description: string; enabled: boolean; expression: string; id: string; name: string; productTags: string[]; } export interface GetCsmThreatsAgentRulesAgentRuleAction { hash: outputs.GetCsmThreatsAgentRulesAgentRuleActionHash; set: outputs.GetCsmThreatsAgentRulesAgentRuleActionSet; } export interface GetCsmThreatsAgentRulesAgentRuleActionHash { field: string; } export interface GetCsmThreatsAgentRulesAgentRuleActionSet { append: boolean; defaultValue: string; expression: string; field: string; inherited: boolean; name: string; scope: string; size: number; ttl: number; value: string; } export interface GetCsmThreatsPoliciesPolicy { description: string; enabled: boolean; hostTagsLists: string[][]; id: string; name: string; tags: string[]; } export interface GetCustomAllocationRuleCostsToAllocate { /** * The condition used to match tags. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition: string; /** * The tag key used in the filter. */ tag: string; /** * The tag value used in the filter (for single-value conditions). */ value: string; /** * The list of tag values used in the filter (for multi-value conditions like `in` or `notIn`). */ values: string[]; } export interface GetCustomAllocationRuleStrategy { allocatedBies?: outputs.GetCustomAllocationRuleStrategyAllocatedBy[]; allocatedByFilters?: outputs.GetCustomAllocationRuleStrategyAllocatedByFilter[]; /** * List of tag keys used to allocate costs. */ allocatedByTagKeys: string[]; basedOnCosts?: outputs.GetCustomAllocationRuleStrategyBasedOnCost[]; basedOnTimeseries?: outputs.GetCustomAllocationRuleStrategyBasedOnTimeseries; evaluateGroupedByFilters?: outputs.GetCustomAllocationRuleStrategyEvaluateGroupedByFilter[]; /** * List of tag keys used to group costs before allocation. */ evaluateGroupedByTagKeys: string[]; /** * The granularity level for cost allocation (`daily` or `monthly`). */ granularity: string; /** * The allocation method. Valid values are `even`, `proportional`, `proportionalTimeseries`, or `percent`. */ method: string; } export interface GetCustomAllocationRuleStrategyAllocatedBy { allocatedTags?: outputs.GetCustomAllocationRuleStrategyAllocatedByAllocatedTag[]; /** * The percentage of costs allocated to this target as a decimal (e.g., 0.33 for 33%). */ percentage: number; } export interface GetCustomAllocationRuleStrategyAllocatedByAllocatedTag { /** * The tag key for cost allocation. */ key: string; /** * The tag value used in the filter (for single-value conditions). */ value: string; } export interface GetCustomAllocationRuleStrategyAllocatedByFilter { /** * The condition used to match tags. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition: string; /** * The tag key used in the filter. */ tag: string; /** * The tag value used in the filter (for single-value conditions). */ value: string; /** * The list of tag values used in the filter (for multi-value conditions like `in` or `notIn`). */ values: string[]; } export interface GetCustomAllocationRuleStrategyBasedOnCost { /** * The condition used to match tags. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition: string; /** * The tag key used in the filter. */ tag: string; /** * The tag value used in the filter (for single-value conditions). */ value: string; /** * The list of tag values used in the filter (for multi-value conditions like `in` or `notIn`). */ values: string[]; } export interface GetCustomAllocationRuleStrategyBasedOnTimeseries { } export interface GetCustomAllocationRuleStrategyEvaluateGroupedByFilter { /** * The condition used to match tags. Valid values are `=`, `!=`, `is`, `is not`, `like`, `in`, `not in`. */ condition: string; /** * The tag key used in the filter. */ tag: string; /** * The tag value used in the filter (for single-value conditions). */ value: string; /** * The list of tag values used in the filter (for multi-value conditions like `in` or `notIn`). */ values: string[]; } export interface GetHostsHostList { aliases: string[]; apps: string[]; awsName: string; hostName: string; id: number; isMuted: boolean; lastReportedTime: number; meta: outputs.GetHostsHostListMeta; metrics: outputs.GetHostsHostListMetrics; muteTimeout: number; name: string; sources: string[]; tagsBySource: { [key: string]: string[]; }; up: boolean; } export interface GetHostsHostListMeta { agentVersion: string; cpuCores: number; gohai: string; machine: string; platform: string; processor: string; pythonVersion: string; socketFqdn: string; socketHostname: string; } export interface GetHostsHostListMetrics { cpu: number; iowait: number; load: number; } export interface GetIncidentNotificationRuleCondition { /** * The incident field to evaluate. Common values include: state, severity, services, teams. Custom fields are also supported. */ field: string; /** * The value(s) to compare against. */ values: string[]; } export interface GetLogsIndexesLogsIndex { /** * The number of log events you can send in this index per day before you are rate-limited. */ dailyLimit: number; /** * Object containing options to override the default daily limit reset time. */ dailyLimitResets: outputs.GetLogsIndexesLogsIndexDailyLimitReset[]; /** * The percentage threshold of the daily quota at which a Datadog warning event is generated. */ dailyLimitWarningThresholdPercentage: number; /** * List of exclusion filters. */ exclusionFilters: outputs.GetLogsIndexesLogsIndexExclusionFilter[]; /** * Logs filter */ filters: outputs.GetLogsIndexesLogsIndexFilter[]; /** * The total number of days logs are stored in Standard and Flex Tier before being deleted from the index. */ flexRetentionDays: number; /** * The name of the index. */ name: string; /** * The number of days logs are stored in Standard Tier before aging into the Flex Tier or being deleted from the index. */ retentionDays: number; /** * A list of tags for this index. Tags are in `key:value` format. */ tags: string[]; } export interface GetLogsIndexesLogsIndexDailyLimitReset { /** * String in `HH:00` format representing the time of day the daily limit should be reset. The hours between 00 and 23 (inclusive). */ resetTime: string; /** * String in `(-|+)HH:00` format representing the UTC offset to apply to the given reset time. The hours between -12 and +14 (inclusive). */ resetUtcOffset: string; } export interface GetLogsIndexesLogsIndexExclusionFilter { filters?: outputs.GetLogsIndexesLogsIndexExclusionFilterFilter[]; /** * A boolean stating if the exclusion is active or not. */ isEnabled: boolean; /** * The name of the exclusion filter. */ name: string; } export interface GetLogsIndexesLogsIndexExclusionFilterFilter { /** * Only logs matching the filter criteria and the query of the parent index will be considered for this exclusion filter. */ query: string; /** * The fraction of logs excluded by the exclusion filter, when active. */ sampleRate: number; } export interface GetLogsIndexesLogsIndexFilter { /** * Logs filter criteria. Only logs matching this filter criteria are considered for this index. */ query: string; } export interface GetLogsPipelinesLogsPipeline { /** * Description of the pipeline */ description: string; /** * Pipelines filter */ filters: outputs.GetLogsPipelinesLogsPipelineFilter[]; /** * ID of the pipeline */ id: string; /** * Whether or not the pipeline is enabled. */ isEnabled: boolean; /** * Whether or not the pipeline can be edited. */ isReadOnly: boolean; /** * The name of the pipeline. */ name: string; /** * Tags of the pipeline */ tags: string[]; /** * Whether or not the pipeline can be edited. */ type: string; } export interface GetLogsPipelinesLogsPipelineFilter { /** * Pipeline filter criteria. */ query: string; } export interface GetMetricActiveTagsAndAggregationsActiveAggregation { space: string; time: string; } export interface GetMonitorConfigPoliciesMonitorConfigPolicy { /** * ID of the monitor config policy */ id: string; /** * The monitor config policy type */ policyType: string; /** * Config for a tag policy. Only set if `policyType` is `tag`. */ tagPolicy: outputs.GetMonitorConfigPoliciesMonitorConfigPolicyTagPolicy; } export interface GetMonitorConfigPoliciesMonitorConfigPolicyTagPolicy { /** * The key of the tag */ tagKey: string; /** * If a tag key is required for monitor creation */ tagKeyRequired: boolean; /** * Valid values for the tag */ validTagValues: string[]; } export interface GetMonitorMonitorThreshold { critical: string; criticalRecovery: string; ok: string; unknown: string; warning: string; warningRecovery: string; } export interface GetMonitorMonitorThresholdWindow { recoveryWindow: string; triggerWindow: string; } export interface GetMonitorSchedulingOption { /** * Configuration options for the custom schedules. If `start` is omitted, the monitor creation time will be used. */ customSchedules: outputs.GetMonitorSchedulingOptionCustomSchedule[]; /** * Configuration options for the evaluation window. If `hourStarts` is set, no other fields may be set. Otherwise, `dayStarts` and `monthStarts` must be set together. */ evaluationWindows: outputs.GetMonitorSchedulingOptionEvaluationWindow[]; } export interface GetMonitorSchedulingOptionCustomSchedule { /** * A list of recurrence definitions. Length must be 1. */ recurrences: outputs.GetMonitorSchedulingOptionCustomScheduleRecurrence[]; } export interface GetMonitorSchedulingOptionCustomScheduleRecurrence { /** * Must be a valid rrule. See api docs for supported fields */ rrule: string; /** * Time to start recurrence cycle. Similar to DTSTART. Expected format 'YYYY-MM-DDThh:mm:ss' */ start: string; /** * 'tz database' format. ex: 'America/New_York' or UTC */ timezone: string; } export interface GetMonitorSchedulingOptionEvaluationWindow { /** * The time of the day at which a one day cumulative evaluation window starts. Must be defined in UTC time in `HH:mm` format. */ dayStarts: string; /** * The minute of the hour at which a one hour cumulative evaluation window starts. Must be between 0 and 59. */ hourStarts: number; /** * The day of the month at which a one month cumulative evaluation window starts. Must be a value of 1. */ monthStarts: number; /** * The timezone for the cumulative evaluation window start time. */ timezone: string; } export interface GetMonitorsMonitor { /** * ID of the monitor */ id: number; /** * Name of the monitor */ name: string; /** * Type of the monitor. */ type: string; } export interface GetOrganizationSettingsSetting { /** * Whether or not the organization users can share widgets outside of Datadog. */ privateWidgetShare: boolean; /** * The access role of the user. Options are `st` (standard user), `adm` (admin user), or `ro` (read-only user). Allowed enum values: `st`, `adm`, `ro`, `ERROR`. */ samlAutocreateAccessRole: string; /** * List of domains where the SAML automated user creation is enabled. */ samlAutocreateUsersDomains?: outputs.GetOrganizationSettingsSettingSamlAutocreateUsersDomain[]; /** * Whether or not SAML can be enabled for this organization. */ samlCanBeEnabled: boolean; /** * Identity provider endpoint for SAML authentication. */ samlIdpEndpoint: string; /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ samlIdpInitiatedLogins?: outputs.GetOrganizationSettingsSettingSamlIdpInitiatedLogin[]; /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ samlIdpMetadataUploaded: boolean; /** * URL for SAML logging. */ samlLoginUrl: string; /** * Whether or not the SAML strict mode is enabled. If true, all users must log in with SAML. */ samlStrictModes?: outputs.GetOrganizationSettingsSettingSamlStrictMode[]; /** * SAML properties. */ samls?: outputs.GetOrganizationSettingsSettingSaml[]; } export interface GetOrganizationSettingsSettingSaml { /** * Whether or not SAML is enabled for this organization. */ enabled: boolean; } export interface GetOrganizationSettingsSettingSamlAutocreateUsersDomain { /** * List of domains where the SAML automated user creation is enabled. */ domains: string[]; /** * Whether or not the automated user creation based on SAML domain is enabled. */ enabled: boolean; } export interface GetOrganizationSettingsSettingSamlIdpInitiatedLogin { /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ enabled: boolean; } export interface GetOrganizationSettingsSettingSamlStrictMode { /** * Whether or not the SAML strict mode is enabled. If true, all users must log in with SAML. */ enabled: boolean; } export interface GetReferenceTableFileMetadata { /** * Cloud storage access configuration. Only present for cloud storage sources (S3, GCS, Azure). */ accessDetails?: outputs.GetReferenceTableFileMetadataAccessDetails; /** * Error message from the last sync attempt, if any. */ errorMessage: string; /** * The number of rows that failed to sync. */ errorRowCount: number; /** * The type of error that occurred during file processing. Only present for cloud storage sources. */ errorType: string; /** * Whether automatic sync is enabled for this table. Only present for cloud storage sources (S3, GCS, Azure). */ syncEnabled: boolean; } export interface GetReferenceTableFileMetadataAccessDetails { /** * AWS S3 access configuration. */ awsDetail?: outputs.GetReferenceTableFileMetadataAccessDetailsAwsDetail; /** * Azure Blob Storage access configuration. */ azureDetail?: outputs.GetReferenceTableFileMetadataAccessDetailsAzureDetail; /** * Google Cloud Storage access configuration. */ gcpDetail?: outputs.GetReferenceTableFileMetadataAccessDetailsGcpDetail; } export interface GetReferenceTableFileMetadataAccessDetailsAwsDetail { /** * The ID of the AWS account. */ awsAccountId: string; /** * The name of the AWS S3 bucket. */ awsBucketName: string; /** * The relative file path from the AWS S3 bucket root to the CSV file. */ filePath: string; } export interface GetReferenceTableFileMetadataAccessDetailsAzureDetail { /** * The Azure client ID (application ID). */ azureClientId: string; /** * The name of the Azure container. */ azureContainerName: string; /** * The name of the Azure storage account. */ azureStorageAccountName: string; /** * The ID of the Azure tenant. */ azureTenantId: string; /** * The relative file path from the Azure container root to the CSV file. */ filePath: string; } export interface GetReferenceTableFileMetadataAccessDetailsGcpDetail { /** * The relative file path from the GCS bucket root to the CSV file. */ filePath: string; /** * The name of the GCP bucket. */ gcpBucketName: string; /** * The ID of the GCP project. */ gcpProjectId: string; /** * The email of the GCP service account used to access the bucket. */ gcpServiceAccountEmail: string; } export interface GetReferenceTableRowsRow { /** * The primary key value of the row. */ id: string; /** * Map of field names to values for this row. All values are returned as strings. */ values: { [key: string]: string; }; } export interface GetReferenceTableSchema { /** * List of fields in the table schema. */ fields?: outputs.GetReferenceTableSchemaField[]; /** * List of field names that serve as primary keys for the table. */ primaryKeys: string[]; } export interface GetReferenceTableSchemaField { /** * The name of the field. */ name: string; /** * The data type of the field (e.g., STRING, INT32). */ type: string; } export interface GetRoleUsersRoleUser { roleId: string; userId: string; } export interface GetRolesRole { /** * ID of the Datadog role */ id: string; /** * Name of the Datadog role */ name: string; /** * Number of users that have this role. */ userCount: number; } export interface GetRumRetentionFiltersRetentionFilter { enabled: boolean; eventType: string; id: string; name: string; query: string; sampleRate: number; } export interface GetSecurityMonitoringCriticalAssetsCriticalAsset { enabled: boolean; id: string; query: string; ruleQuery: string; severity: string; tags: string[]; } export interface GetSecurityMonitoringFiltersFilter { /** * Exclusion filters to exclude some logs from the security filter. */ exclusionFilters?: outputs.GetSecurityMonitoringFiltersFilterExclusionFilter[]; /** * The filtered data type. */ filteredDataType?: string; /** * Whether the security filter is enabled. */ isEnabled: boolean; /** * The name of the security filter. */ name: string; /** * The query of the security filter. */ query: string; /** * The version of the security filter. */ version: number; } export interface GetSecurityMonitoringFiltersFilterExclusionFilter { /** * Exclusion filter name. */ name: string; /** * Exclusion filter query. Logs that match this query are excluded from the security filter. */ query: string; } export interface GetSecurityMonitoringRulesRule { /** * One or more calculated fields. Available only for scheduled rules (in other words, when `schedulingOptions` is defined). */ calculatedFields?: outputs.GetSecurityMonitoringRulesRuleCalculatedField[]; /** * Cases for generating signals. */ cases?: outputs.GetSecurityMonitoringRulesRuleCase[]; /** * Whether the rule is enabled. */ enabled?: boolean; /** * Additional queries to filter matched events before they are processed. **Note**: This field is deprecated for log detection, signal correlation, and workload security rules. */ filters?: outputs.GetSecurityMonitoringRulesRuleFilter[]; /** * Additional grouping to perform on top of the query grouping. */ groupSignalsBies?: string[]; /** * Whether the notifications include the triggering group-by values in their title. */ hasExtendedTitle?: boolean; /** * Message for generated signals. */ message: string; /** * The name of the rule. */ name: string; /** * Options on rules. */ options?: outputs.GetSecurityMonitoringRulesRuleOptions; /** * Queries for selecting logs which are part of the rule. */ queries?: outputs.GetSecurityMonitoringRulesRuleQuery[]; /** * Reference tables for filtering query results. */ referenceTables?: outputs.GetSecurityMonitoringRulesRuleReferenceTable[]; /** * Options for scheduled rules. When this field is present, the rule runs based on the schedule. When absent, it runs in real time on ingested logs. */ schedulingOptions?: outputs.GetSecurityMonitoringRulesRuleSchedulingOptions; /** * Queries for selecting logs which are part of the rule. */ signalQueries?: outputs.GetSecurityMonitoringRulesRuleSignalQuery[]; /** * Tags for generated signals. Note: if default tags are present at provider level, they will be added to this resource. */ tags: string[]; /** * Cases for generating signals for third-party rules. Only required and accepted for third-party rules */ thirdPartyCases?: outputs.GetSecurityMonitoringRulesRuleThirdPartyCase[]; /** * The rule type. */ type?: string; } export interface GetSecurityMonitoringRulesRuleCalculatedField { /** * Expression. */ expression: string; /** * Field name. */ name: string; } export interface GetSecurityMonitoringRulesRuleCase { /** * Action to perform when the case trigger */ actions?: outputs.GetSecurityMonitoringRulesRuleCaseAction[]; /** * A rule case contains logical operations (`>`,`>=`, `&&`, `||`) to determine if a signal should be generated based on the event counts in the previously defined queries. */ condition?: string; /** * Name of the case. */ name?: string; /** * Notification targets for each rule case. */ notifications?: string[]; /** * Severity of the Security Signal. */ status: string; } export interface GetSecurityMonitoringRulesRuleCaseAction { /** * Options for the action. */ options?: outputs.GetSecurityMonitoringRulesRuleCaseActionOptions; /** * Type of action to perform when the case triggers. */ type: string; } export interface GetSecurityMonitoringRulesRuleCaseActionOptions { /** * Duration of the action in seconds. */ duration?: number; } export interface GetSecurityMonitoringRulesRuleFilter { /** * The type of filtering action. */ action: string; /** * Query for selecting logs to apply the filtering action. */ query: string; } export interface GetSecurityMonitoringRulesRuleOptions { /** * Options for rules using the anomaly detection method. */ anomalyDetectionOptions?: outputs.GetSecurityMonitoringRulesRuleOptionsAnomalyDetectionOptions; /** * If true, signals in non-production environments have a lower severity than what is defined by the rule case, which can reduce noise. The decrement is applied when the environment tag of the signal starts with `staging`, `test`, or `dev`. Only available when the rule type is `logDetection`. */ decreaseCriticalityBasedOnEnv?: boolean; /** * The detection method. */ detectionMethod?: string; /** * A time window is specified to match when at least one of the cases matches true. This is a sliding window and evaluates in real time. */ evaluationWindow?: number; /** * Options for rules using the impossible travel detection method. */ impossibleTravelOptions?: outputs.GetSecurityMonitoringRulesRuleOptionsImpossibleTravelOptions; /** * Once a signal is generated, the signal will remain “open” if a case is matched at least once within this keep alive window (in seconds). */ keepAlive?: number; /** * A signal will “close” regardless of the query being matched once the time exceeds the maximum duration (in seconds). This time is calculated from the first seen timestamp. */ maxSignalDuration?: number; /** * New value rules specific options. */ newValueOptions?: outputs.GetSecurityMonitoringRulesRuleOptionsNewValueOptions; /** * Options for rules using the sequence detection method. */ sequenceDetectionOptions?: outputs.GetSecurityMonitoringRulesRuleOptionsSequenceDetectionOptions; /** * Options for rules using the third-party detection method. */ thirdPartyRuleOptions?: outputs.GetSecurityMonitoringRulesRuleOptionsThirdPartyRuleOptions; } export interface GetSecurityMonitoringRulesRuleOptionsAnomalyDetectionOptions { /** * Duration in seconds of the time buckets used to aggregate events matched by the rule. Valid values are 300, 600, 900, 1800, 3600, 10800. */ bucketDuration?: number; /** * An optional parameter that sets how permissive anomaly detection is. Higher values require higher deviations before triggering a signal. Valid values are 1, 2, 3, 4, 5. */ detectionTolerance?: number; /** * When set to true, Datadog uses previous values that fall within the defined learning window to construct the baseline, enabling the system to establish an accurate baseline more rapidly rather than relying solely on gradual learning over time. */ instantaneousBaseline?: boolean; /** * Learning duration in hours. Anomaly detection waits for at least this amount of historical data before it starts evaluating. Valid values are 1, 6, 12, 24, 48, 168, 336. */ learningDuration?: number; /** * An optional override baseline to apply while the rule is in the learning period. Must be greater than or equal to 0. */ learningPeriodBaseline?: number; } export interface GetSecurityMonitoringRulesRuleOptionsImpossibleTravelOptions { /** * If true, signals are suppressed for the first 24 hours. During that time, Datadog learns the user's regular access locations. This can be helpful to reduce noise and infer VPN usage or credentialed API access. */ baselineUserLocations?: boolean; } export interface GetSecurityMonitoringRulesRuleOptionsNewValueOptions { /** * The duration in days after which a learned value is forgotten. */ forgetAfter: number; /** * When set to true, Datadog uses previous values that fall within the defined learning window to construct the baseline, enabling the system to establish an accurate baseline more rapidly rather than relying solely on gradual learning over time. */ instantaneousBaseline?: boolean; /** * The duration in days during which values are learned, and after which signals will be generated for values that weren't learned. If set to 0, a signal will be generated for all new values after the first value is learned. */ learningDuration?: number; /** * The learning method used to determine when signals should be generated for values that weren't learned. */ learningMethod?: string; /** * A number of occurrences after which signals are generated for values that weren't learned. */ learningThreshold?: number; } export interface GetSecurityMonitoringRulesRuleOptionsSequenceDetectionOptions { /** * Edges of the step graph. */ stepTransitions?: outputs.GetSecurityMonitoringRulesRuleOptionsSequenceDetectionOptionsStepTransition[]; /** * Sequence steps. */ steps?: outputs.GetSecurityMonitoringRulesRuleOptionsSequenceDetectionOptionsStep[]; } export interface GetSecurityMonitoringRulesRuleOptionsSequenceDetectionOptionsStep { /** * Condition for the step to match. */ condition: string; /** * Evaluation window for the step. */ evaluationWindow?: number; /** * Unique name of the step. */ name: string; } export interface GetSecurityMonitoringRulesRuleOptionsSequenceDetectionOptionsStepTransition { /** * Child step name. */ child: string; /** * Maximum time allowed to transition from parent to child. */ evaluationWindow?: number; /** * Parent step name. */ parent: string; } export interface GetSecurityMonitoringRulesRuleOptionsThirdPartyRuleOptions { /** * Notification targets for the default rule case, when none of the third-party cases match. */ defaultNotifications?: string[]; /** * Severity of the default rule case, when none of the third-party cases match. */ defaultStatus: string; /** * Queries to be combined with third-party case queries. Each of them can have different group by fields, to aggregate differently based on the type of alert. */ rootQueries: outputs.GetSecurityMonitoringRulesRuleOptionsThirdPartyRuleOptionsRootQuery[]; /** * A template for the signal title; if omitted, the title is generated based on the case name. */ signalTitleTemplate?: string; } export interface GetSecurityMonitoringRulesRuleOptionsThirdPartyRuleOptionsRootQuery { /** * Fields to group by. If empty, each log triggers a signal. */ groupByFields?: string[]; /** * Query to filter logs. */ query: string; } export interface GetSecurityMonitoringRulesRuleQuery { /** * **Deprecated**. It won't be applied anymore. * * @deprecated `agentRule` has been deprecated in favor of new Agent Rule resource. */ agentRules?: outputs.GetSecurityMonitoringRulesRuleQueryAgentRule[]; /** * The aggregation type. For Signal Correlation rules, it must be event_count. */ aggregation?: string; /** * Source of events. */ dataSource?: string; /** * Field for which the cardinality is measured. Sent as an array. */ distinctFields?: string[]; /** * Fields to group by. */ groupByFields?: string[]; /** * When false, events without a group-by value are ignored by the rule. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. */ hasOptionalGroupByFields?: boolean; /** * List of indexes to run the query on when the data source is `logs`. Supports only one element. Used only for scheduled rules (in other words, when `schedulingOptions` is defined). */ indexes?: string[]; /** * The target field to aggregate over when using the `sum`, `max`, or `geoData` aggregations. * * @deprecated Configure `metrics` instead. This attribute will be removed in the next major version of the provider. */ metric?: string; /** * Group of target fields to aggregate over when using the `sum`, `max`, `geoData`, or `newValue` aggregations. The `sum`, `max`, and `geoData` aggregations only accept one value in this list, whereas the `newValue` aggregation accepts up to five values. */ metrics: string[]; /** * Name of the query. Not compatible with `newValue` aggregations. */ name?: string; /** * Query to run on logs. */ query: string; } export interface GetSecurityMonitoringRulesRuleQueryAgentRule { /** * **Deprecated**. It won't be applied anymore. */ agentRuleId: string; /** * **Deprecated**. It won't be applied anymore. */ expression: string; } export interface GetSecurityMonitoringRulesRuleReferenceTable { /** * Whether to include or exclude logs that match the reference table. */ checkPresence: boolean; /** * The name of the column in the reference table. */ columnName: string; /** * The field in the log that should be matched against the reference table. */ logFieldPath: string; /** * The name of the query to filter. */ ruleQueryName: string; /** * The name of the reference table. */ tableName: string; } export interface GetSecurityMonitoringRulesRuleSchedulingOptions { /** * Schedule for the rule queries, written in RRULE syntax. See [RFC](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) for syntax reference. */ rrule: string; /** * Start date for the schedule, in ISO 8601 format without timezone. */ start: string; /** * Time zone of the start date, in the [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) format. */ timezone: string; } export interface GetSecurityMonitoringRulesRuleSignalQuery { /** * The aggregation type. For Signal Correlation rules, it must be event_count. */ aggregation?: string; /** * Fields to correlate by. */ correlatedByFields?: string[]; /** * Index of the rule query used to retrieve the correlated field. An empty string applies correlation on the non-projected per query attributes of the rule. */ correlatedQueryIndex?: string; /** * Default Rule ID of the signal to correlate. This value is READ-ONLY. */ defaultRuleId?: string; /** * Name of the query. Not compatible with `newValue` aggregations. */ name?: string; /** * Rule ID of the signal to correlate. */ ruleId: string; } export interface GetSecurityMonitoringRulesRuleThirdPartyCase { /** * Name of the case. */ name?: string; /** * Notification targets for each rule case. */ notifications?: string[]; /** * A query to associate a third-party event to this case. */ query?: string; /** * Severity of the Security Signal. */ status: string; } export interface GetSecurityMonitoringSuppressionsSuppression { dataExclusionQuery: string; description: string; enabled: boolean; expirationDate: string; id: string; name: string; ruleQuery: string; startDate: string; suppressionQuery: string; tags: string[]; } export interface GetServiceLevelObjectiveQuery { /** * The sum of the `total` events. */ denominator: string; /** * The sum of all the `good` events. */ numerator: string; } export interface GetServiceLevelObjectivesSlo { /** * ID of the Datadog service level objective */ id: string; /** * Name of the Datadog service level objective */ name: string; /** * The type of the service level objective. The mapping from these types to the types found in the Datadog Web UI can be found in the Datadog API [documentation page](https://docs.datadoghq.com/api/v1/service-level-objectives/#create-a-slo-object). Available options to choose from are: `metric` and `monitor`. */ type: string; } export interface GetSoftwareCatalogEntity { displayName: string; id: string; kind: string; name: string; namespace: string; owner: string; tags: string[]; } export interface GetTagPipelineRulesetRule { /** * Whether the rule is enabled. */ enabled: boolean; /** * The mapping configuration for the rule. */ mapping?: outputs.GetTagPipelineRulesetRuleMapping; /** * Rule metadata key-value pairs. */ metadata: { [key: string]: string; }; /** * The name of the rule. */ name: string; /** * The query configuration for the rule. */ query?: outputs.GetTagPipelineRulesetRuleQuery; /** * The reference table configuration for the rule. */ referenceTable?: outputs.GetTagPipelineRulesetRuleReferenceTable; } export interface GetTagPipelineRulesetRuleMapping { /** * The destination key for the mapping. */ destinationKey: string; /** * Whether to apply the mapping only if the destination key doesn't exist. * * @deprecated Use `ifTagExists` instead. This field will be removed in a future release. */ ifNotExists: boolean; /** * Behavior when the tag already exists. Valid values: `append` (append to the existing tag value), `replace` (replace existing tag value), `doNotApply` (never apply if tag already exists). Valid values are `append`, `replace`, `doNotApply`. */ ifTagExists: string; /** * The source keys for the mapping. */ sourceKeys: string[]; } export interface GetTagPipelineRulesetRuleQuery { /** * The addition configuration for the query. */ addition?: outputs.GetTagPipelineRulesetRuleQueryAddition; /** * Whether the query matching is case insensitive. */ caseInsensitivity: boolean; /** * Whether to apply the query only if the key doesn't exist. * * @deprecated Use `ifTagExists` instead. This field will be removed in a future release. */ ifNotExists: boolean; /** * Behavior when the tag already exists. Valid values: `append` (append to the existing tag value), `replace` (replace existing tag value), `doNotApply` (never apply if tag already exists). Valid values are `append`, `replace`, `doNotApply`. */ ifTagExists: string; /** * The query string. */ query: string; } export interface GetTagPipelineRulesetRuleQueryAddition { /** * The key to add. */ key: string; /** * The value to add. */ value: string; } export interface GetTagPipelineRulesetRuleReferenceTable { /** * Whether the reference table lookup is case insensitive. */ caseInsensitivity: boolean; /** * The field pairs for the reference table. */ fieldPairs?: outputs.GetTagPipelineRulesetRuleReferenceTableFieldPair[]; /** * Whether to apply the reference table only if the key doesn't exist. * * @deprecated Use `ifTagExists` instead. This field will be removed in a future release. */ ifNotExists: boolean; /** * Behavior when the tag already exists. Valid values: `append` (append to the existing tag value), `replace` (replace existing tag value), `doNotApply` (never apply if tag already exists). Valid values are `append`, `replace`, `doNotApply`. */ ifTagExists: string; /** * The source keys for the reference table lookup. */ sourceKeys: string[]; /** * The name of the reference table. */ tableName: string; } export interface GetTagPipelineRulesetRuleReferenceTableFieldPair { /** * The input column name. */ inputColumn: string; /** * The output key name. */ outputKey: string; } export interface GetTeamMembershipsTeamMembership { id: string; role: string; teamId: string; userId: string; } export interface GetTeamNotificationRuleEmail { /** * Flag indicating whether email notifications should be sent */ enabled: boolean; } export interface GetTeamNotificationRuleMsTeams { /** * MS Teams connector name */ connectorName: string; } export interface GetTeamNotificationRulePagerduty { /** * PagerDuty service name */ serviceName: string; } export interface GetTeamNotificationRuleSlack { /** * Slack channel for notifications */ channel: string; /** * Slack workspace for notifications */ workspace: string; } export interface GetTeamNotificationRulesNotificationRule { /** * The email notification settings. */ email?: outputs.GetTeamNotificationRulesNotificationRuleEmail; /** * The ID of the notification rule. */ id: string; /** * The MS Teams notification settings. */ msTeams?: outputs.GetTeamNotificationRulesNotificationRuleMsTeams; /** * The PagerDuty notification settings. */ pagerduty?: outputs.GetTeamNotificationRulesNotificationRulePagerduty; /** * The Slack notification settings. */ slack?: outputs.GetTeamNotificationRulesNotificationRuleSlack; } export interface GetTeamNotificationRulesNotificationRuleEmail { /** * Flag indicating whether email notifications should be sent. */ enabled: boolean; } export interface GetTeamNotificationRulesNotificationRuleMsTeams { /** * MS Teams connector name. */ connectorName: string; } export interface GetTeamNotificationRulesNotificationRulePagerduty { /** * PagerDuty service name. */ serviceName: string; } export interface GetTeamNotificationRulesNotificationRuleSlack { /** * Slack channel for notifications. */ channel: string; /** * Slack workspace for notifications. */ workspace: string; } export interface GetTeamsTeam { /** * Free-form markdown description/content for the team's homepage. */ description: string; /** * The team's handle. */ handle: string; /** * The team's identifier. */ id: string; /** * The number of links belonging to the team. */ linkCount: number; /** * The name of the team. */ name: string; /** * A brief summary of the team, derived from the `description`. */ summary: string; /** * The number of users belonging to the team. */ userCount: number; } export interface GetUsersUser { createdAt: string; disabled: boolean; email: string; handle: string; icon: string; id: string; mfaEnabled: boolean; modifiedAt: string; name: string; serviceAccount: boolean; status: string; title: string; verified: boolean; } export interface IncidentNotificationRuleCondition { /** * The incident field to evaluate. Common values include: state, severity, services, teams. Custom fields are also supported. */ field: string; /** * The value(s) to compare against. Multiple values are ORed together. */ values: string[]; } export interface IpAllowlistEntry { /** * IP address or range of addresses. String must be a valid CIDR block or IP address. */ cidrBlock: string; /** * Note accompanying IP address. */ note?: string; } export interface LogsArchiveAzureArchive { /** * Your client id. */ clientId: string; /** * The container where the archive is stored. */ container: string; /** * The path where the archive is stored. */ path?: string; /** * The associated storage account. */ storageAccount: string; /** * Your tenant id. */ tenantId: string; } export interface LogsArchiveGcsArchive { /** * Name of your GCS bucket. */ bucket: string; /** * Your client email. */ clientEmail: string; /** * Path where the archive is stored. */ path?: string; /** * Your project id. */ projectId?: string; } export interface LogsArchiveS3Archive { /** * Your AWS account id. */ accountId: string; /** * Name of your s3 bucket. */ bucket: string; /** * The AWS KMS encryption key. */ encryptionKey?: string; /** * The type of encryption on your archive. Valid values are `NO_OVERRIDE`, `SSE_S3`, `SSE_KMS`. Defaults to `"NO_OVERRIDE"`. */ encryptionType?: string; /** * Path where the archive is stored. */ path?: string; /** * Your AWS role name */ roleName: string; /** * The AWS S3 storage class used to upload the logs. Valid values are `STANDARD`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER_IR`. Defaults to `"STANDARD"`. */ storageClass?: string; } export interface LogsCustomDestinationElasticsearchDestination { /** * Basic access authentication. */ basicAuth?: outputs.LogsCustomDestinationElasticsearchDestinationBasicAuth; /** * The destination for which logs will be forwarded to. Must have HTTPS scheme. Forwarding back to Datadog is not allowed. */ endpoint: string; /** * Name of the Elasticsearch index (must follow [Elasticsearch's criteria](https://www.elastic.co/guide/en/elasticsearch/reference/8.11/indices-create-index.html#indices-create-api-path-params)). */ indexName: string; /** * Date pattern with US locale and UTC timezone to be appended to the index name after adding '-' * (that is, '${index_name}-${indexPattern}'). * You can customize the index rotation naming pattern by choosing one of these options: * - Hourly: 'yyyy-MM-dd-HH' (as an example, it would render: '2022-10-19-09') * - Daily: 'yyyy-MM-dd' (as an example, it would render: '2022-10-19') * - Weekly: 'yyyy-'W'ww' (as an example, it would render: '2022-W42') * - Monthly: 'yyyy-MM' (as an example, it would render: '2022-10') * If this field is missing or is blank, it means that the index name will always be the same * (that is, no rotation). */ indexRotation?: string; } export interface LogsCustomDestinationElasticsearchDestinationBasicAuth { /** * The password of the authentication. This field is not returned by the API. */ password: string; /** * The username of the authentication. This field is not returned by the API. */ username: string; } export interface LogsCustomDestinationHttpDestination { /** * Basic access authentication. */ basicAuth?: outputs.LogsCustomDestinationHttpDestinationBasicAuth; /** * Custom header access authentication. */ customHeaderAuth?: outputs.LogsCustomDestinationHttpDestinationCustomHeaderAuth; /** * The destination for which logs will be forwarded to. Must have HTTPS scheme. Forwarding back to Datadog is not allowed. */ endpoint: string; } export interface LogsCustomDestinationHttpDestinationBasicAuth { /** * The password of the authentication. This field is not returned by the API. */ password: string; /** * The username of the authentication. This field is not returned by the API. */ username: string; } export interface LogsCustomDestinationHttpDestinationCustomHeaderAuth { /** * The header name of the authentication. */ headerName: string; /** * The header value of the authentication. This field is not returned by the API. */ headerValue: string; } export interface LogsCustomDestinationMicrosoftSentinelDestination { /** * Client ID from the Datadog Azure Integration. */ clientId: string; /** * Azure Data Collection Endpoint. */ dataCollectionEndpoint: string; /** * Azure Data Collection Rule ID. */ dataCollectionRuleId: string; /** * Azure stream name. */ streamName: string; /** * Tenant ID from the Datadog Azure Integration. */ tenantId: string; } export interface LogsCustomDestinationSplunkDestination { /** * Access token of the Splunk HTTP Event Collector. This field is not returned by the API. */ accessToken: string; /** * The destination for which logs will be forwarded to. Must have HTTPS scheme. Forwarding back to Datadog is not allowed. */ endpoint: string; } export interface LogsCustomPipelineFilter { /** * Filter criteria of the category. */ query: string; } export interface LogsCustomPipelineProcessor { /** * Arithmetic Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#arithmetic-processor) */ arithmeticProcessor?: outputs.LogsCustomPipelineProcessorArithmeticProcessor; /** * Array Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#array-processor) */ arrayProcessor?: outputs.LogsCustomPipelineProcessorArrayProcessor; /** * Attribute Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#remapper) */ attributeRemapper?: outputs.LogsCustomPipelineProcessorAttributeRemapper; /** * Category Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#category-processor) */ categoryProcessor?: outputs.LogsCustomPipelineProcessorCategoryProcessor; /** * Date Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#log-date-remapper) */ dateRemapper?: outputs.LogsCustomPipelineProcessorDateRemapper; /** * Decoder Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/log_configuration/processors/?tab=ui#decoder-processor) */ decoderProcessor?: outputs.LogsCustomPipelineProcessorDecoderProcessor; /** * Date GeoIP Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#geoip-parser) */ geoIpParser?: outputs.LogsCustomPipelineProcessorGeoIpParser; /** * Grok Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#grok-parser) */ grokParser?: outputs.LogsCustomPipelineProcessorGrokParser; /** * Lookup Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#lookup-processor) */ lookupProcessor?: outputs.LogsCustomPipelineProcessorLookupProcessor; /** * Message Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#log-message-remapper) */ messageRemapper?: outputs.LogsCustomPipelineProcessorMessageRemapper; pipeline?: outputs.LogsCustomPipelineProcessorPipeline; /** * Reference Table Lookup Processor. Reference Tables are in public beta. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#lookup-processor) */ referenceTableLookupProcessor?: outputs.LogsCustomPipelineProcessorReferenceTableLookupProcessor; /** * Schema Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#schema-processor) */ schemaProcessor?: outputs.LogsCustomPipelineProcessorSchemaProcessor; /** * Service Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#service-remapper) */ serviceRemapper?: outputs.LogsCustomPipelineProcessorServiceRemapper; /** * Span ID Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/log_configuration/processors/?tab=ui#span-remapper) */ spanIdRemapper?: outputs.LogsCustomPipelineProcessorSpanIdRemapper; /** * Status Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#log-status-remapper) */ statusRemapper?: outputs.LogsCustomPipelineProcessorStatusRemapper; /** * String Builder Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#string-builder-processor) */ stringBuilderProcessor?: outputs.LogsCustomPipelineProcessorStringBuilderProcessor; /** * Trace ID Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#trace-remapper) */ traceIdRemapper?: outputs.LogsCustomPipelineProcessorTraceIdRemapper; /** * URL Parser Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#url-parser) */ urlParser?: outputs.LogsCustomPipelineProcessorUrlParser; /** * User-Agent Parser Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#user-agent-parser) */ userAgentParser?: outputs.LogsCustomPipelineProcessorUserAgentParser; } export interface LogsCustomPipelineProcessorArithmeticProcessor { /** * Arithmetic operation between one or more log attributes. */ expression: string; /** * Boolean value to enable your pipeline. */ isEnabled?: boolean; /** * If true, it replaces all missing attributes of expression by 0, false skips the operation if an attribute is missing. */ isReplaceMissing?: boolean; /** * Your pipeline name. */ name?: string; /** * Name of the attribute that contains the result of the arithmetic operation. */ target: string; } export interface LogsCustomPipelineProcessorArrayProcessor { /** * Boolean value to enable your processor. */ isEnabled?: boolean; /** * Your processor name. */ name?: string; /** * Operation to perform on the array. */ operation: outputs.LogsCustomPipelineProcessorArrayProcessorOperation; } export interface LogsCustomPipelineProcessorArrayProcessorOperation { /** * Operation that appends a value to a target array attribute. */ append?: outputs.LogsCustomPipelineProcessorArrayProcessorOperationAppend; /** * Operation that computes the length of a source array and stores the result in a target attribute. */ length?: outputs.LogsCustomPipelineProcessorArrayProcessorOperationLength; /** * Operation that finds an object in a source array using a filter, and then extracts a value from that found object and puts that value into the target attribute. */ select?: outputs.LogsCustomPipelineProcessorArrayProcessorOperationSelect; } export interface LogsCustomPipelineProcessorArrayProcessorOperationAppend { /** * Remove or preserve the remapped source element. Defaults to `true`. */ preserveSource?: boolean; /** * Attribute path containing the value to append. */ source: string; /** * Attribute path of the array to append to. */ target: string; } export interface LogsCustomPipelineProcessorArrayProcessorOperationLength { /** * Attribute path of the array to compute the length of. */ source: string; /** * Attribute that receives the computed length. */ target: string; } export interface LogsCustomPipelineProcessorArrayProcessorOperationSelect { /** * Filter expression (e.g. key1:value1 OR key2:value2) used to find the matching element. */ filter: string; /** * Attribute path of the array to search into. */ source: string; /** * Attribute that receives the extracted value. */ target: string; /** * Attribute key from the matching object that should be extracted. */ valueToExtract: string; } export interface LogsCustomPipelineProcessorAttributeRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor */ name?: string; /** * Override the target element if already set. */ overrideOnConflict?: boolean; /** * Remove or preserve the remapped source element. */ preserveSource?: boolean; /** * Defines where the sources are from (log `attribute` or `tag`). */ sourceType: string; /** * List of source attributes or tags. */ sources: string[]; /** * Final attribute or tag name to remap the sources. */ target: string; /** * If the `targetType` of the remapper is `attribute`, try to cast the value to a new specific type. If the cast is not possible, the original type is kept. `string`, `integer`, or `double` are the possible types. If the `targetType` is `tag`, this parameter may not be specified. */ targetFormat?: string; /** * Defines if the target is a log `attribute` or `tag`. */ targetType: string; } export interface LogsCustomPipelineProcessorCategoryProcessor { /** * List of filters to match or exclude a log with their corresponding name to assign a custom value to the log. */ categories: outputs.LogsCustomPipelineProcessorCategoryProcessorCategory[]; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the category */ name?: string; /** * Name of the target attribute whose value is defined by the matching category. */ target: string; } export interface LogsCustomPipelineProcessorCategoryProcessorCategory { filter: outputs.LogsCustomPipelineProcessorCategoryProcessorCategoryFilter; name: string; } export interface LogsCustomPipelineProcessorCategoryProcessorCategoryFilter { /** * Filter criteria of the category. */ query: string; } export interface LogsCustomPipelineProcessorDateRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorDecoderProcessor { /** * Encoding type: base64 or base16 */ binaryToTextEncoding: string; /** * Input representation: utf-8 or integer */ inputRepresentation: string; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * Encoded message */ source: string; /** * Decoded message */ target: string; } export interface LogsCustomPipelineProcessorGeoIpParser { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; /** * Name of the parent attribute that contains all the extracted details from the sources. */ target: string; } export interface LogsCustomPipelineProcessorGrokParser { grok: outputs.LogsCustomPipelineProcessorGrokParserGrok; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor */ name?: string; /** * List of sample logs for this parser. It can save up to 5 samples. Each sample takes up to 5000 characters. */ samples?: string[]; /** * Name of the log attribute to parse. */ source: string; } export interface LogsCustomPipelineProcessorGrokParserGrok { /** * Match rules for your grok parser. */ matchRules: string; /** * Support rules for your grok parser. */ supportRules: string; } export interface LogsCustomPipelineProcessorLookupProcessor { /** * Default lookup value to use if there is no entry in the lookup table for the value of the source attribute. */ defaultLookup?: string; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * List of entries of the lookup table using `key,value` format. */ lookupTables: string[]; /** * Name of the processor */ name?: string; /** * Name of the source attribute used to do the lookup. */ source: string; /** * Name of the attribute that contains the result of the lookup. */ target: string; } export interface LogsCustomPipelineProcessorMessageRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorPipeline { description?: string; filters: outputs.LogsCustomPipelineProcessorPipelineFilter[]; isEnabled?: boolean; name: string; processors?: outputs.LogsCustomPipelineProcessorPipelineProcessor[]; tags: string[]; } export interface LogsCustomPipelineProcessorPipelineFilter { /** * Filter criteria of the category. */ query: string; } export interface LogsCustomPipelineProcessorPipelineProcessor { /** * Arithmetic Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#arithmetic-processor) */ arithmeticProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorArithmeticProcessor; /** * Array Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#array-processor) */ arrayProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorArrayProcessor; /** * Attribute Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#remapper) */ attributeRemapper?: outputs.LogsCustomPipelineProcessorPipelineProcessorAttributeRemapper; /** * Category Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#category-processor) */ categoryProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorCategoryProcessor; /** * Date Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#log-date-remapper) */ dateRemapper?: outputs.LogsCustomPipelineProcessorPipelineProcessorDateRemapper; /** * Decoder Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/log_configuration/processors/?tab=ui#decoder-processor) */ decoderProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorDecoderProcessor; /** * Date GeoIP Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#geoip-parser) */ geoIpParser?: outputs.LogsCustomPipelineProcessorPipelineProcessorGeoIpParser; /** * Grok Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#grok-parser) */ grokParser?: outputs.LogsCustomPipelineProcessorPipelineProcessorGrokParser; /** * Lookup Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#lookup-processor) */ lookupProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorLookupProcessor; /** * Message Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#log-message-remapper) */ messageRemapper?: outputs.LogsCustomPipelineProcessorPipelineProcessorMessageRemapper; /** * Reference Table Lookup Processor. Reference Tables are in public beta. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#lookup-processor) */ referenceTableLookupProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorReferenceTableLookupProcessor; /** * Schema Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#schema-processor) */ schemaProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessor; /** * Service Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#service-remapper) */ serviceRemapper?: outputs.LogsCustomPipelineProcessorPipelineProcessorServiceRemapper; /** * Span ID Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/log_configuration/processors/?tab=ui#span-remapper) */ spanIdRemapper?: outputs.LogsCustomPipelineProcessorPipelineProcessorSpanIdRemapper; /** * Status Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#log-status-remapper) */ statusRemapper?: outputs.LogsCustomPipelineProcessorPipelineProcessorStatusRemapper; /** * String Builder Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#string-builder-processor) */ stringBuilderProcessor?: outputs.LogsCustomPipelineProcessorPipelineProcessorStringBuilderProcessor; /** * Trace ID Remapper Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#trace-remapper) */ traceIdRemapper?: outputs.LogsCustomPipelineProcessorPipelineProcessorTraceIdRemapper; /** * URL Parser Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#url-parser) */ urlParser?: outputs.LogsCustomPipelineProcessorPipelineProcessorUrlParser; /** * User-Agent Parser Processor. More information can be found in the [official docs](https://docs.datadoghq.com/logs/processing/processors/?tab=ui#user-agent-parser) */ userAgentParser?: outputs.LogsCustomPipelineProcessorPipelineProcessorUserAgentParser; } export interface LogsCustomPipelineProcessorPipelineProcessorArithmeticProcessor { /** * Arithmetic operation between one or more log attributes. */ expression: string; /** * Boolean value to enable your pipeline. */ isEnabled?: boolean; /** * If true, it replaces all missing attributes of expression by 0, false skips the operation if an attribute is missing. */ isReplaceMissing?: boolean; /** * Your pipeline name. */ name?: string; /** * Name of the attribute that contains the result of the arithmetic operation. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorArrayProcessor { /** * Boolean value to enable your processor. */ isEnabled?: boolean; /** * Your processor name. */ name?: string; /** * Operation to perform on the array. */ operation: outputs.LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperation; } export interface LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperation { /** * Operation that appends a value to a target array attribute. */ append?: outputs.LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperationAppend; /** * Operation that computes the length of a source array and stores the result in a target attribute. */ length?: outputs.LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperationLength; /** * Operation that finds an object in a source array using a filter, and then extracts a value from that found object and puts that value into the target attribute. */ select?: outputs.LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperationSelect; } export interface LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperationAppend { /** * Remove or preserve the remapped source element. Defaults to `true`. */ preserveSource?: boolean; /** * Attribute path containing the value to append. */ source: string; /** * Attribute path of the array to append to. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperationLength { /** * Attribute path of the array to compute the length of. */ source: string; /** * Attribute that receives the computed length. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorArrayProcessorOperationSelect { /** * Filter expression (e.g. key1:value1 OR key2:value2) used to find the matching element. */ filter: string; /** * Attribute path of the array to search into. */ source: string; /** * Attribute that receives the extracted value. */ target: string; /** * Attribute key from the matching object that should be extracted. */ valueToExtract: string; } export interface LogsCustomPipelineProcessorPipelineProcessorAttributeRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor */ name?: string; /** * Override the target element if already set. */ overrideOnConflict?: boolean; /** * Remove or preserve the remapped source element. */ preserveSource?: boolean; /** * Defines where the sources are from (log `attribute` or `tag`). */ sourceType: string; /** * List of source attributes or tags. */ sources: string[]; /** * Final attribute or tag name to remap the sources. */ target: string; /** * If the `targetType` of the remapper is `attribute`, try to cast the value to a new specific type. If the cast is not possible, the original type is kept. `string`, `integer`, or `double` are the possible types. If the `targetType` is `tag`, this parameter may not be specified. */ targetFormat?: string; /** * Defines if the target is a log `attribute` or `tag`. */ targetType: string; } export interface LogsCustomPipelineProcessorPipelineProcessorCategoryProcessor { /** * List of filters to match or exclude a log with their corresponding name to assign a custom value to the log. */ categories: outputs.LogsCustomPipelineProcessorPipelineProcessorCategoryProcessorCategory[]; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the category */ name?: string; /** * Name of the target attribute whose value is defined by the matching category. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorCategoryProcessorCategory { filter: outputs.LogsCustomPipelineProcessorPipelineProcessorCategoryProcessorCategoryFilter; name: string; } export interface LogsCustomPipelineProcessorPipelineProcessorCategoryProcessorCategoryFilter { /** * Filter criteria of the category. */ query: string; } export interface LogsCustomPipelineProcessorPipelineProcessorDateRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorPipelineProcessorDecoderProcessor { /** * Encoding type: base64 or base16 */ binaryToTextEncoding: string; /** * Input representation: utf-8 or integer */ inputRepresentation: string; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * Encoded message */ source: string; /** * Decoded message */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorGeoIpParser { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; /** * Name of the parent attribute that contains all the extracted details from the sources. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorGrokParser { grok: outputs.LogsCustomPipelineProcessorPipelineProcessorGrokParserGrok; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor */ name?: string; /** * List of sample logs for this parser. It can save up to 5 samples. Each sample takes up to 5000 characters. */ samples?: string[]; /** * Name of the log attribute to parse. */ source: string; } export interface LogsCustomPipelineProcessorPipelineProcessorGrokParserGrok { /** * Match rules for your grok parser. */ matchRules: string; /** * Support rules for your grok parser. */ supportRules: string; } export interface LogsCustomPipelineProcessorPipelineProcessorLookupProcessor { /** * Default lookup value to use if there is no entry in the lookup table for the value of the source attribute. */ defaultLookup?: string; /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * List of entries of the lookup table using `key,value` format. */ lookupTables: string[]; /** * Name of the processor */ name?: string; /** * Name of the source attribute used to do the lookup. */ source: string; /** * Name of the attribute that contains the result of the lookup. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorMessageRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorPipelineProcessorReferenceTableLookupProcessor { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the Reference Table for the source attribute and their associated target attribute values. */ lookupEnrichmentTable: string; /** * Name of the processor */ name?: string; /** * Name of the source attribute used to do the lookup. */ source: string; /** * Name of the attribute that contains the result of the lookup. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessor { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Array of mappers for the schema processor. */ mappers: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapper[]; /** * The name of the processor. */ name?: string; /** * Configuration of the schema data to use. */ schema: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorSchema; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapper { /** * Mapper that categorizes log events into enum fields. In the case of OCSF, they can be used to map sibling fields which are composed of an ID and a name. */ schemaCategoryMappers?: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapper[]; /** * Mapper that maps source log fields to their correct fields. */ schemaRemappers?: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaRemapper[]; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapper { /** * Object describing the logs filter with corresponding category ID. */ categories: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategory[]; /** * Used to override hardcoded category values with a value pulled from a source attribute on the log. */ fallback?: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperFallback; /** * Name of the logs schema category mapper. */ name: string; /** * Name of the target attributes which value is defined by the matching. */ targets: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperTargets; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategory { filter: outputs.LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategoryFilter; /** * ID to inject into the category. */ id: number; /** * Value to assign to target schema field. */ name: string; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategoryFilter { /** * Filter criteria of the category. */ query: string; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperFallback { /** * Fallback sources used to populate value of field. */ sources?: { [key: string]: string; }; /** * Values that define when the fallback is used. */ values?: { [key: string]: string; }; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperTargets { /** * ID of the field to map log attributes to */ id?: string; /** * Name of the field to map log attributes to. */ name?: string; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorMapperSchemaRemapper { /** * Name of the logs schema remapper. */ name: string; /** * Override or not the target element if already set. */ overrideOnConflict?: boolean; /** * Remove or preserve the remapped source element. */ preserveSource?: boolean; /** * Array of source attributes. */ sources: string[]; /** * Target field to map log source field to */ target: string; /** * If the `targetType` of the remapper is `attribute`, try to cast the value to a new specific type. If the cast is not possible, the original type is kept. `string`, `integer`, or `double` are the possible types. If the `targetType` is `tag`, this parameter may not be specified. */ targetFormat?: string; } export interface LogsCustomPipelineProcessorPipelineProcessorSchemaProcessorSchema { /** * Class name of the schema to use. */ className: string; /** * Class UID of the schema to use. */ classUid: number; /** * Optional list of extensions to modify the schema. */ extensions?: string[]; /** * Optional list of profiles to modify the schema. */ profiles?: string[]; /** * Type of schema to use. */ schemaType: string; /** * Version of the schema to use. */ version: string; } export interface LogsCustomPipelineProcessorPipelineProcessorServiceRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorPipelineProcessorSpanIdRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorPipelineProcessorStatusRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorPipelineProcessorStringBuilderProcessor { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * If it replaces all missing attributes of template by an empty string. */ isReplaceMissing?: boolean; /** * The name of the processor. */ name?: string; /** * The name of the attribute that contains the result of the template. */ target: string; /** * The formula with one or more attributes and raw text. */ template: string; } export interface LogsCustomPipelineProcessorPipelineProcessorTraceIdRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorPipelineProcessorUrlParser { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor */ name?: string; /** * Normalize the ending slashes or not. */ normalizeEndingSlashes?: boolean; /** * List of source attributes. */ sources: string[]; /** * Name of the parent attribute that contains all the extracted details from the sources. */ target: string; } export interface LogsCustomPipelineProcessorPipelineProcessorUserAgentParser { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * If the source attribute is URL encoded or not. */ isEncoded?: boolean; /** * Name of the processor */ name?: string; /** * List of source attributes. */ sources: string[]; /** * Name of the parent attribute that contains all the extracted details from the sources. */ target: string; } export interface LogsCustomPipelineProcessorReferenceTableLookupProcessor { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the Reference Table for the source attribute and their associated target attribute values. */ lookupEnrichmentTable: string; /** * Name of the processor */ name?: string; /** * Name of the source attribute used to do the lookup. */ source: string; /** * Name of the attribute that contains the result of the lookup. */ target: string; } export interface LogsCustomPipelineProcessorSchemaProcessor { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Array of mappers for the schema processor. */ mappers: outputs.LogsCustomPipelineProcessorSchemaProcessorMapper[]; /** * The name of the processor. */ name?: string; /** * Configuration of the schema data to use. */ schema: outputs.LogsCustomPipelineProcessorSchemaProcessorSchema; } export interface LogsCustomPipelineProcessorSchemaProcessorMapper { /** * Mapper that categorizes log events into enum fields. In the case of OCSF, they can be used to map sibling fields which are composed of an ID and a name. */ schemaCategoryMappers?: outputs.LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapper[]; /** * Mapper that maps source log fields to their correct fields. */ schemaRemappers?: outputs.LogsCustomPipelineProcessorSchemaProcessorMapperSchemaRemapper[]; } export interface LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapper { /** * Object describing the logs filter with corresponding category ID. */ categories: outputs.LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategory[]; /** * Used to override hardcoded category values with a value pulled from a source attribute on the log. */ fallback?: outputs.LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperFallback; /** * Name of the logs schema category mapper. */ name: string; /** * Name of the target attributes which value is defined by the matching. */ targets: outputs.LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperTargets; } export interface LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategory { filter: outputs.LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategoryFilter; /** * ID to inject into the category. */ id: number; /** * Value to assign to target schema field. */ name: string; } export interface LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperCategoryFilter { /** * Filter criteria of the category. */ query: string; } export interface LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperFallback { /** * Fallback sources used to populate value of field. */ sources?: { [key: string]: string; }; /** * Values that define when the fallback is used. */ values?: { [key: string]: string; }; } export interface LogsCustomPipelineProcessorSchemaProcessorMapperSchemaCategoryMapperTargets { /** * ID of the field to map log attributes to */ id?: string; /** * Name of the field to map log attributes to. */ name?: string; } export interface LogsCustomPipelineProcessorSchemaProcessorMapperSchemaRemapper { /** * Name of the logs schema remapper. */ name: string; /** * Override or not the target element if already set. */ overrideOnConflict?: boolean; /** * Remove or preserve the remapped source element. */ preserveSource?: boolean; /** * Array of source attributes. */ sources: string[]; /** * Target field to map log source field to */ target: string; /** * If the `targetType` of the remapper is `attribute`, try to cast the value to a new specific type. If the cast is not possible, the original type is kept. `string`, `integer`, or `double` are the possible types. If the `targetType` is `tag`, this parameter may not be specified. */ targetFormat?: string; } export interface LogsCustomPipelineProcessorSchemaProcessorSchema { /** * Class name of the schema to use. */ className: string; /** * Class UID of the schema to use. */ classUid: number; /** * Optional list of extensions to modify the schema. */ extensions?: string[]; /** * Optional list of profiles to modify the schema. */ profiles?: string[]; /** * Type of schema to use. */ schemaType: string; /** * Version of the schema to use. */ version: string; } export interface LogsCustomPipelineProcessorServiceRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorSpanIdRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorStatusRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorStringBuilderProcessor { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * If it replaces all missing attributes of template by an empty string. */ isReplaceMissing?: boolean; /** * The name of the processor. */ name?: string; /** * The name of the attribute that contains the result of the template. */ target: string; /** * The formula with one or more attributes and raw text. */ template: string; } export interface LogsCustomPipelineProcessorTraceIdRemapper { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor. */ name?: string; /** * List of source attributes. */ sources: string[]; } export interface LogsCustomPipelineProcessorUrlParser { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * Name of the processor */ name?: string; /** * Normalize the ending slashes or not. */ normalizeEndingSlashes?: boolean; /** * List of source attributes. */ sources: string[]; /** * Name of the parent attribute that contains all the extracted details from the sources. */ target: string; } export interface LogsCustomPipelineProcessorUserAgentParser { /** * If the processor is enabled or not. */ isEnabled?: boolean; /** * If the source attribute is URL encoded or not. */ isEncoded?: boolean; /** * Name of the processor */ name?: string; /** * List of source attributes. */ sources: string[]; /** * Name of the parent attribute that contains all the extracted details from the sources. */ target: string; } export interface LogsIndexDailyLimitReset { /** * String in `HH:00` format representing the time of day the daily limit should be reset. The hours must be between 00 and 23 (inclusive). */ resetTime: string; /** * String in `(-|+)HH:00` format representing the UTC offset to apply to the given reset time. The hours must be between -12 and +14 (inclusive). */ resetUtcOffset: string; } export interface LogsIndexExclusionFilter { filters?: outputs.LogsIndexExclusionFilterFilter[]; /** * A boolean stating if the exclusion is active or not. */ isEnabled?: boolean; /** * The name of the exclusion filter. */ name?: string; } export interface LogsIndexExclusionFilterFilter { /** * Only logs matching the filter criteria and the query of the parent index will be considered for this exclusion filter. */ query?: string; /** * The fraction of logs excluded by the exclusion filter, when active. */ sampleRate?: number; } export interface LogsIndexFilter { /** * Logs filter criteria. Only logs matching this filter criteria are considered for this index. */ query: string; } export interface LogsMetricCompute { /** * The type of aggregation to use. This field can't be updated after creation. Valid values are `count`, `distribution`. */ aggregationType: string; /** * Toggle to include/exclude percentiles for a distribution metric. Defaults to false. Can only be applied to metrics that have an `aggregationType` of distribution. */ includePercentiles?: boolean; /** * The path to the value the log-based metric will aggregate on (only used if the aggregation type is a "distribution"). This field can't be updated after creation. */ path?: string; } export interface LogsMetricFilter { /** * The search query - following the log search syntax. */ query: string; } export interface LogsMetricGroupBy { /** * The path to the value the log-based metric will be aggregated over. */ path: string; /** * Name of the tag that gets created. */ tagName: string; } export interface MetricTagConfigurationAggregation { /** * A space aggregation for use in query. Valid values are `avg`, `max`, `min`, `sum`. */ space: string; /** * A time aggregation for use in query. Valid values are `avg`, `count`, `max`, `min`, `sum`. */ time: string; } export interface MonitorAsset { /** * Type of asset the entity represents on a monitor. Valid values are `runbook`. */ category: string; /** * Name for the monitor asset. */ name: string; /** * Identifier of the internal Datadog resource that this asset represents. */ resourceKey?: string; /** * Type of internal Datadog resource associated with a monitor asset. Valid values are `notebook`. */ resourceType?: string; /** * URL for the asset. */ url: string; } export interface MonitorConfigPolicyTagPolicy { /** * The key of the tag */ tagKey: string; /** * If a tag key is required for monitor creation */ tagKeyRequired: boolean; /** * Valid values for the tag */ validTagValues: string[]; } export interface MonitorMonitorThresholdWindows { /** * Describes how long an anomalous metric must be normal before the alert recovers. */ recoveryWindow?: string; /** * Describes how long a metric must be anomalous before an alert triggers. */ triggerWindow?: string; } export interface MonitorMonitorThresholds { /** * The monitor `CRITICAL` threshold. Must be a number. */ critical?: string; /** * The monitor `CRITICAL` recovery threshold. Must be a number. */ criticalRecovery?: string; /** * The monitor `OK` threshold. Only supported in monitor type `service check`. Must be a number. */ ok?: string; /** * The monitor `UNKNOWN` threshold. Only supported in monitor type `service check`. Must be a number. */ unknown?: string; /** * The monitor `WARNING` threshold. Must be a number. */ warning?: string; /** * The monitor `WARNING` recovery threshold. Must be a number. */ warningRecovery?: string; } export interface MonitorNotificationRuleConditionalRecipients { /** * Conditions of the notification rule. */ conditions?: outputs.MonitorNotificationRuleConditionalRecipientsCondition[]; /** * If none of the `conditions` applied, `fallbackRecipients` will get notified. */ fallbackRecipients?: string[]; } export interface MonitorNotificationRuleConditionalRecipientsCondition { /** * A list of recipients to notify. Uses the same format as the monitor message field. Must not start with an '@'. */ recipients: string[]; /** * Defines the condition under which the recipients are notified. Supported formats: Monitor status condition using `transition_type:` (for example `transition_type:is_alert`) or a single tag `key:value pair` (for example `env:prod`). */ scope: string; } export interface MonitorNotificationRuleFilter { /** * A scope expression composed of `key:value` pairs (such as `env:prod`) with boolean operators (AND, OR, NOT) and parentheses for grouping. */ scope?: string; /** * A list of tag key:value pairs (e.g. team:product). All tags must match (AND semantics). */ tags?: string[]; } export interface MonitorSchedulingOptions { /** * Configuration options for the custom schedules. If `start` is omitted, the monitor creation time will be used. */ customSchedule?: outputs.MonitorSchedulingOptionsCustomSchedule; /** * Configuration options for the evaluation window. If `hourStarts` is set, no other fields may be set. Otherwise, `dayStarts` and `monthStarts` must be set together. */ evaluationWindow?: outputs.MonitorSchedulingOptionsEvaluationWindow; } export interface MonitorSchedulingOptionsCustomSchedule { /** * A list of recurrence definitions. Length must be 1. */ recurrence: outputs.MonitorSchedulingOptionsCustomScheduleRecurrence; } export interface MonitorSchedulingOptionsCustomScheduleRecurrence { /** * Must be a valid `rrule`. See API docs for supported fields */ rrule: string; /** * Time to start recurrence cycle. Similar to DTSTART. Expected format 'YYYY-MM-DDThh:mm:ss' */ start?: string; /** * 'tz database' format. Example: `America/New_York` or `UTC` */ timezone: string; } export interface MonitorSchedulingOptionsEvaluationWindow { /** * The time of the day at which a one day cumulative evaluation window starts. Must be defined in UTC time in `HH:mm` format. */ dayStarts?: string; /** * The minute of the hour at which a one hour cumulative evaluation window starts. Must be between 0 and 59. */ hourStarts?: number; /** * The day of the month at which a one month cumulative evaluation window starts. Must be a value of 1. */ monthStarts?: number; /** * The timezone for the cumulative evaluation window start time. */ timezone?: string; } export interface MonitorVariables { /** * The Cloud Cost query using formulas and functions. */ cloudCostQueries?: outputs.MonitorVariablesCloudCostQuery[]; /** * The Data Quality query using formulas and functions. */ dataQualityQueries?: outputs.MonitorVariablesDataQualityQuery[]; /** * A timeseries formula and functions events query. */ eventQueries?: outputs.MonitorVariablesEventQuery[]; } export interface MonitorVariablesCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `sum`, `max`, `min`, `last`, `area`, `l2norm`, `percentile`, `stddev`. */ aggregator: string; /** * The data source for cloud cost queries. Valid values are `metrics`, `cloudCost`, `datadogUsage`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface MonitorVariablesDataQualityQuery { /** * The data source for data quality queries. Valid value is `dataQualityMetrics`. Valid values are `dataQualityMetrics`. */ dataSource: string; /** * Filter expression used to match on data entities. Uses AAstra query syntax. */ filter: string; /** * Optional grouping fields for aggregation. */ groupBies?: string[]; /** * The measure to query. Common values include `bytes`, `cardinality`, `custom`, `freshness`, `max`, `mean`, `min`, `nullness`, `percentNegative`, `percentZero`, `rowCount`, `stddev`, `sum`, `uniqueness`. Additional values may be supported. */ measure: string; /** * Monitor configuration options for data quality queries. */ monitorOptions?: outputs.MonitorVariablesDataQualityQueryMonitorOptions; /** * The name of the query for use in formulas. */ name: string; /** * Schema version for the data quality query. */ schemaVersion?: string; /** * Optional scoping expression to further filter metrics. */ scope?: string; } export interface MonitorVariablesDataQualityQueryMonitorOptions { /** * Crontab expression to override the default schedule. */ crontabOverride?: string; /** * Custom SQL query for the monitor. */ customSql?: string; /** * Custom WHERE clause for the query. */ customWhere?: string; /** * Columns to group results by. */ groupByColumns?: string[]; /** * Override for the model type. Valid values are `freshness`, `percentage`, `any`. */ modelTypeOverride?: string; } export interface MonitorVariablesEventQuery { /** * The compute options. */ computes: outputs.MonitorVariablesEventQueryCompute[]; /** * The data source for event platform-based queries. Valid values are `rum`, `ciPipelines`, `ciTests`, `audit`, `events`, `logs`, `spans`, `databaseQueries`, `network`, `networkPath`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.MonitorVariablesEventQueryGroupBy[]; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search: outputs.MonitorVariablesEventQuerySearch; } export interface MonitorVariablesEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface MonitorVariablesEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.MonitorVariablesEventQueryGroupBySort; } export interface MonitorVariablesEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface MonitorVariablesEventQuerySearch { /** * The events search string. */ query: string; } export interface ObservabilityPipelineConfig { /** * List of destinations. */ destinations?: outputs.ObservabilityPipelineConfigDestination[]; /** * The type of data being ingested. Defaults to `logs` if not specified. Valid values are `logs`, `metrics`. */ pipelineType: string; /** * A processor group containing common configuration and nested processors. */ processorGroups?: outputs.ObservabilityPipelineConfigProcessorGroup[]; /** * List of sources. */ sources?: outputs.ObservabilityPipelineConfigSource[]; /** * Set to `true` to continue using the legacy search syntax while migrating filter queries. After migrating all queries to the new syntax, set to `false`. The legacy syntax is deprecated and will eventually be removed. Requires Observability Pipelines Worker 2.11 or later. See https://docs.datadoghq.com/observability*pipelines/guide/upgrade*your*filter*queries*to*the*new*search_syntax/ for more information. */ useLegacySearchSyntax?: boolean; } export interface ObservabilityPipelineConfigDestination { /** * The `amazonOpensearch` destination writes logs to Amazon OpenSearch. */ amazonOpensearches?: outputs.ObservabilityPipelineConfigDestinationAmazonOpensearch[]; /** * The `amazonS3Generic` destination sends your logs to an Amazon S3 bucket. */ amazonS3Generic?: outputs.ObservabilityPipelineConfigDestinationAmazonS3Generic; /** * The `amazonS3` destination sends your logs in Datadog-rehydratable format to an Amazon S3 bucket for archiving. */ amazonS3s?: outputs.ObservabilityPipelineConfigDestinationAmazonS3[]; /** * The `amazonSecurityLake` destination sends your logs to Amazon Security Lake. */ amazonSecurityLakes?: outputs.ObservabilityPipelineConfigDestinationAmazonSecurityLake[]; /** * The `azureStorage` destination forwards logs to an Azure Blob Storage container. */ azureStorages?: outputs.ObservabilityPipelineConfigDestinationAzureStorage[]; /** * The `cloudPrem` destination sends logs to Datadog CloudPrem. */ cloudPrem?: outputs.ObservabilityPipelineConfigDestinationCloudPrem; /** * The `crowdstrikeNextGenSiem` destination forwards logs to CrowdStrike Next Gen SIEM. */ crowdstrikeNextGenSiems?: outputs.ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiem[]; /** * The `datadogLogs` destination forwards logs to Datadog Log Management. */ datadogLogs?: outputs.ObservabilityPipelineConfigDestinationDatadogLog[]; /** * The `datadog.getMetrics` destination forwards metrics to Datadog. */ datadogMetrics?: outputs.ObservabilityPipelineConfigDestinationDatadogMetric[]; /** * The `elasticsearch` destination writes logs to an Elasticsearch cluster. */ elasticsearches?: outputs.ObservabilityPipelineConfigDestinationElasticsearch[]; /** * The `googleCloudStorage` destination stores logs in a Google Cloud Storage (GCS) bucket. */ googleCloudStorages?: outputs.ObservabilityPipelineConfigDestinationGoogleCloudStorage[]; /** * The `googlePubsub` destination publishes logs to a Google Cloud Pub/Sub topic. */ googlePubsubs?: outputs.ObservabilityPipelineConfigDestinationGooglePubsub[]; /** * The `googleChronicle` destination sends logs to Google SecOps. */ googleSecops?: outputs.ObservabilityPipelineConfigDestinationGoogleSecop[]; /** * The `httpClient` destination sends data to an HTTP endpoint. */ httpClients?: outputs.ObservabilityPipelineConfigDestinationHttpClient[]; /** * The unique identifier for this destination. */ id: string; /** * A list of component IDs whose output is used as the `input` for this component. */ inputs: string[]; /** * The `kafka` destination sends logs to Apache Kafka topics. */ kafka?: outputs.ObservabilityPipelineConfigDestinationKafka; /** * The `microsoftSentinel` destination forwards logs to Microsoft Sentinel. */ microsoftSentinels?: outputs.ObservabilityPipelineConfigDestinationMicrosoftSentinel[]; /** * The `newRelic` destination sends logs to the New Relic platform. */ newRelics?: outputs.ObservabilityPipelineConfigDestinationNewRelic[]; /** * The `opensearch` destination writes logs to an OpenSearch cluster. */ opensearches?: outputs.ObservabilityPipelineConfigDestinationOpensearch[]; /** * The `rsyslog` destination forwards logs to an external `rsyslog` server over TCP or UDP using the syslog protocol. */ rsyslogs?: outputs.ObservabilityPipelineConfigDestinationRsyslog[]; /** * The `sentinelOne` destination sends logs to SentinelOne. */ sentinelOnes?: outputs.ObservabilityPipelineConfigDestinationSentinelOne[]; /** * The `socket` destination sends logs over TCP or UDP to a remote server. */ sockets?: outputs.ObservabilityPipelineConfigDestinationSocket[]; /** * The `splunkHec` destination forwards logs to Splunk using the HTTP Event Collector (HEC). */ splunkHecs?: outputs.ObservabilityPipelineConfigDestinationSplunkHec[]; /** * The `sumoLogic` destination forwards logs to Sumo Logic. */ sumoLogics?: outputs.ObservabilityPipelineConfigDestinationSumoLogic[]; /** * The `syslogNg` destination forwards logs to an external `syslog-ng` server over TCP or UDP using the syslog protocol. */ syslogNgs?: outputs.ObservabilityPipelineConfigDestinationSyslogNg[]; } export interface ObservabilityPipelineConfigDestinationAmazonOpensearch { auth: outputs.ObservabilityPipelineConfigDestinationAmazonOpensearchAuth; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationAmazonOpensearchBuffer; /** * The index or datastream to write logs to. */ bulkIndex?: string; } export interface ObservabilityPipelineConfigDestinationAmazonOpensearchAuth { /** * ARN of the role to assume. */ assumeRole?: string; /** * AWS region override (if applicable). */ awsRegion?: string; /** * External ID for assumed role. */ externalId?: string; /** * Session name for assumed role. */ sessionName?: string; /** * The authentication strategy to use (e.g. aws or basic). */ strategy: string; } export interface ObservabilityPipelineConfigDestinationAmazonOpensearchBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationAmazonOpensearchBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationAmazonOpensearchBufferMemory; } export interface ObservabilityPipelineConfigDestinationAmazonOpensearchBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationAmazonOpensearchBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationAmazonS3 { /** * AWS authentication credentials used for accessing AWS services. If omitted, the system's default credentials are used (for example, the IAM role and environment variables). */ auth?: outputs.ObservabilityPipelineConfigDestinationAmazonS3Auth; /** * S3 bucket name. */ bucket: string; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationAmazonS3Buffer; /** * Prefix for object keys. */ keyPrefix: string; /** * AWS region of the S3 bucket. */ region: string; /** * S3 storage class. Valid values are `STANDARD`, `REDUCED_REDUNDANCY`, `INTELLIGENT_TIERING`, `STANDARD_IA`, `EXPRESS_ONEZONE`, `ONEZONE_IA`, `GLACIER`, `GLACIER_IR`, `DEEP_ARCHIVE`. */ storageClass: string; } export interface ObservabilityPipelineConfigDestinationAmazonS3Auth { /** * The Amazon Resource Name (ARN) of the role to assume. */ assumeRole?: string; /** * A unique identifier for cross-account role assumption. */ externalId?: string; /** * A session identifier used for logging and tracing the assumed role session. */ sessionName?: string; } export interface ObservabilityPipelineConfigDestinationAmazonS3Buffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationAmazonS3BufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationAmazonS3BufferMemory; } export interface ObservabilityPipelineConfigDestinationAmazonS3BufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationAmazonS3BufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationAmazonS3Generic { /** * AWS authentication credentials used for accessing AWS services. If omitted, the system's default credentials are used (for example, the IAM role and environment variables). */ auth?: outputs.ObservabilityPipelineConfigDestinationAmazonS3GenericAuth; /** * Event batching settings. */ batchSettings?: outputs.ObservabilityPipelineConfigDestinationAmazonS3GenericBatchSettings; /** * S3 bucket name. */ bucket: string; /** * Compression configuration. */ compression: outputs.ObservabilityPipelineConfigDestinationAmazonS3GenericCompression; /** * Encoding format for the destination. */ encoding: outputs.ObservabilityPipelineConfigDestinationAmazonS3GenericEncoding; /** * Optional prefix for object keys. */ keyPrefix?: string; /** * AWS region of the S3 bucket. */ region: string; /** * S3 storage class. Valid values are `STANDARD`, `REDUCED_REDUNDANCY`, `INTELLIGENT_TIERING`, `STANDARD_IA`, `EXPRESS_ONEZONE`, `ONEZONE_IA`, `GLACIER`, `GLACIER_IR`, `DEEP_ARCHIVE`. */ storageClass: string; } export interface ObservabilityPipelineConfigDestinationAmazonS3GenericAuth { /** * The Amazon Resource Name (ARN) of the role to assume. */ assumeRole?: string; /** * A unique identifier for cross-account role assumption. */ externalId?: string; /** * A session identifier used for logging and tracing the assumed role session. */ sessionName?: string; } export interface ObservabilityPipelineConfigDestinationAmazonS3GenericBatchSettings { /** * Maximum batch size in bytes. */ batchSize?: number; /** * Maximum number of seconds to wait before flushing the batch. */ timeoutSecs?: number; } export interface ObservabilityPipelineConfigDestinationAmazonS3GenericCompression { /** * Compression algorithm. Valid values are `gzip`, `zstd`, `snappy`. */ algorithm: string; /** * Compression level. */ level?: number; } export interface ObservabilityPipelineConfigDestinationAmazonS3GenericEncoding { /** * The encoding type. Valid values are `json`, `parquet`. */ type: string; } export interface ObservabilityPipelineConfigDestinationAmazonSecurityLake { /** * AWS authentication credentials used for accessing AWS services. If omitted, the system's default credentials are used (for example, the IAM role and environment variables). */ auth?: outputs.ObservabilityPipelineConfigDestinationAmazonSecurityLakeAuth; /** * Name of the Amazon S3 bucket in Security Lake (3-63 characters). */ bucket: string; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationAmazonSecurityLakeBuffer; /** * Custom source name for the logs in Security Lake. */ customSourceName: string; /** * AWS region of the Security Lake bucket. */ region: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationAmazonSecurityLakeTls; } export interface ObservabilityPipelineConfigDestinationAmazonSecurityLakeAuth { /** * The Amazon Resource Name (ARN) of the role to assume. */ assumeRole?: string; /** * A unique identifier for cross-account role assumption. */ externalId?: string; /** * A session identifier used for logging and tracing the assumed role session. */ sessionName?: string; } export interface ObservabilityPipelineConfigDestinationAmazonSecurityLakeBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationAmazonSecurityLakeBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationAmazonSecurityLakeBufferMemory; } export interface ObservabilityPipelineConfigDestinationAmazonSecurityLakeBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationAmazonSecurityLakeBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationAmazonSecurityLakeTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigDestinationAzureStorage { /** * Optional prefix for blobs written to the container. */ blobPrefix?: string; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationAzureStorageBuffer; /** * The name of the Azure Blob Storage container to store logs in. */ containerName: string; } export interface ObservabilityPipelineConfigDestinationAzureStorageBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationAzureStorageBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationAzureStorageBufferMemory; } export interface ObservabilityPipelineConfigDestinationAzureStorageBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationAzureStorageBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationCloudPrem { /** * Name of the environment variable or secret that holds the endpoint URL. */ endpointUrlKey?: string; } export interface ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiem { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemBuffer; /** * Compression configuration for log events. */ compression?: outputs.ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemCompression; /** * Encoding format for log events. Valid values are `json`, `rawMessage`. */ encoding: string; /** * Name of the environment variable or secret that holds the endpoint URL. */ endpointUrlKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemTls; /** * Name of the environment variable or secret that holds the authentication token. */ tokenKey?: string; } export interface ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemBufferMemory; } export interface ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemCompression { /** * Compression algorithm for log events. */ algorithm: string; /** * Compression level. */ level?: number; } export interface ObservabilityPipelineConfigDestinationCrowdstrikeNextGenSiemTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigDestinationDatadogLog { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationDatadogLogBuffer; /** * A list of routing rules that forward matching logs to Datadog using dedicated API keys. */ routes?: outputs.ObservabilityPipelineConfigDestinationDatadogLogRoute[]; } export interface ObservabilityPipelineConfigDestinationDatadogLogBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationDatadogLogBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationDatadogLogBufferMemory; } export interface ObservabilityPipelineConfigDestinationDatadogLogBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationDatadogLogBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationDatadogLogRoute { /** * Name of the environment variable or secret that stores the Datadog API key used by this route. */ apiKeyKey: string; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationDatadogLogRouteBuffer; /** * A Datadog search query that determines which logs are forwarded using this route. */ include: string; /** * Unique identifier for this route within the destination. */ routeId: string; /** * Datadog site where matching logs are sent (for example, `us1`). */ site: string; } export interface ObservabilityPipelineConfigDestinationDatadogLogRouteBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationDatadogLogRouteBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationDatadogLogRouteBufferMemory; } export interface ObservabilityPipelineConfigDestinationDatadogLogRouteBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationDatadogLogRouteBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationDatadogMetric { } export interface ObservabilityPipelineConfigDestinationElasticsearch { /** * The Elasticsearch API version to use. Set to `auto` to auto-detect. */ apiVersion?: string; /** * Authentication settings for the Elasticsearch destination. */ auth?: outputs.ObservabilityPipelineConfigDestinationElasticsearchAuth; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationElasticsearchBuffer; /** * The index or datastream to write logs to in Elasticsearch. */ bulkIndex?: string; /** * Configuration options for writing to Elasticsearch Data Streams instead of a fixed index. */ dataStream?: outputs.ObservabilityPipelineConfigDestinationElasticsearchDataStream; /** * Name of the environment variable or secret that holds the Elasticsearch endpoint URL. */ endpointUrlKey?: string; } export interface ObservabilityPipelineConfigDestinationElasticsearchAuth { /** * Name of the environment variable or secret that holds the Elasticsearch password (used when strategy is `basic`). */ passwordKey?: string; /** * The authentication strategy. Use `basic` for username/password. Valid values are `basic`, `aws`. */ strategy: string; /** * Name of the environment variable or secret that holds the Elasticsearch username (used when strategy is `basic`). */ usernameKey?: string; } export interface ObservabilityPipelineConfigDestinationElasticsearchBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationElasticsearchBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationElasticsearchBufferMemory; } export interface ObservabilityPipelineConfigDestinationElasticsearchBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationElasticsearchBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationElasticsearchDataStream { /** * The data stream dataset for your logs. This groups logs by their source or application. */ dataset?: string; /** * The data stream type for your logs. This determines how logs are categorized within the data stream. */ dtype?: string; /** * The data stream namespace for your logs. This separates logs into different environments or domains. */ namespace?: string; } export interface ObservabilityPipelineConfigDestinationGoogleCloudStorage { /** * Access control list setting for objects written to the bucket. */ acl?: string; /** * Google Cloud credentials used to authenticate with Google Cloud services. */ auth?: outputs.ObservabilityPipelineConfigDestinationGoogleCloudStorageAuth; /** * Name of the GCS bucket. */ bucket: string; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationGoogleCloudStorageBuffer; /** * Optional prefix for object keys within the GCS bucket. */ keyPrefix?: string; /** * Custom metadata key-value pairs added to each object. */ metadatas?: outputs.ObservabilityPipelineConfigDestinationGoogleCloudStorageMetadata[]; /** * Storage class used for objects stored in GCS. */ storageClass: string; } export interface ObservabilityPipelineConfigDestinationGoogleCloudStorageAuth { /** * Path to the Google Cloud service account key file. */ credentialsFile: string; } export interface ObservabilityPipelineConfigDestinationGoogleCloudStorageBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationGoogleCloudStorageBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationGoogleCloudStorageBufferMemory; } export interface ObservabilityPipelineConfigDestinationGoogleCloudStorageBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationGoogleCloudStorageBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationGoogleCloudStorageMetadata { /** * The metadata key. */ name: string; /** * The metadata value. */ value: string; } export interface ObservabilityPipelineConfigDestinationGooglePubsub { /** * Google Cloud credentials used to authenticate with Google Cloud services. */ auth?: outputs.ObservabilityPipelineConfigDestinationGooglePubsubAuth; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationGooglePubsubBuffer; /** * Encoding format for log events. Valid values: `json`, `rawMessage`. */ encoding: string; /** * Name of the environment variable or secret that holds the Google Cloud Pub/Sub endpoint URL. */ endpointUrlKey?: string; /** * The Google Cloud project ID that owns the Pub/Sub topic. */ project: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationGooglePubsubTls; /** * The Pub/Sub topic name to publish logs to. */ topic: string; } export interface ObservabilityPipelineConfigDestinationGooglePubsubAuth { /** * Path to the Google Cloud service account key file. */ credentialsFile: string; } export interface ObservabilityPipelineConfigDestinationGooglePubsubBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationGooglePubsubBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationGooglePubsubBufferMemory; } export interface ObservabilityPipelineConfigDestinationGooglePubsubBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationGooglePubsubBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationGooglePubsubTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigDestinationGoogleSecop { /** * Google Cloud credentials used to authenticate with Google Cloud services. */ auth?: outputs.ObservabilityPipelineConfigDestinationGoogleSecopAuth; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationGoogleSecopBuffer; /** * The Google SecOps customer ID. */ customerId: string; /** * The encoding format for the logs sent to Google SecOps. Valid values are `json`, `rawMessage`. */ encoding: string; /** * Name of the environment variable or secret that holds the Google Chronicle endpoint URL. */ endpointUrlKey?: string; /** * The log type metadata associated with the Google SecOps destination. */ logType: string; } export interface ObservabilityPipelineConfigDestinationGoogleSecopAuth { /** * Path to the Google Cloud service account key file. */ credentialsFile: string; } export interface ObservabilityPipelineConfigDestinationGoogleSecopBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationGoogleSecopBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationGoogleSecopBufferMemory; } export interface ObservabilityPipelineConfigDestinationGoogleSecopBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationGoogleSecopBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationHttpClient { /** * HTTP authentication strategy. Valid values are `none`, `basic`, `bearer`. */ authStrategy?: string; /** * Compression configuration for HTTP requests. */ compression?: outputs.ObservabilityPipelineConfigDestinationHttpClientCompression; /** * Encoding format for events. Valid values are `json`. */ encoding: string; /** * Name of the environment variable or secret that holds the password. */ passwordKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationHttpClientTls; /** * Name of the environment variable or secret that holds the authentication token. */ tokenKey?: string; /** * Name of the environment variable or secret that holds the request URI. */ uriKey?: string; /** * Name of the environment variable or secret that holds the username. */ usernameKey?: string; } export interface ObservabilityPipelineConfigDestinationHttpClientCompression { /** * Compression algorithm. Valid values are `gzip`. */ algorithm: string; } export interface ObservabilityPipelineConfigDestinationHttpClientTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigDestinationKafka { /** * Name of the environment variable or secret that holds the Kafka bootstrap servers. */ bootstrapServersKey?: string; /** * Compression codec for Kafka messages. Valid values are `none`, `gzip`, `snappy`, `lz4`, `zstd`. */ compression?: string; /** * Encoding format for log events. Valid values are `json`, `rawMessage`. */ encoding: string; /** * The field name to use for Kafka message headers. */ headersKey?: string; /** * The field name to use as the Kafka message key. */ keyField?: string; /** * Optional list of advanced Kafka producer configuration options, defined as key-value pairs. */ librdkafkaOptions?: outputs.ObservabilityPipelineConfigDestinationKafkaLibrdkafkaOption[]; /** * Maximum time in milliseconds to wait for message delivery confirmation. */ messageTimeoutMs?: number; /** * Duration in seconds for the rate limit window. */ rateLimitDurationSecs?: number; /** * Maximum number of messages allowed per rate limit duration. */ rateLimitNum?: number; /** * Specifies the SASL mechanism for authenticating with a Kafka cluster. */ sasl?: outputs.ObservabilityPipelineConfigDestinationKafkaSasl; /** * Socket timeout in milliseconds for network requests. */ socketTimeoutMs?: number; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationKafkaTls; /** * The Kafka topic name to publish logs to. */ topic: string; } export interface ObservabilityPipelineConfigDestinationKafkaLibrdkafkaOption { /** * The name of the librdkafka configuration option. */ name: string; /** * The value of the librdkafka configuration option. */ value: string; } export interface ObservabilityPipelineConfigDestinationKafkaSasl { /** * SASL authentication mechanism. Valid values are `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`. */ mechanism: string; /** * Name of the environment variable or secret that holds the SASL password. */ passwordKey?: string; /** * Name of the environment variable or secret that holds the SASL username. */ usernameKey?: string; } export interface ObservabilityPipelineConfigDestinationKafkaTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigDestinationMicrosoftSentinel { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationMicrosoftSentinelBuffer; /** * Azure AD client ID used for authentication. */ clientId: string; /** * Name of the environment variable or secret that holds the Azure AD client secret. */ clientSecretKey?: string; /** * Name of the environment variable or secret that holds the Data Collection Endpoint (DCE) URI. */ dceUriKey?: string; /** * The immutable ID of the Data Collection Rule (DCR). */ dcrImmutableId: string; /** * The name of the Log Analytics table where logs will be sent. */ table: string; /** * Azure AD tenant ID. */ tenantId: string; } export interface ObservabilityPipelineConfigDestinationMicrosoftSentinelBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationMicrosoftSentinelBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationMicrosoftSentinelBufferMemory; } export interface ObservabilityPipelineConfigDestinationMicrosoftSentinelBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationMicrosoftSentinelBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationNewRelic { /** * Name of the environment variable or secret that holds the New Relic account ID. */ accountIdKey?: string; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationNewRelicBuffer; /** * Name of the environment variable or secret that holds the New Relic license key. */ licenseKeyKey?: string; /** * The New Relic region. */ region: string; } export interface ObservabilityPipelineConfigDestinationNewRelicBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationNewRelicBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationNewRelicBufferMemory; } export interface ObservabilityPipelineConfigDestinationNewRelicBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationNewRelicBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationOpensearch { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationOpensearchBuffer; /** * The index or datastream to write logs to. */ bulkIndex?: string; /** * Configuration options for writing to OpenSearch Data Streams instead of a fixed index. */ dataStream?: outputs.ObservabilityPipelineConfigDestinationOpensearchDataStream; } export interface ObservabilityPipelineConfigDestinationOpensearchBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationOpensearchBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationOpensearchBufferMemory; } export interface ObservabilityPipelineConfigDestinationOpensearchBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationOpensearchBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationOpensearchDataStream { /** * The data stream dataset for your logs. This groups logs by their source or application. */ dataset?: string; /** * The data stream type for your logs. This determines how logs are categorized within the data stream. */ dtype?: string; /** * The data stream namespace for your logs. This separates logs into different environments or domains. */ namespace?: string; } export interface ObservabilityPipelineConfigDestinationRsyslog { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationRsyslogBuffer; /** * Name of the environment variable or secret that holds the rsyslog endpoint URL. */ endpointUrlKey?: string; /** * Optional socket keepalive duration in milliseconds. */ keepalive?: number; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationRsyslogTls; } export interface ObservabilityPipelineConfigDestinationRsyslogBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationRsyslogBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationRsyslogBufferMemory; } export interface ObservabilityPipelineConfigDestinationRsyslogBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationRsyslogBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationRsyslogTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigDestinationSentinelOne { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationSentinelOneBuffer; /** * The SentinelOne region to send logs to. */ region: string; /** * Name of the environment variable or secret that holds the SentinelOne API token. */ tokenKey?: string; } export interface ObservabilityPipelineConfigDestinationSentinelOneBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationSentinelOneBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationSentinelOneBufferMemory; } export interface ObservabilityPipelineConfigDestinationSentinelOneBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSentinelOneBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSocket { /** * Name of the environment variable or secret that holds the socket address (host:port). */ addressKey?: string; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationSocketBuffer; /** * Encoding format for log events. Valid values are `json`, `rawMessage`. */ encoding: string; /** * Defines the framing method for outgoing messages. */ framing: outputs.ObservabilityPipelineConfigDestinationSocketFraming; /** * The protocol used to send logs. Valid values are `tcp`, `udp`. */ mode: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationSocketTls; } export interface ObservabilityPipelineConfigDestinationSocketBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationSocketBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationSocketBufferMemory; } export interface ObservabilityPipelineConfigDestinationSocketBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSocketBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSocketFraming { /** * Used when `method` is `characterDelimited`. Specifies the delimiter character. */ characterDelimited?: outputs.ObservabilityPipelineConfigDestinationSocketFramingCharacterDelimited; /** * The framing method. Valid values are `newlineDelimited`, `bytes`, `characterDelimited`. */ method: string; } export interface ObservabilityPipelineConfigDestinationSocketFramingCharacterDelimited { /** * A single ASCII character used as a delimiter. */ delimiter: string; } export interface ObservabilityPipelineConfigDestinationSocketTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigDestinationSplunkHec { /** * If `true`, Splunk tries to extract timestamps from incoming log events. */ autoExtractTimestamp?: boolean; /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationSplunkHecBuffer; /** * Encoding format for log events. Valid values are `json`, `rawMessage`. */ encoding: string; /** * Name of the environment variable or secret that holds the Splunk HEC endpoint URL. */ endpointUrlKey?: string; /** * Optional name of the Splunk index where logs are written. */ index?: string; /** * List of log field names to send as indexed fields to Splunk HEC. Available only when `encoding` is `json`. */ indexedFields?: string[]; /** * The Splunk sourcetype to assign to log events. */ sourcetype?: string; /** * Name of the environment variable or secret that holds the Splunk HEC token. */ tokenKey?: string; } export interface ObservabilityPipelineConfigDestinationSplunkHecBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationSplunkHecBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationSplunkHecBufferMemory; } export interface ObservabilityPipelineConfigDestinationSplunkHecBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSplunkHecBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSumoLogic { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationSumoLogicBuffer; /** * The output encoding format. */ encoding?: string; /** * Name of the environment variable or secret that holds the Sumo Logic endpoint URL. */ endpointUrlKey?: string; /** * A list of custom headers to include in the request to Sumo Logic. */ headerCustomFields?: outputs.ObservabilityPipelineConfigDestinationSumoLogicHeaderCustomField[]; /** * Optional override for the host name header. */ headerHostName?: string; /** * Optional override for the source category header. */ headerSourceCategory?: string; /** * Optional override for the source name header. */ headerSourceName?: string; } export interface ObservabilityPipelineConfigDestinationSumoLogicBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationSumoLogicBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationSumoLogicBufferMemory; } export interface ObservabilityPipelineConfigDestinationSumoLogicBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSumoLogicBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSumoLogicHeaderCustomField { /** * The header field name. */ name?: string; /** * The header field value. */ value?: string; } export interface ObservabilityPipelineConfigDestinationSyslogNg { /** * Configuration for buffer settings on destination components. Exactly one of `disk` or `memory` must be specified. */ buffer?: outputs.ObservabilityPipelineConfigDestinationSyslogNgBuffer; /** * Name of the environment variable or secret that holds the syslog-ng endpoint URL. */ endpointUrlKey?: string; /** * Optional socket keepalive duration in milliseconds. */ keepalive?: number; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigDestinationSyslogNgTls; } export interface ObservabilityPipelineConfigDestinationSyslogNgBuffer { /** * Options for configuring a disk buffer. Cannot be used with `memory`. */ disk?: outputs.ObservabilityPipelineConfigDestinationSyslogNgBufferDisk; /** * Options for configuring a memory buffer. Cannot be used with `disk`. */ memory?: outputs.ObservabilityPipelineConfigDestinationSyslogNgBufferMemory; } export interface ObservabilityPipelineConfigDestinationSyslogNgBufferDisk { /** * Maximum size of the disk buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSyslogNgBufferMemory { /** * Maximum events for the memory buffer. */ maxEvents?: number; /** * Maximum size of the memory buffer (in bytes). */ maxSize?: number; /** * Behavior when the buffer is full. Valid values are `block` or `dropNewest`. Defaults to `"block"`. */ whenFull: string; } export interface ObservabilityPipelineConfigDestinationSyslogNgTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigProcessorGroup { /** * A human-friendly name of the processor group. */ displayName?: string; /** * Whether this processor group is enabled. */ enabled: boolean; /** * The unique ID of the processor group. */ id: string; /** * A Datadog search query used to determine which logs this processor group targets. */ include: string; /** * A list of component IDs whose output is used as the input for this processor group. */ inputs: string[]; /** * The processor contained in this group. */ processors?: outputs.ObservabilityPipelineConfigProcessorGroupProcessor[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessor { /** * The `addEnvVars` processor adds environment variable values to log events. */ addEnvVars?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorAddEnvVars; /** * The `addFields` processor adds static key-value fields to logs. */ addFields?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorAddFields; /** * The `addHostname` processor adds the hostname to log events. */ addHostname?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorAddHostname; /** * The `customProcessor` processor transforms events using Vector Remap Language (VRL) scripts with advanced filtering capabilities. */ customProcessor?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorCustomProcessor; datadogTags?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorDatadogTags; /** * The `dedupe` processor removes duplicate fields in log events. */ dedupe?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorDedupe; /** * A human-friendly name for this processor. */ displayName?: string; /** * Whether this processor is enabled. */ enabled: boolean; /** * The `enrichmentTable` processor enriches logs using a static CSV file or GeoIP database. */ enrichmentTable?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTable; /** * The `filter` processor allows conditional processing of logs based on a Datadog search query. Logs that match the `include` query are passed through; others are discarded. */ filter?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorFilter; /** * The `generateDatadogMetrics` processor creates custom metrics from logs. Metrics can be counters, gauges, or distributions and optionally grouped by log fields. */ generateDatadogMetrics?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorGenerateDatadogMetrics; /** * The unique identifier for this processor. */ id: string; /** * A Datadog search query used to determine which logs this processor targets. */ include: string; /** * The `metricTags` processor filters metrics based on their tags using Datadog tag key patterns. */ metricTags?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorMetricTags; /** * The `ocsfMapper` processor transforms logs into the OCSF schema using predefined library mappings or custom mapping configuration. */ ocsfMapper?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapper; /** * The `parseGrok` processor extracts structured fields from unstructured log messages using Grok patterns. */ parseGrok?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorParseGrok; /** * The `parseJson` processor extracts JSON from a specified field and flattens it into the event. This is useful when logs contain embedded JSON as a string. */ parseJson?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorParseJson; /** * The `parseXml` processor parses XML from a specified field and extracts it into the event. */ parseXml?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorParseXml; /** * The `quota` processor measures logging traffic for logs that match a specified filter. When the configured daily quota is met, the processor can drop or alert. */ quota?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorQuota; /** * The `reduce` processor aggregates and merges logs based on matching keys and merge strategies. */ reduce?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorReduce; /** * The `removeFields` processor deletes specified fields from logs. */ removeFields?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorRemoveFields; /** * The `renameFields` processor changes field names. */ renameFields?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorRenameFields; /** * The `sample` processor allows probabilistic sampling of logs at a fixed rate. */ sample?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSample; /** * The `sensitiveDataScanner` processor detects and optionally redacts sensitive data in log events. */ sensitiveDataScanner?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScanner; /** * The `splitArray` processor splits array fields into separate events based on configured rules. */ splitArray?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSplitArray; /** * The `throttle` processor limits the number of events that pass through over a given time window. */ throttle?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorThrottle; } export interface ObservabilityPipelineConfigProcessorGroupProcessorAddEnvVars { /** * A list of environment variable mappings to apply to log fields. */ variables?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorAddEnvVarsVariable[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorAddEnvVarsVariable { /** * The target field in the log event. */ field: string; /** * The name of the environment variable to read. */ name: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorAddFields { /** * A list of static fields (key-value pairs) that is added to each log event processed by this component. */ fields: outputs.ObservabilityPipelineConfigProcessorGroupProcessorAddFieldsField[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorAddFieldsField { /** * The field name to add. */ name: string; /** * The value to assign to the field. */ value: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorAddHostname { } export interface ObservabilityPipelineConfigProcessorGroupProcessorCustomProcessor { /** * Array of VRL remap configurations. Each remap defines a transformation rule with its own filter and VRL script. */ remaps: outputs.ObservabilityPipelineConfigProcessorGroupProcessorCustomProcessorRemap[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorCustomProcessorRemap { /** * Whether to drop events that cause errors during transformation. */ dropOnError: boolean; /** * Whether this remap rule is enabled. */ enabled: boolean; /** * A Datadog search query used to filter events for this specific remap rule. */ include: string; /** * A descriptive name for this remap rule. */ name: string; /** * The VRL script source code that defines the transformation logic. */ source: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorDatadogTags { /** * Valid values are `include`, `exclude`. */ action: string; keys: string[]; /** * Valid values are `filter`. */ mode: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorDedupe { /** * A list of log field paths to check for duplicates. */ fields: string[]; /** * The deduplication mode to apply to the fields. */ mode: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTable { /** * Defines a static enrichment table loaded from a CSV file. */ file?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableFile; /** * Uses a GeoIP database to enrich logs based on an IP field. */ geoip?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableGeoip; /** * Uses a Datadog reference table to enrich logs. */ referenceTable?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableReferenceTable; /** * Path where enrichment results should be stored in the log. */ target: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableFile { encoding: outputs.ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableFileEncoding; /** * Key fields used to look up enrichment values. */ keys?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableFileKey[]; /** * Path to the CSV file. */ path?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableFileEncoding { /** * The `encoding` `delimiter`. */ delimiter: string; /** * The `encoding` `includesHeaders`. */ includesHeaders?: boolean; /** * File encoding format. */ type: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableFileKey { /** * The `items` `column`. */ column?: string; /** * The comparison method (e.g. equals). */ comparison?: string; /** * The `items` `field`. */ field?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableGeoip { /** * Path to the IP field in the log. */ keyField?: string; /** * Locale used to resolve geographical names. */ locale?: string; /** * Path to the GeoIP database file. */ path?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorEnrichmentTableReferenceTable { /** * Name of the environment variable or secret that holds the Datadog application key for the reference table. */ appKeyKey?: string; /** * List of column names to include from the reference table. If not provided, all columns are included. */ columns?: string[]; /** * Path to the field in the log event to match against the reference table. */ keyField: string; /** * The unique identifier of the reference table. */ tableId: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorFilter { } export interface ObservabilityPipelineConfigProcessorGroupProcessorGenerateDatadogMetrics { /** * Configuration for generating individual metrics. */ metrics?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorGenerateDatadogMetricsMetric[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorGenerateDatadogMetricsMetric { /** * Optional fields used to group the metric series. */ groupBies?: string[]; /** * Datadog filter query to match logs for metric generation. */ include: string; /** * Type of metric to create. */ metricType: string; /** * Name of the custom metric to be created. */ name: string; /** * Specifies how the value of the generated metric is computed. */ value: outputs.ObservabilityPipelineConfigProcessorGroupProcessorGenerateDatadogMetricsMetricValue; } export interface ObservabilityPipelineConfigProcessorGroupProcessorGenerateDatadogMetricsMetricValue { /** * Name of the log field containing the numeric value to increment the metric by (used only for `incrementByField`). */ field?: string; /** * Metric value strategy: `incrementByOne` or `incrementByField`. */ strategy: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorMetricTags { /** * A list of rules for filtering metric tags. */ rules: outputs.ObservabilityPipelineConfigProcessorGroupProcessorMetricTagsRule[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorMetricTagsRule { /** * The action to take on tags with matching keys. Valid values are `include`, `exclude`. */ action: string; /** * A Datadog search query used to determine which metrics this rule targets. */ include: string; /** * A list of tag keys to include or exclude. */ keys: string[]; /** * The processing mode for tag filtering. Valid values are `filter`. */ mode: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapper { /** * Whether to keep an event that does not match any of the mapping filters. */ keepUnmatched?: boolean; /** * List of OCSF mapping entries. Each entry uses either a library mapping or a custom mapping. */ mappings?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMapping[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMapping { /** * Custom OCSF mapping configuration for transforming logs. */ customMapping?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMapping; /** * Search query for selecting which logs the mapping applies to. */ include: string; /** * Predefined library mapping for log transformation. Use this or custom_mapping, not both. */ libraryMapping?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMapping { /** * A list of field mapping rules for transforming log fields to OCSF schema fields. */ mappings?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMapping[]; /** * Metadata for the custom OCSF mapping. */ metadata: outputs.ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMetadata; /** * The version of the custom mapping configuration. */ version: number; } export interface ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMapping { /** * The default value to use if the source field is missing or empty. */ default?: string; /** * The destination OCSF field path. */ dest: string; /** * Lookup table configuration for mapping source values to destination values. */ lookup?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMappingLookup; /** * The source field path from the log event. */ source?: string; /** * Multiple source field paths for combined mapping. */ sources?: string[]; /** * A static value to use for the destination field. */ value?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMappingLookup { /** * The default value to use if no lookup match is found. */ default?: string; /** * A list of lookup table entries for value transformation. */ tables?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMappingLookupTable[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMappingLookupTable { /** * The substring to match in the source value. */ contains?: string; /** * The exact value to match in the source. */ equals?: string; /** * The source field to match against. */ equalsSource?: string; /** * A regex pattern to match in the source value. */ matches?: string; /** * A regex pattern that must not match the source value. */ notMatches?: string; /** * The value to use when a match is found. */ value?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorOcsfMapperMappingCustomMappingMetadata { /** * The OCSF event class name. */ class: string; /** * A list of OCSF profiles to apply. */ profiles?: string[]; /** * The OCSF schema version. */ version: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorParseGrok { /** * If set to `true`, disables the default Grok rules provided by Datadog. */ disableLibraryRules?: boolean; /** * The list of Grok parsing rules. If multiple parsing rules are provided, they are evaluated in order. The first successful match is applied. */ rules: outputs.ObservabilityPipelineConfigProcessorGroupProcessorParseGrokRule[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorParseGrokRule { /** * A list of Grok parsing rules that define how to extract fields from the source field. Each rule must contain a name and a valid Grok pattern. */ matchRules: outputs.ObservabilityPipelineConfigProcessorGroupProcessorParseGrokRuleMatchRule[]; /** * The name of the field in the log event to apply the Grok rules to. */ source: string; /** * A list of helper Grok rules that can be referenced by the parsing rules. */ supportRules?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorParseGrokRuleSupportRule[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorParseGrokRuleMatchRule { /** * The name of the rule. */ name: string; /** * The definition of the Grok rule. */ rule: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorParseGrokRuleSupportRule { /** * The name of the helper Grok rule. */ name: string; /** * The definition of the helper Grok rule. */ rule: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorParseJson { /** * The field to parse. */ field: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorParseXml { /** * Whether to always store text inside an object using the text key even when no attributes exist. */ alwaysUseTextKey?: boolean; /** * The prefix to use for XML attributes in the parsed output. If the field is left empty, the original attribute key is used. */ attrPrefix?: string; /** * The path to the log field on which you want to parse XML. */ field: string; /** * Whether to include XML attributes in the parsed output. */ includeAttr?: boolean; /** * Whether to parse boolean values from strings. */ parseBool?: boolean; /** * Whether to parse null values. */ parseNull?: boolean; /** * Whether to parse numeric values from strings. */ parseNumber?: boolean; /** * The key name to use for the text node when XML attributes are appended. */ textKey?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorQuota { /** * Whether to drop events exceeding the limit. */ dropEvents?: boolean; /** * Whether to ignore when partition fields are missing. */ ignoreWhenMissingPartitions?: boolean; limit: outputs.ObservabilityPipelineConfigProcessorGroupProcessorQuotaLimit; /** * The name of the quota. */ name: string; /** * The action to take when the quota is exceeded: `drop`, `noAction`, or `overflowRouting`. */ overflowAction?: string; /** * The overrides for field-specific quotas. */ overrides?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorQuotaOverride[]; /** * List of partition fields. */ partitionFields?: string[]; /** * The action to take when the max number of buckets is exceeded: `drop`, `noAction`, or `overflowRouting`. */ tooManyBucketsAction?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorQuotaLimit { /** * Whether to enforce by 'bytes' or 'events'. Valid values are `bytes`, `events`. */ enforce: string; /** * The daily quota limit. */ limit: number; } export interface ObservabilityPipelineConfigProcessorGroupProcessorQuotaOverride { /** * Fields that trigger this override. */ fields?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorQuotaOverrideField[]; limit: outputs.ObservabilityPipelineConfigProcessorGroupProcessorQuotaOverrideLimit; } export interface ObservabilityPipelineConfigProcessorGroupProcessorQuotaOverrideField { /** * The field name. */ name: string; /** * The field value. */ value: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorQuotaOverrideLimit { /** * Whether to enforce by 'bytes' or 'events'. Valid values are `bytes`, `events`. */ enforce: string; /** * The daily quota limit. */ limit: number; } export interface ObservabilityPipelineConfigProcessorGroupProcessorReduce { /** * A list of fields used to group log events for merging. */ groupBies: string[]; /** * List of merge strategies defining how values from grouped events should be combined. */ mergeStrategies: outputs.ObservabilityPipelineConfigProcessorGroupProcessorReduceMergeStrategy[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorReduceMergeStrategy { /** * The field path in the log event. */ path: string; /** * The merge strategy to apply. */ strategy: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorRemoveFields { /** * List of fields to remove from the events. */ fields: string[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorRenameFields { /** * List of fields to rename. */ fields: outputs.ObservabilityPipelineConfigProcessorGroupProcessorRenameFieldsField[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorRenameFieldsField { /** * Destination field name. */ destination: string; /** * Whether to keep the original field. */ preserveSource: boolean; /** * Source field to rename. */ source: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSample { /** * Optional list of fields to group events by. Each group is sampled independently. */ groupBies?: string[]; /** * The percentage of logs to sample. */ percentage: number; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScanner { /** * A list of rules for identifying and acting on sensitive data patterns. */ rules?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRule[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRule { /** * Keyword-based proximity matching for sensitive data. */ keywordOptions?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleKeywordOptions; /** * A name identifying the rule. */ name: string; /** * The action to take when a sensitive value is found. */ onMatch?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatch; /** * Pattern detection configuration for identifying sensitive data using either a custom regex or a library reference. */ pattern?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRulePattern; /** * Field-level targeting options that determine where the scanner should operate. */ scope?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleScope; /** * Tags assigned to this rule for filtering and classification. */ tags: string[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleKeywordOptions { /** * A list of keywords to match near the sensitive pattern. */ keywords?: string[]; /** * Maximum number of tokens between a keyword and a sensitive value match. */ proximity?: number; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatch { /** * Hashes the matched value. */ hash?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatchHash; /** * Redacts part of the matched value (e.g., keep last 4 characters). */ partialRedact?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatchPartialRedact; /** * Redacts the matched value. */ redact?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatchRedact; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatchHash { } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatchPartialRedact { /** * Number of characters to keep. */ characters?: number; /** * Direction from which to keep characters: `first` or `last`. */ direction?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleOnMatchRedact { /** * Replacement string for redacted values (e.g., `***`). */ replace?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRulePattern { /** * Pattern detection using a custom regular expression. */ custom?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRulePatternCustom; /** * Pattern detection using a predefined pattern from the sensitive data scanner pattern library. */ library?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRulePatternLibrary; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRulePatternCustom { /** * Human-readable description providing context about a sensitive data scanner rule. */ description?: string; /** * A regular expression used to detect sensitive values. Must be a valid regex. */ rule?: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRulePatternLibrary { /** * Human-readable description providing context about a sensitive data scanner rule. */ description?: string; /** * Identifier for a predefined pattern from the sensitive data scanner pattern library. */ id?: string; /** * Whether to augment the pattern with recommended keywords (optional). */ useRecommendedKeywords?: boolean; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleScope { /** * Scan all fields. */ all?: boolean; /** * Explicitly exclude these fields from scanning. */ exclude?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleScopeExclude; /** * Explicitly include these fields for scanning. */ include?: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleScopeInclude; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleScopeExclude { /** * The fields to exclude from scanning. */ fields?: string[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSensitiveDataScannerRuleScopeInclude { /** * The fields to include in scanning. */ fields?: string[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSplitArray { /** * A list of array split configurations. */ arrays: outputs.ObservabilityPipelineConfigProcessorGroupProcessorSplitArrayArray[]; } export interface ObservabilityPipelineConfigProcessorGroupProcessorSplitArrayArray { /** * The path to the array field to split. */ field: string; /** * A Datadog search query used to determine which logs this array split operation targets. */ include: string; } export interface ObservabilityPipelineConfigProcessorGroupProcessorThrottle { /** * Optional list of fields used to group events before applying throttling. */ groupBies?: string[]; /** * The number of events to allow before throttling is applied. */ threshold: number; /** * The time window in seconds over which the threshold applies. */ window: number; } export interface ObservabilityPipelineConfigSource { /** * The `amazonDataFirehose` source ingests logs from AWS Data Firehose. */ amazonDataFirehoses?: outputs.ObservabilityPipelineConfigSourceAmazonDataFirehose[]; /** * The `amazonS3` source ingests logs from an Amazon S3 bucket. It supports AWS authentication and TLS encryption. */ amazonS3s?: outputs.ObservabilityPipelineConfigSourceAmazonS3[]; /** * The `datadogAgent` source collects logs from the Datadog Agent. */ datadogAgents?: outputs.ObservabilityPipelineConfigSourceDatadogAgent[]; /** * The `fluentBit` source ingests logs from Fluent Bit. */ fluentBits?: outputs.ObservabilityPipelineConfigSourceFluentBit[]; /** * The `fluentd` source ingests logs from a Fluentd-compatible service. */ fluentds?: outputs.ObservabilityPipelineConfigSourceFluentd[]; /** * The `googlePubsub` source ingests logs from a Google Cloud Pub/Sub subscription. */ googlePubsubs?: outputs.ObservabilityPipelineConfigSourceGooglePubsub[]; /** * The `httpClient` source scrapes logs from HTTP endpoints at regular intervals. */ httpClients?: outputs.ObservabilityPipelineConfigSourceHttpClient[]; /** * The `httpServer` source collects logs over HTTP POST from external services. */ httpServers?: outputs.ObservabilityPipelineConfigSourceHttpServer[]; /** * The unique identifier for this source. */ id: string; /** * The `kafka` source ingests data from Apache Kafka topics. */ kafkas?: outputs.ObservabilityPipelineConfigSourceKafka[]; /** * The `logstash` source ingests logs from a Logstash forwarder. */ logstashes?: outputs.ObservabilityPipelineConfigSourceLogstash[]; /** * The `opentelemetry` source receives telemetry data using the OpenTelemetry Protocol (OTLP) over gRPC and HTTP. */ opentelemetry?: outputs.ObservabilityPipelineConfigSourceOpentelemetry; /** * The `rsyslog` source listens for logs over TCP or UDP from an `rsyslog` server using the syslog protocol. */ rsyslogs?: outputs.ObservabilityPipelineConfigSourceRsyslog[]; /** * The `socket` source ingests logs over TCP or UDP. */ sockets?: outputs.ObservabilityPipelineConfigSourceSocket[]; /** * The `splunkHec` source implements the Splunk HTTP Event Collector (HEC) API. */ splunkHecs?: outputs.ObservabilityPipelineConfigSourceSplunkHec[]; /** * The `splunkTcp` source receives logs from a Splunk Universal Forwarder over TCP. TLS is supported for secure transmission. */ splunkTcps?: outputs.ObservabilityPipelineConfigSourceSplunkTcp[]; /** * The `sumoLogic` source receives logs from Sumo Logic collectors. */ sumoLogics?: outputs.ObservabilityPipelineConfigSourceSumoLogic[]; /** * The `syslogNg` source listens for logs over TCP or UDP from a `syslog-ng` server using the syslog protocol. */ syslogNgs?: outputs.ObservabilityPipelineConfigSourceSyslogNg[]; } export interface ObservabilityPipelineConfigSourceAmazonDataFirehose { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; /** * AWS authentication credentials used for accessing AWS services. If omitted, the system's default credentials are used (for example, the IAM role and environment variables). */ auth?: outputs.ObservabilityPipelineConfigSourceAmazonDataFirehoseAuth; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceAmazonDataFirehoseTls; } export interface ObservabilityPipelineConfigSourceAmazonDataFirehoseAuth { /** * The Amazon Resource Name (ARN) of the role to assume. */ assumeRole?: string; /** * A unique identifier for cross-account role assumption. */ externalId?: string; /** * A session identifier used for logging and tracing the assumed role session. */ sessionName?: string; } export interface ObservabilityPipelineConfigSourceAmazonDataFirehoseTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceAmazonS3 { /** * AWS authentication credentials used for accessing AWS services. If omitted, the system's default credentials are used (for example, the IAM role and environment variables). */ auth?: outputs.ObservabilityPipelineConfigSourceAmazonS3Auth; /** * AWS region where the S3 bucket resides. */ region: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceAmazonS3Tls; /** * Name of the environment variable or secret that holds the S3 bucket URL. */ urlKey?: string; } export interface ObservabilityPipelineConfigSourceAmazonS3Auth { /** * The Amazon Resource Name (ARN) of the role to assume. */ assumeRole?: string; /** * A unique identifier for cross-account role assumption. */ externalId?: string; /** * A session identifier used for logging and tracing the assumed role session. */ sessionName?: string; } export interface ObservabilityPipelineConfigSourceAmazonS3Tls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceDatadogAgent { /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceDatadogAgentTls; } export interface ObservabilityPipelineConfigSourceDatadogAgentTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceFluentBit { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceFluentBitTls; } export interface ObservabilityPipelineConfigSourceFluentBitTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceFluentd { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceFluentdTls; } export interface ObservabilityPipelineConfigSourceFluentdTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceGooglePubsub { /** * Google Cloud credentials used to authenticate with Google Cloud services. */ auth?: outputs.ObservabilityPipelineConfigSourceGooglePubsubAuth; /** * The decoding format used to interpret incoming logs. */ decoding: string; /** * The Google Cloud project ID that owns the Pub/Sub subscription. */ project: string; /** * The Pub/Sub subscription name from which messages are consumed. */ subscription: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceGooglePubsubTls; } export interface ObservabilityPipelineConfigSourceGooglePubsubAuth { /** * Path to the Google Cloud service account key file. */ credentialsFile: string; } export interface ObservabilityPipelineConfigSourceGooglePubsubTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceHttpClient { /** * Optional authentication strategy for HTTP requests. Valid values are `none`, `basic`, `bearer`, `custom`. */ authStrategy?: string; /** * Name of the environment variable or secret that holds a custom header value (used with custom auth strategies). */ customKey?: string; /** * The decoding format used to interpret incoming logs. */ decoding: string; /** * Name of the environment variable or secret that holds the HTTP endpoint URL. */ endpointUrlKey?: string; /** * Name of the environment variable or secret that holds the password. */ passwordKey?: string; /** * The interval (in seconds) between HTTP scrape requests. */ scrapeIntervalSecs?: number; /** * The timeout (in seconds) for each scrape request. */ scrapeTimeoutSecs?: number; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceHttpClientTls; /** * Name of the environment variable or secret that holds the authentication token. */ tokenKey?: string; /** * Name of the environment variable or secret that holds the username. */ usernameKey?: string; } export interface ObservabilityPipelineConfigSourceHttpClientTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceHttpServer { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; /** * HTTP authentication method. Valid values are `none`, `plain`. */ authStrategy: string; /** * The decoding format used to interpret incoming logs. Valid values are `json`, `gelf`, `syslog`, `bytes`. */ decoding: string; /** * Name of the environment variable or secret that holds the password. */ passwordKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceHttpServerTls; /** * Name of the environment variable or secret that holds the username. */ usernameKey?: string; } export interface ObservabilityPipelineConfigSourceHttpServerTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceKafka { /** * Name of the environment variable or secret that holds the Kafka bootstrap servers connection string. */ bootstrapServersKey?: string; /** * The Kafka consumer group ID. */ groupId: string; /** * Advanced librdkafka client configuration options. */ librdkafkaOptions?: outputs.ObservabilityPipelineConfigSourceKafkaLibrdkafkaOption[]; /** * SASL authentication settings. */ sasl?: outputs.ObservabilityPipelineConfigSourceKafkaSasl; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceKafkaTls; /** * A list of Kafka topic names to subscribe to. The source ingests messages from each topic specified. */ topics: string[]; } export interface ObservabilityPipelineConfigSourceKafkaLibrdkafkaOption { /** * The name of the librdkafka option. */ name: string; /** * The value of the librdkafka option. */ value: string; } export interface ObservabilityPipelineConfigSourceKafkaSasl { /** * SASL mechanism to use (e.g., PLAIN, SCRAM-SHA-256, SCRAM-SHA-512). Valid values are `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`. */ mechanism: string; /** * Name of the environment variable or secret that holds the SASL password. */ passwordKey?: string; /** * Name of the environment variable or secret that holds the SASL username. */ usernameKey?: string; } export interface ObservabilityPipelineConfigSourceKafkaTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceLogstash { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceLogstashTls; } export interface ObservabilityPipelineConfigSourceLogstashTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceOpentelemetry { /** * Environment variable name containing the gRPC server address for receiving OTLP data. */ grpcAddressKey?: string; /** * Environment variable name containing the HTTP server address for receiving OTLP data. */ httpAddressKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceOpentelemetryTls; } export interface ObservabilityPipelineConfigSourceOpentelemetryTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceRsyslog { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; /** * Protocol used by the syslog source to receive messages. */ mode?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceRsyslogTls; } export interface ObservabilityPipelineConfigSourceRsyslogTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceSocket { /** * Name of the environment variable or secret that holds the listen address for the socket. */ addressKey?: string; /** * Defines the framing method for incoming messages. */ framing: outputs.ObservabilityPipelineConfigSourceSocketFraming; /** * The protocol used to receive logs. Valid values are `tcp`, `udp`. */ mode: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceSocketTls; } export interface ObservabilityPipelineConfigSourceSocketFraming { /** * Used when `method` is `characterDelimited`. Specifies the delimiter character. */ characterDelimited?: outputs.ObservabilityPipelineConfigSourceSocketFramingCharacterDelimited; /** * The framing method. Valid values are `newlineDelimited`, `bytes`, `characterDelimited`, `octetCounting`, `chunkedGelf`. */ method: string; } export interface ObservabilityPipelineConfigSourceSocketFramingCharacterDelimited { /** * A single ASCII character used as a delimiter. */ delimiter: string; } export interface ObservabilityPipelineConfigSourceSocketTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceSplunkHec { /** * Name of the environment variable or secret that holds the listen address for the HEC API. */ addressKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceSplunkHecTls; } export interface ObservabilityPipelineConfigSourceSplunkHecTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceSplunkTcp { /** * Name of the environment variable or secret that holds the listen address for the Splunk TCP receiver. */ addressKey?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceSplunkTcpTls; } export interface ObservabilityPipelineConfigSourceSplunkTcpTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface ObservabilityPipelineConfigSourceSumoLogic { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; } export interface ObservabilityPipelineConfigSourceSyslogNg { /** * Name of the environment variable or secret that holds the listen address. */ addressKey?: string; /** * Protocol used by the syslog source to receive messages. */ mode?: string; /** * Configuration for enabling TLS encryption between the pipeline component and external services. */ tls?: outputs.ObservabilityPipelineConfigSourceSyslogNgTls; } export interface ObservabilityPipelineConfigSourceSyslogNgTls { /** * Path to the Certificate Authority (CA) file used to validate the server's TLS certificate. */ caFile?: string; /** * Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. */ crtFile: string; /** * Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. */ keyFile?: string; /** * Name of the environment variable or secret that holds the passphrase for the private key file. */ keyPassKey?: string; } export interface OnCallEscalationPolicyStep { /** * Specifies how this escalation step will assign targets. Can be `default` (page all targets at once) or `round-robin`. Valid values are `default`, `round-robin`. Defaults to `"default"`. */ assignment: string; /** * Defines how many seconds to wait before escalating to the next step. Value must be between 60 and 36000. */ escalateAfterSeconds: number; /** * The ID of this step. */ id: string; /** * List of targets for the step. */ targets: outputs.OnCallEscalationPolicyStepTarget[]; } export interface OnCallEscalationPolicyStepTarget { /** * For schedule targets, specifies which on-call user to page. Valid values: `current` (default), `previous`, `next`. Valid values are `current`, `previous`, `next`. */ position?: string; /** * Targeted schedule ID. */ schedule?: string; /** * Targeted team ID. */ team?: string; /** * Targeted user ID. */ user?: string; } export interface OnCallScheduleLayer { /** * The date/time when this layer should become active (in ISO 8601). */ effectiveDate: string; /** * The date/time after which this layer no longer applies (in ISO 8601). */ endDate?: string; /** * The ID of this layer. */ id: string; /** * Rotation interval for this layer. */ interval?: outputs.OnCallScheduleLayerInterval; /** * The name of this layer. Should be unique within the schedule. */ name: string; /** * List of restrictions for the layer. */ restrictions?: outputs.OnCallScheduleLayerRestriction[]; /** * The date/time when the rotation for this layer starts (in ISO 8601). */ rotationStart: string; /** * The time zone for this layer. If not specified, the layer inherits the schedule's time zone. */ timeZone?: string; /** * List of user IDs for the layer. Can either be a valid user id or `null` to represent No-one. */ users: string[]; } export interface OnCallScheduleLayerInterval { /** * The number of full days in each rotation period. */ days: number; /** * For intervals that are not expressible in whole days, this will be added to `days`. Defaults to `0`. */ seconds: number; } export interface OnCallScheduleLayerRestriction { /** * The weekday when the restriction period ends. Valid values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. */ endDay: string; /** * The time of day when the restriction ends (hh:mm:ss). */ endTime: string; /** * The weekday when the restriction period starts. Valid values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. */ startDay: string; /** * The time of day when the restriction begins (hh:mm:ss). */ startTime: string; } export interface OnCallTeamRoutingRulesRule { /** * Specifies the list of actions to perform when the routing rule is matched. */ actions?: outputs.OnCallTeamRoutingRulesRuleAction[]; /** * ID of the policy to be applied when this routing rule matches. */ escalationPolicy?: string; /** * The ID of this rule. */ id: string; /** * Defines the query or condition that triggers this routing rule. Defaults to `""`. */ query: string; /** * Holds time zone information and a list of time restrictions for a routing rule. */ timeRestrictions?: outputs.OnCallTeamRoutingRulesRuleTimeRestrictions; /** * Defines the urgency for pages created via this rule. Only valid if `escalationPolicy` is set. Valid values are `high`, `low`, `dynamic`. */ urgency?: string; } export interface OnCallTeamRoutingRulesRuleAction { sendSlackMessage?: outputs.OnCallTeamRoutingRulesRuleActionSendSlackMessage; sendTeamsMessage?: outputs.OnCallTeamRoutingRulesRuleActionSendTeamsMessage; } export interface OnCallTeamRoutingRulesRuleActionSendSlackMessage { /** * Slack channel ID. */ channel?: string; /** * Slack workspace ID. */ workspace?: string; } export interface OnCallTeamRoutingRulesRuleActionSendTeamsMessage { /** * Teams channel ID. */ channel?: string; /** * Teams team ID. */ team?: string; /** * Teams tenant ID. */ tenant?: string; } export interface OnCallTeamRoutingRulesRuleTimeRestrictions { /** * List of restrictions for the rule. */ restrictions?: outputs.OnCallTeamRoutingRulesRuleTimeRestrictionsRestriction[]; /** * Specifies the time zone applicable to the restrictions, e.g. `America/New_York`. */ timeZone?: string; } export interface OnCallTeamRoutingRulesRuleTimeRestrictionsRestriction { /** * The weekday when the restriction period ends. Valid values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. */ endDay?: string; /** * The time of day when the restriction ends (hh:mm:ss). */ endTime?: string; /** * The weekday when the restriction period starts. Valid values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. */ startDay?: string; /** * The time of day when the restriction begins (hh:mm:ss). */ startTime?: string; } export interface OnCallUserNotificationChannelEmail { /** * The e-mail address to be notified */ address?: string; /** * Preferred content formats for notifications */ formats?: string[]; } export interface OnCallUserNotificationChannelPhone { /** * The E-164 formatted phone number (e.g. +3371234567) */ number?: string; } export interface OnCallUserNotificationRulePhone { /** * Specifies the method in which a phone is used in a notification rule. Valid values are `sms`, `voice`. */ method?: string; } export interface OrganizationSettingsSettings { /** * Whether or not the organization users can share widgets outside of Datadog. Defaults to `false`. */ privateWidgetShare?: boolean; /** * SAML properties */ saml: outputs.OrganizationSettingsSettingsSaml; /** * The access role of the user. Options are `st` (standard user), `adm` (admin user), or `ro` (read-only user). Allowed enum values: `st`, `adm` , `ro`, `ERROR` Defaults to `"st"`. */ samlAutocreateAccessRole?: string; /** * List of domains where the SAML automated user creation is enabled. */ samlAutocreateUsersDomains: outputs.OrganizationSettingsSettingsSamlAutocreateUsersDomains; /** * Whether or not SAML can be enabled for this organization. */ samlCanBeEnabled: boolean; /** * Identity provider endpoint for SAML authentication. */ samlIdpEndpoint: string; /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ samlIdpInitiatedLogin: outputs.OrganizationSettingsSettingsSamlIdpInitiatedLogin; /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. */ samlIdpMetadataUploaded: boolean; /** * URL for SAML logging. */ samlLoginUrl: string; /** * Whether or not the SAML strict mode is enabled. If true, all users must log in with SAML. */ samlStrictMode: outputs.OrganizationSettingsSettingsSamlStrictMode; } export interface OrganizationSettingsSettingsSaml { /** * Whether or not SAML is enabled for this organization. Defaults to `false`. */ enabled?: boolean; } export interface OrganizationSettingsSettingsSamlAutocreateUsersDomains { /** * List of domains where the SAML automated user creation is enabled. */ domains?: string[]; /** * Whether or not the automated user creation based on SAML domain is enabled. Defaults to `false`. */ enabled?: boolean; } export interface OrganizationSettingsSettingsSamlIdpInitiatedLogin { /** * Whether or not a SAML identity provider metadata file was provided to the Datadog organization. Defaults to `false`. */ enabled?: boolean; } export interface OrganizationSettingsSettingsSamlStrictMode { /** * Whether or not the SAML strict mode is enabled. If true, all users must log in with SAML. Defaults to `false`. */ enabled?: boolean; } export interface PowerpackLayout { /** * The height of the widget. */ height: number; /** * The width of the widget. */ width: number; /** * The position of the widget on the x (horizontal) axis. Should be greater than or equal to 0. */ x: number; /** * The position of the widget on the y (vertical) axis. Should be greater than or equal to 0. */ y: number; } export interface PowerpackTemplateVariable { /** * One or many default values for powerpack template variables on load. If more than one default is specified, they will be unioned together with `OR`. */ defaults?: string[]; /** * The name of the powerpack template variable. */ name: string; } export interface PowerpackWidget { /** * The definition for a Alert Graph widget. */ alertGraphDefinition?: outputs.PowerpackWidgetAlertGraphDefinition; /** * The definition for a Alert Value widget. */ alertValueDefinition?: outputs.PowerpackWidgetAlertValueDefinition; /** * The definition for a Change widget. */ changeDefinition?: outputs.PowerpackWidgetChangeDefinition; /** * The definition for a Check Status widget. */ checkStatusDefinition?: outputs.PowerpackWidgetCheckStatusDefinition; /** * The definition for a Distribution widget. */ distributionDefinition?: outputs.PowerpackWidgetDistributionDefinition; /** * The definition for a Event Stream widget. */ eventStreamDefinition?: outputs.PowerpackWidgetEventStreamDefinition; /** * The definition for a Event Timeline widget. */ eventTimelineDefinition?: outputs.PowerpackWidgetEventTimelineDefinition; /** * The definition for a Free Text widget. */ freeTextDefinition?: outputs.PowerpackWidgetFreeTextDefinition; /** * The definition for a Geomap widget. */ geomapDefinition?: outputs.PowerpackWidgetGeomapDefinition; /** * The definition for a Heatmap widget. */ heatmapDefinition?: outputs.PowerpackWidgetHeatmapDefinition; /** * The definition for a Hostmap widget. */ hostmapDefinition?: outputs.PowerpackWidgetHostmapDefinition; /** * The ID of the widget. */ id: number; /** * The definition for an Iframe widget. */ iframeDefinition?: outputs.PowerpackWidgetIframeDefinition; /** * The definition for an Image widget */ imageDefinition?: outputs.PowerpackWidgetImageDefinition; /** * The definition for a List Stream widget. */ listStreamDefinition?: outputs.PowerpackWidgetListStreamDefinition; /** * The definition for an Log Stream widget. */ logStreamDefinition?: outputs.PowerpackWidgetLogStreamDefinition; /** * The definition for an Manage Status widget. */ manageStatusDefinition?: outputs.PowerpackWidgetManageStatusDefinition; /** * The definition for a Note widget. */ noteDefinition?: outputs.PowerpackWidgetNoteDefinition; /** * The definition for a Query Table widget. */ queryTableDefinition?: outputs.PowerpackWidgetQueryTableDefinition; /** * The definition for a Query Value widget. */ queryValueDefinition?: outputs.PowerpackWidgetQueryValueDefinition; /** * The definition for a Run Workflow widget. */ runWorkflowDefinition?: outputs.PowerpackWidgetRunWorkflowDefinition; /** * The definition for a Scatterplot widget. */ scatterplotDefinition?: outputs.PowerpackWidgetScatterplotDefinition; /** * The definition for a Service Level Objective widget. */ serviceLevelObjectiveDefinition?: outputs.PowerpackWidgetServiceLevelObjectiveDefinition; /** * The definition for a Service Map widget. */ servicemapDefinition?: outputs.PowerpackWidgetServicemapDefinition; /** * The definition for an SLO (Service Level Objective) List widget. */ sloListDefinition?: outputs.PowerpackWidgetSloListDefinition; /** * The definition for a Sunburst widget. */ sunburstDefinition?: outputs.PowerpackWidgetSunburstDefinition; /** * The definition for a Timeseries widget. */ timeseriesDefinition?: outputs.PowerpackWidgetTimeseriesDefinition; /** * The definition for a Toplist widget. */ toplistDefinition?: outputs.PowerpackWidgetToplistDefinition; /** * The definition for a Topology Map widget. */ topologyMapDefinition?: outputs.PowerpackWidgetTopologyMapDefinition; /** * The definition for a Trace Service widget. */ traceServiceDefinition?: outputs.PowerpackWidgetTraceServiceDefinition; /** * The definition for a Treemap widget. */ treemapDefinition?: outputs.PowerpackWidgetTreemapDefinition; /** * The layout of the widget on a 'free' dashboard. */ widgetLayout?: outputs.PowerpackWidgetWidgetLayout; } export interface PowerpackWidgetAlertGraphDefinition { /** * The ID of the monitor used by the widget. */ alertId: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * Type of visualization to use when displaying the widget. Valid values are `timeseries`, `toplist`. */ vizType: string; } export interface PowerpackWidgetAlertValueDefinition { /** * The ID of the monitor used by the widget. */ alertId: string; /** * The precision to use when displaying the value. Use `*` for maximum precision. */ precision?: number; /** * The alignment of the text in the widget. Valid values are `center`, `left`, `right`. */ textAlign?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * The unit for the value displayed in the widget. */ unit?: string; } export interface PowerpackWidgetChangeDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetChangeDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple request blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ requests?: outputs.PowerpackWidgetChangeDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetChangeDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetChangeDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetChangeDefinitionRequestApmQuery; /** * Whether to show absolute or relative change. Valid values are `absolute`, `relative`. */ changeType?: string; /** * Choose from when to compare current data to. Valid values are `hourBefore`, `dayBefore`, `weekBefore`, `monthBefore`. */ compareTo?: string; formulas?: outputs.PowerpackWidgetChangeDefinitionRequestFormula[]; /** * A Boolean indicating whether an increase in the value is good (displayed in green) or not (displayed in red). */ increaseGood?: boolean; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetChangeDefinitionRequestLogQuery; /** * What to order by. Valid values are `change`, `name`, `present`, `past`. */ orderBy?: string; /** * Widget sorting method. Valid values are `asc`, `desc`. */ orderDir?: string; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetChangeDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetChangeDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetChangeDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetChangeDefinitionRequestSecurityQuery; /** * If set to `true`, displays the current value. */ showPresent?: boolean; } export interface PowerpackWidgetChangeDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetChangeDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetChangeDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetChangeDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetChangeDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetChangeDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetChangeDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetChangeDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetChangeDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetChangeDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetChangeDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetChangeDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetChangeDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetChangeDefinitionRequestFormulaStyle; } export interface PowerpackWidgetChangeDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetChangeDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetChangeDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetChangeDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetChangeDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetChangeDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetChangeDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetChangeDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetChangeDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetChangeDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetChangeDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetChangeDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetChangeDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetChangeDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetChangeDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetChangeDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetChangeDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetChangeDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetChangeDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetChangeDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetChangeDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetChangeDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetChangeDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetChangeDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetChangeDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetChangeDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetChangeDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetChangeDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetChangeDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetChangeDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetChangeDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetChangeDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetChangeDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetChangeDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetChangeDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetChangeDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetChangeDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetChangeDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetChangeDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetChangeDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetChangeDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetChangeDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetChangeDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetChangeDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetChangeDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetCheckStatusDefinition { /** * The check to use in the widget. */ check: string; /** * The check group to use in the widget. */ group?: string; /** * When `grouping = "cluster"`, indicates a list of tags to use for grouping. */ groupBies?: string[]; /** * The kind of grouping to use. Valid values are `check`, `cluster`. */ grouping: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A list of tags to use in the widget. */ tags?: string[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetDistributionDefinition { /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The size of the legend displayed in the widget. */ legendSize?: string; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple request blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ requests?: outputs.PowerpackWidgetDistributionDefinitionRequest[]; /** * Whether or not to show the legend on this widget. */ showLegend?: boolean; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the X-Axis Controls. Exactly one nested block is allowed using the structure below. */ xaxis?: outputs.PowerpackWidgetDistributionDefinitionXaxis; /** * A nested block describing the Y-Axis Controls. Exactly one nested block is allowed using the structure below. */ yaxis?: outputs.PowerpackWidgetDistributionDefinitionYaxis; } export interface PowerpackWidgetDistributionDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestApmQuery; apmStatsQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestApmStatsQuery; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestSecurityQuery; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.PowerpackWidgetDistributionDefinitionRequestStyle; } export interface PowerpackWidgetDistributionDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetDistributionDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetDistributionDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetDistributionDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetDistributionDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetDistributionDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestApmStatsQuery { /** * Column properties used by the front end for display. */ columns?: outputs.PowerpackWidgetDistributionDefinitionRequestApmStatsQueryColumn[]; /** * The environment name. */ env: string; /** * The operation name associated with the service. */ name: string; /** * The organization's host group name and value. */ primaryTag: string; /** * The resource name. */ resource?: string; /** * The level of detail for the request. Valid values are `service`, `resource`, `span`. */ rowType: string; /** * The service name. */ service: string; } export interface PowerpackWidgetDistributionDefinitionRequestApmStatsQueryColumn { /** * A user-assigned alias for the column. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * The column name. */ name: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetDistributionDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetDistributionDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetDistributionDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetDistributionDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetDistributionDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetDistributionDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetDistributionDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetDistributionDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetDistributionDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetDistributionDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetDistributionDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetDistributionDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetDistributionDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetDistributionDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetDistributionDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetDistributionDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetDistributionDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetDistributionDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface PowerpackWidgetDistributionDefinitionXaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetDistributionDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetEventStreamDefinition { /** * The size to use to display an event. Valid values are `s`, `l`. */ eventSize?: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The query to use in the widget. */ query: string; /** * The execution method for multi-value filters, options: `and` or `or`. */ tagsExecution?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetEventTimelineDefinition { /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The query to use in the widget. */ query: string; /** * The execution method for multi-value filters, options: `and` or `or`. */ tagsExecution?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetFreeTextDefinition { /** * The color of the text in the widget. */ color?: string; /** * The size of the text in the widget. */ fontSize?: string; /** * The text to display in the widget. */ text: string; /** * The alignment of the text in the widget. Valid values are `center`, `left`, `right`. */ textAlign?: string; } export interface PowerpackWidgetGeomapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetGeomapDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `logQuery` or `rumQuery` is required within the `request` block). */ requests?: outputs.PowerpackWidgetGeomapDefinitionRequest[]; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.PowerpackWidgetGeomapDefinitionStyle; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * The view of the world that the map should render. */ view: outputs.PowerpackWidgetGeomapDefinitionView; } export interface PowerpackWidgetGeomapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetGeomapDefinitionRequest { formulas?: outputs.PowerpackWidgetGeomapDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestLogQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetGeomapDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestRumQuery; } export interface PowerpackWidgetGeomapDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaStyle; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetGeomapDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetGeomapDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetGeomapDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetGeomapDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetGeomapDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetGeomapDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetGeomapDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetGeomapDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetGeomapDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetGeomapDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetGeomapDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetGeomapDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetGeomapDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetGeomapDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetGeomapDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetGeomapDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetGeomapDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetGeomapDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetGeomapDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetGeomapDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetGeomapDefinitionStyle { /** * The color palette to apply to the widget. */ palette: string; /** * A Boolean indicating whether to flip the palette tones. */ paletteFlip: boolean; } export interface PowerpackWidgetGeomapDefinitionView { /** * The two-letter ISO code of a country to focus the map on (or `WORLD`). */ focus: string; } export interface PowerpackWidgetHeatmapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetHeatmapDefinitionCustomLink[]; /** * The definition of the event to overlay on the graph. Multiple `event` blocks are allowed using the structure below. */ events?: outputs.PowerpackWidgetHeatmapDefinitionEvent[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The size of the legend displayed in the widget. */ legendSize?: string; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ requests?: outputs.PowerpackWidgetHeatmapDefinitionRequest[]; /** * Whether or not to show the legend on this widget. */ showLegend?: boolean; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the Y-Axis Controls. The structure of this block is described below. */ yaxis?: outputs.PowerpackWidgetHeatmapDefinitionYaxis; } export interface PowerpackWidgetHeatmapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetHeatmapDefinitionEvent { /** * The event query to use in the widget. */ q: string; /** * The execution method for multi-value filters. */ tagsExecution?: string; } export interface PowerpackWidgetHeatmapDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestApmQuery; formulas?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetHeatmapDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestSecurityQuery; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.PowerpackWidgetHeatmapDefinitionRequestStyle; } export interface PowerpackWidgetHeatmapDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHeatmapDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHeatmapDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetHeatmapDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHeatmapDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaStyle; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetHeatmapDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHeatmapDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHeatmapDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetHeatmapDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHeatmapDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHeatmapDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHeatmapDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetHeatmapDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHeatmapDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHeatmapDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHeatmapDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetHeatmapDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHeatmapDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHeatmapDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface PowerpackWidgetHeatmapDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetHostmapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetHostmapDefinitionCustomLink[]; /** * The list of tags to group nodes by. */ groups?: string[]; /** * A Boolean indicating whether to show ungrouped nodes. */ noGroupHosts?: boolean; /** * A Boolean indicating whether to show nodes with no metrics. */ noMetricHosts?: boolean; /** * The type of node used. Valid values are `host`, `container`. */ nodeType?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below. */ request?: outputs.PowerpackWidgetHostmapDefinitionRequest; /** * The list of tags to filter nodes by. */ scopes?: string[]; /** * The style of the widget graph. One nested block is allowed using the structure below. */ style?: outputs.PowerpackWidgetHostmapDefinitionStyle; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetHostmapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetHostmapDefinitionRequest { /** * The query used to fill the map. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ fills?: outputs.PowerpackWidgetHostmapDefinitionRequestFill[]; /** * The query used to size the map. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the request block). */ sizes?: outputs.PowerpackWidgetHostmapDefinitionRequestSize[]; } export interface PowerpackWidgetHostmapDefinitionRequestFill { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillSecurityQuery; } export interface PowerpackWidgetHostmapDefinitionRequestFillApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestFillApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestFillApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestFillApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestFillApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestFillLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestFillLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestFillLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestFillLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestFillLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestFillProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestFillRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestFillRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestFillRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestFillRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestFillSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestFillSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSize { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeSecurityQuery; } export interface PowerpackWidgetHostmapDefinitionRequestSizeApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSizeApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestSizeApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSizeLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSizeLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestSizeLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSizeProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSizeRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestSizeRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSizeSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetHostmapDefinitionRequestSizeSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetHostmapDefinitionStyle { /** * The max value to use to color the map. */ fillMax?: string; /** * The min value to use to color the map. */ fillMin?: string; /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; /** * A Boolean indicating whether to flip the palette tones. */ paletteFlip?: boolean; } export interface PowerpackWidgetIframeDefinition { /** * The URL to use as a data source for the widget. */ url: string; } export interface PowerpackWidgetImageDefinition { /** * Whether to display a background or not. Defaults to `true`. */ hasBackground?: boolean; /** * Whether to display a border or not. Defaults to `true`. */ hasBorder?: boolean; /** * The horizontal alignment for the widget. Valid values are `center`, `left`, `right`. */ horizontalAlign?: string; /** * The margins to use around the image. Note: `small` and `large` values are deprecated. Valid values are `sm`, `md`, `lg`, `small`, `large`. */ margin?: string; /** * The preferred method to adapt the dimensions of the image. The values are based on the image `object-fit` CSS properties. Note: `zoom`, `fit` and `center` values are deprecated. Valid values are `fill`, `contain`, `cover`, `none`, `scale-down`, `zoom`, `fit`, `center`. */ sizing?: string; /** * The URL to use as a data source for the widget. */ url: string; /** * The URL in dark mode to use as a data source for the widget. */ urlDarkTheme?: string; /** * The vertical alignment for the widget. Valid values are `center`, `top`, `bottom`. */ verticalAlign?: string; } export interface PowerpackWidgetListStreamDefinition { /** * Nested block describing the requests to use when displaying the widget. Multiple `request` blocks are allowed with the structure below. */ requests: outputs.PowerpackWidgetListStreamDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title. Default is 16. */ titleSize?: string; } export interface PowerpackWidgetListStreamDefinitionRequest { /** * Widget columns. */ columns: outputs.PowerpackWidgetListStreamDefinitionRequestColumn[]; /** * Updated list stream widget. */ query: outputs.PowerpackWidgetListStreamDefinitionRequestQuery; /** * Widget response format. Valid values are `eventList`. */ responseFormat: string; } export interface PowerpackWidgetListStreamDefinitionRequestColumn { /** * Widget column field. */ field?: string; /** * Widget column width. Valid values are `auto`, `compact`, `full`. */ width?: string; } export interface PowerpackWidgetListStreamDefinitionRequestQuery { /** * Specifies the field for logs pattern clustering. Can only be used with `logsPatternStream`. */ clusteringPatternFieldPath?: string; /** * Source from which to query items to display in the stream. Valid values are `logsStream`, `auditStream`, `ciPipelineStream`, `ciTestStream`, `rumIssueStream`, `apmIssueStream`, `traceStream`, `logsIssueStream`, `logsPatternStream`, `logsTransactionStream`, `eventStream`, `rumStream`, `llmObservabilityStream`. */ dataSource: string; /** * Size of events displayed in widget. Required if `dataSource` is `eventStream`. Valid values are `s`, `l`. */ eventSize?: string; /** * Group by configuration for the List Stream widget. Group by can only be used with `logsPatternStream` (up to 4 items) or `logsTransactionStream` (one group by item is required) list stream source. */ groupBies?: outputs.PowerpackWidgetListStreamDefinitionRequestQueryGroupBy[]; /** * List of indexes. */ indexes?: string[]; /** * Widget query. */ queryString?: string; /** * The facet and order to sort the data, for example: `{"column": "time", "order": "desc"}`. */ sort?: outputs.PowerpackWidgetListStreamDefinitionRequestQuerySort; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetListStreamDefinitionRequestQueryGroupBy { /** * Facet name */ facet: string; } export interface PowerpackWidgetListStreamDefinitionRequestQuerySort { /** * The facet path for the column. */ column: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetLogStreamDefinition { /** * Stringified list of columns to use, for example: `["column1","column2","column3"]`. */ columns?: string[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The number of log lines to display. Valid values are `inline`, `expanded-md`, `expanded-lg`. */ messageDisplay?: string; /** * The query to use in the widget. */ query?: string; /** * If the date column should be displayed. */ showDateColumn?: boolean; /** * If the message column should be displayed. */ showMessageColumn?: boolean; /** * The facet and order to sort the data, for example: `{"column": "time", "order": "desc"}`. */ sort?: outputs.PowerpackWidgetLogStreamDefinitionSort; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetLogStreamDefinitionSort { /** * The facet path for the column. */ column: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetManageStatusDefinition { /** * Whether to colorize text or background. Valid values are `background`, `text`. */ colorPreference?: string; /** * The display setting to use. Valid values are `counts`, `countsAndList`, `list`. */ displayFormat?: string; /** * A Boolean indicating whether to hide empty categories. */ hideZeroCounts?: boolean; /** * The query to use in the widget. */ query: string; /** * A Boolean indicating whether to show when monitors/groups last triggered. */ showLastTriggered?: boolean; /** * Whether to show the priorities column. */ showPriority?: boolean; /** * The method to sort the monitors. Valid values are `name`, `group`, `status`, `tags`, `triggered`, `group,asc`, `group,desc`, `name,asc`, `name,desc`, `status,asc`, `status,desc`, `tags,asc`, `tags,desc`, `triggered,asc`, `triggered,desc`, `priority,asc`, `priority,desc`. */ sort?: string; /** * The summary type to use. Valid values are `monitors`, `groups`, `combined`. */ summaryType?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetNoteDefinition { /** * The background color of the note. */ backgroundColor?: string; /** * The content of the note. */ content: string; /** * The size of the text. */ fontSize?: string; /** * Whether to add padding or not. Defaults to `true`. */ hasPadding?: boolean; /** * Whether to show a tick or not. */ showTick?: boolean; /** * The alignment of the widget's text. Valid values are `center`, `left`, `right`. */ textAlign?: string; /** * When `tick = true`, a string indicating on which side of the widget the tick should be displayed. Valid values are `bottom`, `left`, `right`, `top`. */ tickEdge?: string; /** * When `tick = true`, a string with a percent sign indicating the position of the tick, for example: `tickPos = "50%"` is centered alignment. */ tickPos?: string; /** * The vertical alignment for the widget. Valid values are `center`, `top`, `bottom`. */ verticalAlign?: string; } export interface PowerpackWidgetQueryTableDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetQueryTableDefinitionCustomLink[]; /** * Controls the display of the search bar. Valid values are `always`, `never`, `auto`. */ hasSearchBar?: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery`, `apmStatsQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.PowerpackWidgetQueryTableDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetQueryTableDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetQueryTableDefinitionRequest { /** * The aggregator to use for time aggregation. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The alias for the column name (defaults to metric name). */ alias?: string; /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestApmQuery; apmStatsQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestApmStatsQuery; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayModes?: string[]; /** * Conditional formats allow you to set the color of your widget content or background, depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetQueryTableDefinitionRequestConditionalFormat[]; formulas?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormula[]; /** * The number of lines to show in the table. */ limit?: number; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestLogQuery; /** * The sort order for the rows. Valid values are `asc`, `desc`. */ order?: string; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetQueryTableDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestSecurityQuery; /** * Text formats define how to format text in table widget content. Multiple `textFormats` blocks are allowed using the structure below. This resource is in beta and is subject to change. */ textFormats?: outputs.PowerpackWidgetQueryTableDefinitionRequestTextFormat[]; } export interface PowerpackWidgetQueryTableDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryTableDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryTableDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetQueryTableDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryTableDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestApmStatsQuery { /** * Column properties used by the front end for display. */ columns?: outputs.PowerpackWidgetQueryTableDefinitionRequestApmStatsQueryColumn[]; /** * The environment name. */ env: string; /** * The operation name associated with the service. */ name: string; /** * The organization's host group name and value. */ primaryTag: string; /** * The resource name. */ resource?: string; /** * The level of detail for the request. Valid values are `service`, `resource`, `span`. */ rowType: string; /** * The service name. */ service: string; } export interface PowerpackWidgetQueryTableDefinitionRequestApmStatsQueryColumn { /** * A user-assigned alias for the column. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * The column name. */ name: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetQueryTableDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * A list of display modes for each table cell. */ cellDisplayModeOptions?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaCellDisplayModeOptions; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaStyle; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaCellDisplayModeOptions { /** * The type of trend line to display. Valid values are `area`, `line`, `bars`. */ trendType?: string; /** * The scale of the y-axis. Valid values are `shared`, `independent`. */ yScale?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetQueryTableDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryTableDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryTableDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetQueryTableDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryTableDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryTableDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryTableDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetQueryTableDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryTableDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryTableDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryTableDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryTableDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryTableDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetQueryTableDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryTableDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryTableDefinitionRequestTextFormat { /** * The text format to apply to the items in a table widget column. */ textFormats?: outputs.PowerpackWidgetQueryTableDefinitionRequestTextFormatTextFormat[]; } export interface PowerpackWidgetQueryTableDefinitionRequestTextFormatTextFormat { /** * The custom color palette to apply to the background. */ customBgColor?: string; /** * The custom color palette to apply to the foreground text. */ customFgColor?: string; /** * Match rule for the table widget text format. */ match: outputs.PowerpackWidgetQueryTableDefinitionRequestTextFormatTextFormatMatch; /** * The color palette to apply. Valid values are `whiteOnRed`, `whiteOnYellow`, `whiteOnGreen`, `blackOnLightRed`, `blackOnLightYellow`, `blackOnLightGreen`, `redOnWhite`, `yellowOnWhite`, `greenOnWhite`, `customBg`, `customText`. */ palette?: string; /** * Match rule for the table widget text format. */ replace?: outputs.PowerpackWidgetQueryTableDefinitionRequestTextFormatTextFormatReplace; } export interface PowerpackWidgetQueryTableDefinitionRequestTextFormatTextFormatMatch { /** * Match or compare option. Valid values are `is`, `isNot`, `contains`, `doesNotContain`, `startsWith`, `endsWith`. */ type: string; /** * Table Widget Match String. */ value: string; } export interface PowerpackWidgetQueryTableDefinitionRequestTextFormatTextFormatReplace { /** * Text that will be replaced. Must be used with type `substring`. */ substring?: string; /** * Table widget text format replace all type. */ type: string; /** * Table Widget Match String. */ with: string; } export interface PowerpackWidgetQueryValueDefinition { /** * A Boolean indicating whether to automatically scale the tile. */ autoscale?: boolean; /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetQueryValueDefinitionCustomLink[]; /** * The unit for the value displayed in the widget. */ customUnit?: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The precision to use when displaying the tile. */ precision?: number; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.PowerpackWidgetQueryValueDefinitionRequest[]; /** * The alignment of the widget's text. Valid values are `center`, `left`, `right`. */ textAlign?: string; /** * Set a timeseries on the widget background. */ timeseriesBackground?: outputs.PowerpackWidgetQueryValueDefinitionTimeseriesBackground; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetQueryValueDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetQueryValueDefinitionRequest { /** * The aggregator to use for time aggregation. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestAuditQuery; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetQueryValueDefinitionRequestConditionalFormat[]; formulas?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetQueryValueDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestSecurityQuery; } export interface PowerpackWidgetQueryValueDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryValueDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryValueDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetQueryValueDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryValueDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryValueDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryValueDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestAuditQueryGroupBySortQuery; } export interface PowerpackWidgetQueryValueDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryValueDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetQueryValueDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaStyle; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetQueryValueDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryValueDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryValueDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetQueryValueDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryValueDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryValueDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryValueDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetQueryValueDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryValueDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetQueryValueDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetQueryValueDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetQueryValueDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetQueryValueDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetQueryValueDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetQueryValueDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetQueryValueDefinitionTimeseriesBackground { /** * Whether the Timeseries is made using an area or bars. Valid values are `bars`, `area`. */ type: string; /** * A nested block describing the Y-Axis Controls. Exactly one nested block is allowed using the structure below. */ yaxis?: outputs.PowerpackWidgetQueryValueDefinitionTimeseriesBackgroundYaxis; } export interface PowerpackWidgetQueryValueDefinitionTimeseriesBackgroundYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetRunWorkflowDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetRunWorkflowDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * Array of workflow inputs to map to dashboard template variables. */ inputs?: outputs.PowerpackWidgetRunWorkflowDefinitionInput[]; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * Workflow ID */ workflowId: string; } export interface PowerpackWidgetRunWorkflowDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetRunWorkflowDefinitionInput { /** * Name of the workflow input. */ name: string; /** * Dashboard template variable. Can be suffixed with `.value` or `.key`. */ value: string; } export interface PowerpackWidgetScatterplotDefinition { /** * List of groups used for colors. */ colorByGroups?: string[]; /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetScatterplotDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Exactly one `request` block is allowed using the structure below. */ request?: outputs.PowerpackWidgetScatterplotDefinitionRequest; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the X-Axis Controls. Exactly one nested block is allowed using the structure below. */ xaxis?: outputs.PowerpackWidgetScatterplotDefinitionXaxis; /** * A nested block describing the Y-Axis Controls. Exactly one nested block is allowed using the structure below. */ yaxis?: outputs.PowerpackWidgetScatterplotDefinitionYaxis; } export interface PowerpackWidgetScatterplotDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetScatterplotDefinitionRequest { /** * Scatterplot request containing formulas and functions. */ scatterplotTables?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTable[]; /** * The query used for the X-Axis. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery`, `apmStatsQuery` or `processQuery` is required within the block). */ xes?: outputs.PowerpackWidgetScatterplotDefinitionRequestX[]; /** * The query used for the Y-Axis. Exactly one nested block is allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery`, `apmStatsQuery` or `processQuery` is required within the block). */ ys?: outputs.PowerpackWidgetScatterplotDefinitionRequestY[]; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTable { formulas?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableFormula[]; queries?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQuery[]; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableFormula { /** * An expression alias. */ alias?: string; /** * Dimension of the Scatterplot. Valid values are `x`, `y`, `radius`, `color`. */ dimension: string; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQuerySloQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBySort; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestScatterplotTableQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestX { /** * Aggregator used for the request. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXSecurityQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestXApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestXApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestXApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestXApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXApmQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestXApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestXLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestXLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestXLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestXLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXLogQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestXLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestXProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestXRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestXRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestXRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXRumQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestXRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestXSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestXSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestY { /** * Aggregator used for the request. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYApmQuery; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYProcessQuery; /** * The metric query to use for this widget. */ q?: string; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYSecurityQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestYApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestYApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestYApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestYApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYApmQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestYApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestYLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestYLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestYLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestYLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYLogQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestYLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestYProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestYRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestYRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestYRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYRumQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestYRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestYSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetScatterplotDefinitionRequestYSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetScatterplotDefinitionXaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetScatterplotDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetServiceLevelObjectiveDefinition { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The global time target of the widget. */ globalTimeTarget?: string; /** * Whether to show the error budget or not. */ showErrorBudget?: boolean; /** * The ID of the service level objective used by the widget. */ sloId: string; /** * A list of time windows to display in the widget. Valid values are `7d`, `30d`, `90d`, `weekToDate`, `previousWeek`, `monthToDate`, `previousMonth`, `globalTime`. */ timeWindows: string[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * The view mode for the widget. Valid values are `overall`, `component`, `both`. */ viewMode: string; /** * The type of view to use when displaying the widget. Only `detail` is supported. */ viewType: string; } export interface PowerpackWidgetServicemapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetServicemapDefinitionCustomLink[]; /** * Your environment and primary tag (or `*` if enabled for your account). */ filters: string[]; /** * The ID of the service to map. */ service: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetServicemapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetSloListDefinition { /** * A nested block describing the request to use when displaying the widget. Exactly one `request` block is allowed. */ request: outputs.PowerpackWidgetSloListDefinitionRequest; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetSloListDefinitionRequest { /** * Updated SLO List widget. */ query: outputs.PowerpackWidgetSloListDefinitionRequestQuery; /** * The request type for the SLO List request. Valid values are `sloList`. */ requestType: string; } export interface PowerpackWidgetSloListDefinitionRequestQuery { /** * Maximum number of results to display in the table. Defaults to `100`. */ limit?: number; /** * Widget query. */ queryString: string; /** * The facet and order to sort the data, for example: `{"column": "status.sli", "order": "desc"}`. */ sort?: outputs.PowerpackWidgetSloListDefinitionRequestQuerySort; } export interface PowerpackWidgetSloListDefinitionRequestQuerySort { /** * The facet path for the column. */ column: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetSunburstDefinition { /** * Nested block describing a custom link. Multiple `customLink` blocks are allowed with the structure below. */ customLinks?: outputs.PowerpackWidgetSunburstDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * Whether or not to show the total value in the widget. */ hideTotal?: boolean; /** * Used to configure the inline legend. Cannot be used in conjunction with legend*table. */ legendInline?: outputs.PowerpackWidgetSunburstDefinitionLegendInline; /** * Used to configure the table legend. Cannot be used in conjunction with legend*inline. */ legendTable?: outputs.PowerpackWidgetSunburstDefinitionLegendTable; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * Nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed with the structure below (exactly one of `q`, `logQuery` or `rumQuery` is required within the `request` block). */ requests?: outputs.PowerpackWidgetSunburstDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. One of `left`, `center`, or `right`. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title. Default is 16. */ titleSize?: string; } export interface PowerpackWidgetSunburstDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetSunburstDefinitionLegendInline { /** * Whether to hide the percentages of the groups. */ hidePercent?: boolean; /** * Whether to hide the values of the groups. */ hideValue?: boolean; /** * The type of legend (inline or automatic). Valid values are `inline`, `automatic`. */ type: string; } export interface PowerpackWidgetSunburstDefinitionLegendTable { /** * The type of legend (table or none). Valid values are `table`, `none`. */ type: string; } export interface PowerpackWidgetSunburstDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestAuditQuery; formulas?: outputs.PowerpackWidgetSunburstDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestLogQuery; /** * The query to use for this widget. */ networkQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestNetworkQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetSunburstDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestSecurityQuery; /** * Define style for the widget's request. */ style?: outputs.PowerpackWidgetSunburstDefinitionRequestStyle; } export interface PowerpackWidgetSunburstDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetSunburstDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetSunburstDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetSunburstDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetSunburstDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetSunburstDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetSunburstDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetSunburstDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetSunburstDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestAuditQueryGroupBySortQuery; } export interface PowerpackWidgetSunburstDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetSunburstDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaStyle; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetSunburstDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetSunburstDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetSunburstDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetSunburstDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetSunburstDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetSunburstDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetSunburstDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestNetworkQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestNetworkQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetSunburstDefinitionRequestNetworkQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetSunburstDefinitionRequestNetworkQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetSunburstDefinitionRequestNetworkQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestNetworkQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestNetworkQueryGroupBySortQuery; } export interface PowerpackWidgetSunburstDefinitionRequestNetworkQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetSunburstDefinitionRequestNetworkQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetSunburstDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetSunburstDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetSunburstDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetSunburstDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetSunburstDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetSunburstDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetSunburstDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetSunburstDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetSunburstDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetSunburstDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetSunburstDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetSunburstDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetSunburstDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetSunburstDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetSunburstDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetSunburstDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetSunburstDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetSunburstDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface PowerpackWidgetTimeseriesDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetTimeseriesDefinitionCustomLink[]; /** * The definition of the event to overlay on the graph. Multiple `event` blocks are allowed using the structure below. */ events?: outputs.PowerpackWidgetTimeseriesDefinitionEvent[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * A list of columns to display in the legend. Valid values are `value`, `avg`, `sum`, `min`, `max`. */ legendColumns?: string[]; /** * The layout of the legend displayed in the widget. Valid values are `auto`, `horizontal`, `vertical`. */ legendLayout?: string; /** * The size of the legend displayed in the widget. */ legendSize?: string; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the marker to use when displaying the widget. The structure of this block is described below. Multiple `marker` blocks are allowed within a given `tileDef` block. */ markers?: outputs.PowerpackWidgetTimeseriesDefinitionMarker[]; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `networkQuery`, `securityQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.PowerpackWidgetTimeseriesDefinitionRequest[]; /** * A nested block describing the right Y-Axis Controls. See the `onRightYaxis` property for which request will use this axis. The structure of this block is described below. */ rightYaxis?: outputs.PowerpackWidgetTimeseriesDefinitionRightYaxis; /** * Whether or not to show the legend on this widget. */ showLegend?: boolean; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; /** * A nested block describing the Y-Axis Controls. The structure of this block is described below. */ yaxis?: outputs.PowerpackWidgetTimeseriesDefinitionYaxis; } export interface PowerpackWidgetTimeseriesDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetTimeseriesDefinitionEvent { /** * The event query to use in the widget. */ q: string; /** * The execution method for multi-value filters. */ tagsExecution?: string; } export interface PowerpackWidgetTimeseriesDefinitionMarker { /** * How the marker lines are displayed, options are one of {`error`, `warning`, `info`, `ok`} combined with one of {`dashed`, `solid`, `bold`}. Example: `error dashed`. */ displayType?: string; /** * A label for the line or range. */ label?: string; /** * A mathematical expression describing the marker, for example: `y > 1`, `-5 < y < 0`, `y = 19`. */ value: string; } export interface PowerpackWidgetTimeseriesDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestAuditQuery; /** * How to display the marker lines. Valid values are `area`, `bars`, `line`, `overlay`. */ displayType?: string; formulas?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestLogQuery; /** * Used to define expression aliases. Multiple `metadata` blocks are allowed using the structure below. */ metadatas?: outputs.PowerpackWidgetTimeseriesDefinitionRequestMetadata[]; /** * The query to use for this widget. */ networkQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestNetworkQuery; /** * A Boolean indicating whether the request uses the right or left Y-Axis. */ onRightYaxis?: boolean; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestSecurityQuery; /** * The style of the widget graph. Exactly one `style` block is allowed using the structure below. */ style?: outputs.PowerpackWidgetTimeseriesDefinitionRequestStyle; } export interface PowerpackWidgetTimeseriesDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetTimeseriesDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetTimeseriesDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetTimeseriesDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetTimeseriesDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestAuditQueryGroupBySortQuery; } export interface PowerpackWidgetTimeseriesDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaStyle; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetTimeseriesDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetTimeseriesDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestMetadata { /** * The expression alias. */ aliasName?: string; /** * The expression name. */ expression: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestNetworkQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryGroupBySortQuery; } export interface PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestNetworkQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetTimeseriesDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetTimeseriesDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetTimeseriesDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetTimeseriesDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetTimeseriesDefinitionRequestStyle { /** * If true, the value is displayed as a label relative to the data point. */ hasValueLabels?: boolean; /** * The type of lines displayed. Valid values are `dashed`, `dotted`, `solid`. */ lineType?: string; /** * The width of line displayed. Valid values are `normal`, `thick`, `thin`. */ lineWidth?: string; /** * How to order series in timeseries visualizations. Valid values are `tags`, `values`. */ orderBy?: string; /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface PowerpackWidgetTimeseriesDefinitionRightYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetTimeseriesDefinitionYaxis { /** * Always include zero or fit the axis to the data range. */ includeZero?: boolean; /** * The label of the axis to display on the graph. */ label?: string; /** * Specify the maximum value to show on the Y-axis. */ max?: string; /** * Specify the minimum value to show on the Y-axis. */ min?: string; /** * Specify the scale type, options: `linear`, `log`, `pow`, `sqrt`. */ scale?: string; } export interface PowerpackWidgetToplistDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetToplistDefinitionCustomLink[]; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * A nested block describing the request to use when displaying the widget. Multiple `request` blocks are allowed using the structure below (exactly one of `q`, `apmQuery`, `logQuery`, `rumQuery`, `securityQuery` or `processQuery` is required within the `request` block). */ requests?: outputs.PowerpackWidgetToplistDefinitionRequest[]; /** * The style of the widget */ styles?: outputs.PowerpackWidgetToplistDefinitionStyle[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetToplistDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetToplistDefinitionRequest { /** * The query to use for this widget. */ apmQuery?: outputs.PowerpackWidgetToplistDefinitionRequestApmQuery; /** * The query to use for this widget. */ auditQuery?: outputs.PowerpackWidgetToplistDefinitionRequestAuditQuery; /** * Conditional formats allow you to set the color of your widget content or background, depending on a rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetToplistDefinitionRequestConditionalFormat[]; formulas?: outputs.PowerpackWidgetToplistDefinitionRequestFormula[]; /** * The query to use for this widget. */ logQuery?: outputs.PowerpackWidgetToplistDefinitionRequestLogQuery; /** * The process query to use in the widget. The structure of this block is described below. */ processQuery?: outputs.PowerpackWidgetToplistDefinitionRequestProcessQuery; /** * The metric query to use for this widget. */ q?: string; queries?: outputs.PowerpackWidgetToplistDefinitionRequestQuery[]; /** * The query to use for this widget. */ rumQuery?: outputs.PowerpackWidgetToplistDefinitionRequestRumQuery; /** * The query to use for this widget. */ securityQuery?: outputs.PowerpackWidgetToplistDefinitionRequestSecurityQuery; /** * Define request for the widget's style. */ style?: outputs.PowerpackWidgetToplistDefinitionRequestStyle; } export interface PowerpackWidgetToplistDefinitionRequestApmQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetToplistDefinitionRequestApmQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetToplistDefinitionRequestApmQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetToplistDefinitionRequestApmQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetToplistDefinitionRequestApmQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestApmQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetToplistDefinitionRequestApmQueryGroupBySortQuery; } export interface PowerpackWidgetToplistDefinitionRequestApmQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetToplistDefinitionRequestApmQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestAuditQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetToplistDefinitionRequestAuditQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetToplistDefinitionRequestAuditQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetToplistDefinitionRequestAuditQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetToplistDefinitionRequestAuditQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestAuditQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetToplistDefinitionRequestAuditQueryGroupBySortQuery; } export interface PowerpackWidgetToplistDefinitionRequestAuditQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetToplistDefinitionRequestAuditQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetToplistDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetToplistDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetToplistDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetToplistDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetToplistDefinitionRequestFormulaStyle; } export interface PowerpackWidgetToplistDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetToplistDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetToplistDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetToplistDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetToplistDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetToplistDefinitionRequestLogQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetToplistDefinitionRequestLogQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetToplistDefinitionRequestLogQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetToplistDefinitionRequestLogQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetToplistDefinitionRequestLogQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestLogQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetToplistDefinitionRequestLogQueryGroupBySortQuery; } export interface PowerpackWidgetToplistDefinitionRequestLogQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetToplistDefinitionRequestLogQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestProcessQuery { /** * A list of processes. */ filterBies?: string[]; /** * The max number of items in the filter list. */ limit?: number; /** * Your chosen metric. */ metric: string; /** * Your chosen search term. */ searchBy?: string; } export interface PowerpackWidgetToplistDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetToplistDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetToplistDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetToplistDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetToplistDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetToplistDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetToplistDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetToplistDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetToplistDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetToplistDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetToplistDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetToplistDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetToplistDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetToplistDefinitionRequestRumQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetToplistDefinitionRequestRumQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetToplistDefinitionRequestRumQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetToplistDefinitionRequestRumQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetToplistDefinitionRequestRumQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestRumQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetToplistDefinitionRequestRumQueryGroupBySortQuery; } export interface PowerpackWidgetToplistDefinitionRequestRumQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetToplistDefinitionRequestRumQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestSecurityQuery { /** * `computeQuery` or `multiCompute` is required. The map keys are listed below. */ computeQuery?: outputs.PowerpackWidgetToplistDefinitionRequestSecurityQueryComputeQuery; /** * Multiple `groupBy` blocks are allowed using the structure below. */ groupBies?: outputs.PowerpackWidgetToplistDefinitionRequestSecurityQueryGroupBy[]; /** * The name of the index to query. */ index: string; /** * `computeQuery` or `multiCompute` is required. Multiple `multiCompute` blocks are allowed using the structure below. */ multiComputes?: outputs.PowerpackWidgetToplistDefinitionRequestSecurityQueryMultiCompute[]; /** * The search query to use. */ searchQuery?: string; } export interface PowerpackWidgetToplistDefinitionRequestSecurityQueryComputeQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestSecurityQueryGroupBy { /** * The facet name. */ facet?: string; /** * The maximum number of items in the group. */ limit?: number; /** * A list of exactly one element describing the sort query to use. */ sortQuery?: outputs.PowerpackWidgetToplistDefinitionRequestSecurityQueryGroupBySortQuery; } export interface PowerpackWidgetToplistDefinitionRequestSecurityQueryGroupBySortQuery { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Widget sorting methods. Valid values are `asc`, `desc`. */ order: string; } export interface PowerpackWidgetToplistDefinitionRequestSecurityQueryMultiCompute { /** * The aggregation method. */ aggregation: string; /** * The facet name. */ facet?: string; /** * Define the time interval in seconds. */ interval?: number; } export interface PowerpackWidgetToplistDefinitionRequestStyle { /** * A color palette to apply to the widget. The available options are available at: https://docs.datadoghq.com/dashboards/widgets/timeseries/#appearance. */ palette?: string; } export interface PowerpackWidgetToplistDefinitionStyle { /** * The display mode for the widget. */ displays?: outputs.PowerpackWidgetToplistDefinitionStyleDisplay[]; /** * The color palette for the widget. */ palette?: string; /** * The scaling mode for the widget. Valid values are `absolute`, `relative`. */ scaling: string; } export interface PowerpackWidgetToplistDefinitionStyleDisplay { /** * The display type for the widget. */ type: string; } export interface PowerpackWidgetTopologyMapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetTopologyMapDefinitionCustomLink[]; /** * A nested block describing the request to use when displaying the widget. Multiple request blocks are allowed using the structure below (`query` and `requestType` are required within the request). */ requests?: outputs.PowerpackWidgetTopologyMapDefinitionRequest[]; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetTopologyMapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetTopologyMapDefinitionRequest { /** * The query for a Topology request. */ queries: outputs.PowerpackWidgetTopologyMapDefinitionRequestQuery[]; /** * The request type for the Topology request ('topology'). Valid values are `topology`. */ requestType: string; } export interface PowerpackWidgetTopologyMapDefinitionRequestQuery { /** * The data source for the Topology request ('service*map' or 'data*streams'). Valid values are `dataStreams`, `serviceMap`. */ dataSource: string; /** * Your environment and primary tag (or `*` if enabled for your account). */ filters: string[]; /** * The ID of the service to map. */ service: string; } export interface PowerpackWidgetTraceServiceDefinition { /** * The number of columns to display. Valid values are `oneColumn`, `twoColumn`, `threeColumn`. */ displayFormat?: string; /** * APM environment. */ env: string; /** * Hide any portion of the widget's timeframe that is incomplete due to cost data not being available. */ hideIncompleteCostData: boolean; /** * The timeframe to use when displaying the widget. Valid values are `1m`, `5m`, `10m`, `15m`, `30m`, `1h`, `4h`, `1d`, `2d`, `1w`, `1mo`, `3mo`, `6mo`, `weekToDate`, `monthToDate`, `1y`, `alert`. */ liveSpan?: string; /** * APM service. */ service: string; /** * Whether to show the latency breakdown or not. */ showBreakdown?: boolean; /** * Whether to show the latency distribution or not. */ showDistribution?: boolean; /** * Whether to show the error metrics or not. */ showErrors?: boolean; /** * Whether to show the hits metrics or not */ showHits?: boolean; /** * Whether to show the latency metrics or not. */ showLatency?: boolean; /** * Whether to show the resource list or not. */ showResourceList?: boolean; /** * The size of the widget. Valid values are `small`, `medium`, `large`. */ sizeFormat?: string; /** * APM span name */ spanName: string; /** * The title of the widget. */ title?: string; /** * The alignment of the widget's title. Valid values are `center`, `left`, `right`. */ titleAlign?: string; /** * The size of the widget's title (defaults to 16). */ titleSize?: string; } export interface PowerpackWidgetTreemapDefinition { /** * A nested block describing a custom link. Multiple `customLink` blocks are allowed using the structure below. */ customLinks?: outputs.PowerpackWidgetTreemapDefinitionCustomLink[]; /** * Nested block describing the request to use when displaying the widget. */ requests?: outputs.PowerpackWidgetTreemapDefinitionRequest[]; /** * The title of the widget. */ title?: string; } export interface PowerpackWidgetTreemapDefinitionCustomLink { /** * The flag for toggling context menu link visibility. */ isHidden?: boolean; /** * The label for the custom link URL. */ label?: string; /** * The URL of the custom link. */ link?: string; /** * The label ID that refers to a context menu link item. When `overrideLabel` is provided, the client request omits the label field. */ overrideLabel?: string; } export interface PowerpackWidgetTreemapDefinitionRequest { formulas?: outputs.PowerpackWidgetTreemapDefinitionRequestFormula[]; queries?: outputs.PowerpackWidgetTreemapDefinitionRequestQuery[]; } export interface PowerpackWidgetTreemapDefinitionRequestFormula { /** * An expression alias. */ alias?: string; /** * A list of display modes for each table cell. Valid values are `number`, `bar`, `trend`. */ cellDisplayMode?: string; /** * Conditional formats allow you to set the color of your widget content or background depending on the rule applied to your data. Multiple `conditionalFormats` blocks are allowed using the structure below. */ conditionalFormats?: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaConditionalFormat[]; /** * A string expression built from queries, formulas, and functions. */ formulaExpression: string; /** * The options for limiting results returned. */ limit?: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaLimit; /** * Number formatting options for the formula. */ numberFormat?: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormat; /** * Styling options for widget formulas. */ style?: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaStyle; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaConditionalFormat { /** * The comparator to use. Valid values are `=`, `>`, `>=`, `<`, `<=`. */ comparator: string; /** * The color palette to apply to the background, same values available as palette. */ customBgColor?: string; /** * The color palette to apply to the foreground, same values available as palette. */ customFgColor?: string; /** * Setting this to True hides values. */ hideValue?: boolean; /** * Displays an image as the background. */ imageUrl?: string; /** * The metric from the request to correlate with this conditional format. */ metric?: string; /** * The color palette to apply. Valid values are `blue`, `customBg`, `customImage`, `customText`, `grayOnWhite`, `grey`, `green`, `orange`, `red`, `redOnWhite`, `whiteOnGray`, `whiteOnGreen`, `greenOnWhite`, `whiteOnRed`, `whiteOnYellow`, `yellowOnWhite`, `blackOnLightYellow`, `blackOnLightGreen`, `blackOnLightRed`. */ palette: string; /** * Defines the displayed timeframe. */ timeframe?: string; /** * A value for the comparator. */ value: number; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaLimit { /** * The number of results to return. */ count?: number; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ order?: string; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormat { /** * Unit of the number format. */ unit: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnit; unitScale?: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnitScale; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnit { /** * Canonical Units */ canonical?: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCanonical; /** * Use custom (non canonical metrics) */ custom?: outputs.PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCustom; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCanonical { /** * per unit name. If you want to represent megabytes/s, you set 'unit*name' = 'megabyte' and 'per*unit_name = 'second' */ perUnitName?: string; /** * Unit name. It should be in singular form ('megabyte' and not 'megabytes') */ unitName: string; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnitCustom { /** * Unit label */ label: string; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaNumberFormatUnitScale { unitName: string; } export interface PowerpackWidgetTreemapDefinitionRequestFormulaStyle { /** * The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors. */ palette?: string; /** * Index specifying which color to use within the palette. */ paletteIndex?: number; } export interface PowerpackWidgetTreemapDefinitionRequestQuery { /** * The APM Dependency Stats query using formulas and functions. */ apmDependencyStatsQuery?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryApmDependencyStatsQuery; /** * The APM Resource Stats query using formulas and functions. */ apmResourceStatsQuery?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryApmResourceStatsQuery; /** * The Cloud Cost query using formulas and functions. */ cloudCostQuery?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryCloudCostQuery; /** * A timeseries formula and functions events query. */ eventQuery?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryEventQuery; /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryMetricQuery; /** * The process query using formulas and functions. */ processQuery?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryProcessQuery; /** * The SLO query using formulas and functions. */ sloQuery?: outputs.PowerpackWidgetTreemapDefinitionRequestQuerySloQuery; } export interface PowerpackWidgetTreemapDefinitionRequestQueryApmDependencyStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Dependency Stats queries. Valid values are `apmDependencyStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Determines whether stats for upstream or downstream dependencies should be queried. */ isUpstream?: boolean; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `avgDuration`, `avgRootDuration`, `avgSpansPerTrace`, `errorRate`, `pctExecTime`, `pctOfTraces`, `totalTracesCount`. */ stat: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryApmResourceStatsQuery { /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for APM Resource Stats queries. Valid values are `apmResourceStats`. */ dataSource: string; /** * APM environment. */ env: string; /** * Array of fields to group results by. */ groupBies?: string[]; /** * The name of query for use in formulas. */ name: string; /** * Name of operation on service. */ operationName?: string; /** * The name of the second primary tag used within APM; required when `primaryTagValue` is specified. See https://docs.datadoghq.com/tracing/guide/setting*primary*tags*to*scope/#add-a-second-primary-tag-in-datadog. */ primaryTagName?: string; /** * Filter APM data by the second primary tag. `primaryTagName` must also be specified. */ primaryTagValue?: string; /** * APM resource. */ resourceName?: string; /** * APM service. */ service: string; /** * APM statistic. Valid values are `errors`, `errorRate`, `hits`, `latencyAvg`, `latencyDistribution`, `latencyMax`, `latencyP50`, `latencyP75`, `latencyP90`, `latencyP95`, `latencyP99`. */ stat: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryCloudCostQuery { /** * The aggregation methods available for cloud cost queries. Valid values are `avg`, `last`, `max`, `min`, `sum`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for cloud cost queries. Valid values are `cloudCost`. */ dataSource: string; /** * The name of the query for use in formulas. */ name: string; /** * The cloud cost query definition. */ query: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryEventQuery { /** * The compute options. */ computes: outputs.PowerpackWidgetTreemapDefinitionRequestQueryEventQueryCompute[]; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for event platform-based queries. Valid values are `logs`, `spans`, `network`, `rum`, `securitySignals`, `profiles`, `audit`, `events`, `ciTests`, `ciPipelines`, `incidentAnalytics`, `productAnalytics`, `onCallEvents`. */ dataSource: string; /** * Group by options. */ groupBies?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupBy[]; /** * Alternative group-by configuration that groups by multiple event facet fields. Use this or `groupBy`, not both. */ groupByFields?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupByFields; /** * An array of index names to query in the stream. */ indexes?: string[]; /** * The name of query for use in formulas. */ name: string; /** * The search options. */ search?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryEventQuerySearch; /** * Storage location (private beta). */ storage?: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryEventQueryCompute { /** * The aggregation methods for event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * A time interval in milliseconds. */ interval?: number; /** * The measurable attribute to compute. */ metric?: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupBy { /** * The event facet. */ facet: string; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupBySort; } export interface PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupByFields { /** * List of event facets to group by. */ fields: string[]; /** * The number of groups to return. */ limit?: number; /** * The options for sorting group by results. */ sort?: outputs.PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupByFieldsSort; } export interface PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupByFieldsSort { /** * The aggregation method for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryEventQueryGroupBySort { /** * The aggregation methods for the event platform queries. Valid values are `count`, `cardinality`, `median`, `pc75`, `pc90`, `pc95`, `pc98`, `pc99`, `sum`, `min`, `max`, `avg`. */ aggregation: string; /** * The metric used for sorting group by results. */ metric?: string; /** * Direction of sort. Valid values are `asc`, `desc`. */ order?: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryEventQuerySearch { /** * The events search string. */ query: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryMetricQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; /** * Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. Valid values are `combined`, `native`. */ semanticMode?: string; } export interface PowerpackWidgetTreemapDefinitionRequestQueryProcessQuery { /** * The aggregation methods available for metrics queries. Valid values are `avg`, `min`, `max`, `sum`, `last`, `area`, `l2norm`, `percentile`. */ aggregator?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for process queries. Valid values are `process`, `container`. */ dataSource: string; /** * Whether to normalize the CPU percentages. */ isNormalizedCpu?: boolean; /** * The number of hits to return. */ limit?: number; /** * The process metric name. */ metric: string; /** * The name of query for use in formulas. */ name: string; /** * The direction of the sort. Valid values are `asc`, `desc`. Defaults to `"desc"`. */ sort?: string; /** * An array of tags to filter by. */ tagFilters?: string[]; /** * The text to use as a filter. */ textFilter?: string; } export interface PowerpackWidgetTreemapDefinitionRequestQuerySloQuery { /** * Additional filters applied to the SLO query. */ additionalQueryFilters?: string; /** * The source organization UUID for cross organization queries. Feature in Private Beta. */ crossOrgUuids?: string; /** * The data source for SLO queries. Valid values are `slo`. */ dataSource: string; /** * Group mode to query measures. Valid values are `overall`, `components`. Defaults to `"overall"`. */ groupMode?: string; /** * SLO measures queries. Valid values are `goodEvents`, `badEvents`, `goodMinutes`, `badMinutes`, `sloStatus`, `errorBudgetRemaining`, `burnRate`, `errorBudgetBurndown`. */ measure: string; /** * The name of query for use in formulas. */ name?: string; /** * ID of an SLO to query. */ sloId: string; /** * type of the SLO to query. Valid values are `metric`, `monitor`, `timeSlice`. Defaults to `"metric"`. */ sloQueryType?: string; } export interface PowerpackWidgetWidgetLayout { /** * The height of the widget. */ height: number; /** * Whether the widget should be the first one on the second column in high density or not. Only one widget in the dashboard should have this property set to `true`. */ isColumnBreak?: boolean; /** * The width of the widget. */ width: number; /** * The position of the widget on the x (horizontal) axis. Must be greater than or equal to 0. */ x: number; /** * The position of the widget on the y (vertical) axis. Must be greater than or equal to 0. */ y: number; } export interface ReferenceTableFileMetadata { /** * Cloud storage access configuration. Exactly one of aws*detail, gcp*detail, or azure*detail must be specified. */ accessDetails?: outputs.ReferenceTableFileMetadataAccessDetails; /** * Error message from the last sync attempt, if any. */ errorMessage: string; /** * The number of rows that failed to sync. */ errorRowCount: number; /** * The type of error that occurred during file processing. */ errorType: string; /** * Whether this table should automatically sync with the cloud storage source. */ syncEnabled: boolean; } export interface ReferenceTableFileMetadataAccessDetails { /** * AWS S3 access configuration. Required when source is S3. */ awsDetail?: outputs.ReferenceTableFileMetadataAccessDetailsAwsDetail; /** * Azure Blob Storage access configuration. Required when source is AZURE. */ azureDetail?: outputs.ReferenceTableFileMetadataAccessDetailsAzureDetail; /** * Google Cloud Storage access configuration. Required when source is GCS. */ gcpDetail?: outputs.ReferenceTableFileMetadataAccessDetailsGcpDetail; } export interface ReferenceTableFileMetadataAccessDetailsAwsDetail { /** * The ID of the AWS account. */ awsAccountId?: string; /** * The name of the AWS S3 bucket. */ awsBucketName?: string; /** * The relative file path from the AWS S3 bucket root to the CSV file. */ filePath?: string; } export interface ReferenceTableFileMetadataAccessDetailsAzureDetail { /** * The Azure client ID (application ID). */ azureClientId?: string; /** * The name of the Azure container. */ azureContainerName?: string; /** * The name of the Azure storage account. */ azureStorageAccountName?: string; /** * The ID of the Azure tenant. */ azureTenantId?: string; /** * The relative file path from the Azure container root to the CSV file. */ filePath?: string; } export interface ReferenceTableFileMetadataAccessDetailsGcpDetail { /** * The relative file path from the GCS bucket root to the CSV file. */ filePath?: string; /** * The name of the GCP bucket. */ gcpBucketName?: string; /** * The ID of the GCP project. */ gcpProjectId?: string; /** * The email of the GCP service account used to access the bucket. */ gcpServiceAccountEmail?: string; } export interface ReferenceTableSchema { /** * List of fields in the table schema. At least one field is required. Schema is only set on create. */ fields?: outputs.ReferenceTableSchemaField[]; /** * List of field names that serve as primary keys for the table. Currently only one primary key is supported. */ primaryKeys: string[]; } export interface ReferenceTableSchemaField { /** * The name of the field. */ name: string; /** * The data type of the field. Must be one of: STRING, INT32. Valid values are `STRING`, `INT32`. */ type: string; } export interface RestrictionPolicyBinding { /** * An array of principals. A principal is a subject or group of subjects. Each principal is formatted as `type:id`. Supported types: `role`, `team`, `user`, and `org`. Org ID can be obtained using a `GET /api/v2/current_user` API request. Find it in the `data.relationships.org.data.id` field. */ principals: string[]; /** * The role/level of access. See this page for more details https://docs.datadoghq.com/api/latest/restriction-policies/#supported-relations-for-resources */ relation: string; } export interface RolePermission { /** * ID of the permission to assign. */ id: string; /** * Name of the permission. */ name: string; } export interface RumMetricCompute { /** * The type of aggregation to use. */ aggregationType: string; /** * Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregationType` is `distribution`. */ includePercentiles?: boolean; /** * The path to the value the RUM-based metric will aggregate on. Only present when `aggregationType` is `distribution`. */ path?: string; } export interface RumMetricFilter { /** * The search query. Follows RUM search syntax. */ query?: string; } export interface RumMetricGroupBy { /** * The path to the value the RUM-based metric will be aggregated over. */ path?: string; /** * Name of the tag that gets created. By default, `path` is used as the tag name. */ tagName?: string; } export interface RumMetricUniqueness { /** * When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. */ when?: string; } export interface SecureEmbedDashboardSelectableTemplateVar { /** * The default values for this template variable. */ defaultValues: string[]; /** * The name of the template variable. */ name: string; /** * The tag prefix for this template variable. Defaults to `""`. */ prefix: string; /** * The type of the template variable. Defaults to `""`. */ type: string; /** * The visible tag values for this template variable. */ visibleTags: string[]; } export interface SecurityMonitoringDefaultRuleCase { /** * Status of the rule case to override. Valid values are `info`, `low`, `medium`, `high`, `critical`. */ customStatus?: string; /** * Notification targets for each rule case. */ notifications?: string[]; /** * Status of the rule case to match. Valid values are `info`, `low`, `medium`, `high`, `critical`. */ status: string; } export interface SecurityMonitoringDefaultRuleFilter { /** * The type of filtering action. Allowed enum values: require, suppress Valid values are `require`, `suppress`. */ action: string; /** * Query for selecting logs to apply the filtering action. */ query: string; } export interface SecurityMonitoringDefaultRuleOptions { /** * If true, signals in non-production environments have a lower severity than what is defined by the rule case, which can reduce noise. The decrement is applied when the environment tag of the signal starts with `staging`, `test`, or `dev`. Only available when the rule type is `logDetection`. */ decreaseCriticalityBasedOnEnv: boolean; } export interface SecurityMonitoringDefaultRuleQuery { /** * **Deprecated**. It won't be applied anymore. **Deprecated.** `agentRule` has been deprecated in favor of new Agent Rule resource. * * @deprecated `agentRule` has been deprecated in favor of new Agent Rule resource. */ agentRules?: outputs.SecurityMonitoringDefaultRuleQueryAgentRule[]; /** * The aggregation type. For Signal Correlation rules, it must be event_count. Valid values are `count`, `cardinality`, `sum`, `max`, `newValue`, `geoData`, `eventCount`, `none`. */ aggregation: string; /** * Query extension to append to the logs query. */ customQueryExtension: string; /** * Source of events. Valid values are `logs`, `audit`, `appSecSpans`, `spans`, `securityRuntime`, `network`, `events`. */ dataSource: string; /** * Field for which the cardinality is measured. Sent as an array. */ distinctFields: string[]; /** * Fields to group by. */ groupByFields: string[]; /** * When false, events without a group-by value are ignored by the rule. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. */ hasOptionalGroupByFields: boolean; /** * The target field to aggregate over when using the `sum`, `max`, or `geoData` aggregations. **Deprecated.** Configure `metrics` instead. This attribute will be removed in the next major version of the provider. * * @deprecated Configure `metrics` instead. This attribute will be removed in the next major version of the provider. */ metric: string; /** * Group of target fields to aggregate over when using the `sum`, `max`, `geoData`, or `newValue` aggregations. The `sum`, `max`, and `geoData` aggregations only accept one value in this list, whereas the `newValue` aggregation accepts up to five values. */ metrics: string[]; /** * Name of the query. Not compatible with `newValue` aggregations. */ name: string; /** * Query to run on logs. */ query: string; } export interface SecurityMonitoringDefaultRuleQueryAgentRule { /** * **Deprecated**. It won't be applied anymore. */ agentRuleId: string; /** * **Deprecated**. It won't be applied anymore. */ expression: string; } export interface SecurityMonitoringFilterExclusionFilter { /** * Exclusion filter name. */ name: string; /** * Exclusion filter query. Logs that match this query are excluded from the security filter. */ query: string; } export interface SecurityMonitoringRuleCalculatedField { /** * Expression. */ expression: string; /** * Field name. */ name: string; } export interface SecurityMonitoringRuleCase { /** * Action to perform when the case trigger */ actions?: outputs.SecurityMonitoringRuleCaseAction[]; /** * A rule case contains logical operations (`>`,`>=`, `&&`, `||`) to determine if a signal should be generated based on the event counts in the previously defined queries. */ condition?: string; /** * Name of the case. */ name?: string; /** * Notification targets for each rule case. */ notifications?: string[]; /** * Severity of the Security Signal. Valid values are `info`, `low`, `medium`, `high`, `critical`. */ status: string; } export interface SecurityMonitoringRuleCaseAction { /** * Options for the action. */ options?: outputs.SecurityMonitoringRuleCaseActionOptions; /** * Type of action to perform when the case triggers. Valid values are `blockIp`, `blockUser`, `userBehavior`, `flagIp`. */ type: string; } export interface SecurityMonitoringRuleCaseActionOptions { /** * Duration of the action in seconds. */ duration?: number; } export interface SecurityMonitoringRuleFilter { /** * The type of filtering action. Valid values are `require`, `suppress`. */ action: string; /** * Query for selecting logs to apply the filtering action. */ query: string; } export interface SecurityMonitoringRuleOptions { /** * Options for rules using the anomaly detection method. */ anomalyDetectionOptions?: outputs.SecurityMonitoringRuleOptionsAnomalyDetectionOptions; /** * If true, signals in non-production environments have a lower severity than what is defined by the rule case, which can reduce noise. The decrement is applied when the environment tag of the signal starts with `staging`, `test`, or `dev`. Only available when the rule type is `logDetection`. Defaults to `false`. */ decreaseCriticalityBasedOnEnv?: boolean; /** * The detection method. Valid values are `threshold`, `newValue`, `anomalyDetection`, `impossibleTravel`, `hardcoded`, `thirdParty`, `anomalyThreshold`, `sequenceDetection`. Defaults to `"threshold"`. */ detectionMethod?: string; /** * A time window is specified to match when at least one of the cases matches true. This is a sliding window and evaluates in real time. Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`, `10800`, `21600`, `43200`, `86400`. */ evaluationWindow?: number; /** * Options for rules using the impossible travel detection method. */ impossibleTravelOptions?: outputs.SecurityMonitoringRuleOptionsImpossibleTravelOptions; /** * Once a signal is generated, the signal will remain “open” if a case is matched at least once within this keep alive window (in seconds). Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`, `10800`, `21600`, `43200`, `86400`. */ keepAlive?: number; /** * A signal will “close” regardless of the query being matched once the time exceeds the maximum duration (in seconds). This time is calculated from the first seen timestamp. Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`, `10800`, `21600`, `43200`, `86400`. */ maxSignalDuration?: number; /** * New value rules specific options. */ newValueOptions?: outputs.SecurityMonitoringRuleOptionsNewValueOptions; /** * Options for rules using the sequence detection method. */ sequenceDetectionOptions?: outputs.SecurityMonitoringRuleOptionsSequenceDetectionOptions; /** * Options for rules using the third-party detection method. */ thirdPartyRuleOptions?: outputs.SecurityMonitoringRuleOptionsThirdPartyRuleOptions; } export interface SecurityMonitoringRuleOptionsAnomalyDetectionOptions { /** * Duration in seconds of the time buckets used to aggregate events matched by the rule. Valid values are 300, 600, 900, 1800, 3600, 10800. Valid values are `300`, `600`, `900`, `1800`, `3600`, `10800`. */ bucketDuration?: number; /** * An optional parameter that sets how permissive anomaly detection is. Higher values require higher deviations before triggering a signal. Valid values are 1, 2, 3, 4, 5. Valid values are `1`, `2`, `3`, `4`, `5`. */ detectionTolerance?: number; /** * When set to true, Datadog uses previous values that fall within the defined learning window to construct the baseline, enabling the system to establish an accurate baseline more rapidly rather than relying solely on gradual learning over time. Defaults to `false`. */ instantaneousBaseline?: boolean; /** * Learning duration in hours. Anomaly detection waits for at least this amount of historical data before it starts evaluating. Valid values are 1, 6, 12, 24, 48, 168, 336. Valid values are `1`, `6`, `12`, `24`, `48`, `168`, `336`. */ learningDuration?: number; /** * An optional override baseline to apply while the rule is in the learning period. Must be greater than or equal to 0. */ learningPeriodBaseline?: number; } export interface SecurityMonitoringRuleOptionsImpossibleTravelOptions { /** * If true, signals are suppressed for the first 24 hours. During that time, Datadog learns the user's regular access locations. This can be helpful to reduce noise and infer VPN usage or credentialed API access. Defaults to `false`. */ baselineUserLocations?: boolean; } export interface SecurityMonitoringRuleOptionsNewValueOptions { /** * The duration in days after which a learned value is forgotten. Valid values are `1`, `2`, `7`, `14`, `21`, `28`. */ forgetAfter: number; /** * When set to true, Datadog uses previous values that fall within the defined learning window to construct the baseline, enabling the system to establish an accurate baseline more rapidly rather than relying solely on gradual learning over time. Defaults to `false`. */ instantaneousBaseline?: boolean; /** * The duration in days during which values are learned, and after which signals will be generated for values that weren't learned. If set to 0, a signal will be generated for all new values after the first value is learned. Valid values are `0`, `1`, `7`. Defaults to `1`. */ learningDuration?: number; /** * The learning method used to determine when signals should be generated for values that weren't learned. Valid values are `duration`, `threshold`. Defaults to `"duration"`. */ learningMethod?: string; /** * A number of occurrences after which signals are generated for values that weren't learned. Valid values are `0`, `1`. Defaults to `0`. */ learningThreshold?: number; } export interface SecurityMonitoringRuleOptionsSequenceDetectionOptions { /** * Edges of the step graph. */ stepTransitions?: outputs.SecurityMonitoringRuleOptionsSequenceDetectionOptionsStepTransition[]; /** * Sequence steps. */ steps?: outputs.SecurityMonitoringRuleOptionsSequenceDetectionOptionsStep[]; } export interface SecurityMonitoringRuleOptionsSequenceDetectionOptionsStep { /** * Condition for the step to match. */ condition: string; /** * Evaluation window for the step. Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`, `10800`, `21600`, `43200`, `86400`. */ evaluationWindow?: number; /** * Unique name of the step. */ name: string; } export interface SecurityMonitoringRuleOptionsSequenceDetectionOptionsStepTransition { /** * Child step name. */ child: string; /** * Maximum time allowed to transition from parent to child. Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`, `10800`, `21600`, `43200`, `86400`. */ evaluationWindow?: number; /** * Parent step name. */ parent: string; } export interface SecurityMonitoringRuleOptionsThirdPartyRuleOptions { /** * Notification targets for the default rule case, when none of the third-party cases match. */ defaultNotifications?: string[]; /** * Severity of the default rule case, when none of the third-party cases match. Valid values are `info`, `low`, `medium`, `high`, `critical`. */ defaultStatus: string; /** * Queries to be combined with third-party case queries. Each of them can have different group by fields, to aggregate differently based on the type of alert. */ rootQueries: outputs.SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQuery[]; /** * A template for the signal title; if omitted, the title is generated based on the case name. */ signalTitleTemplate?: string; } export interface SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQuery { /** * Fields to group by. If empty, each log triggers a signal. */ groupByFields?: string[]; /** * Query to filter logs. */ query: string; } export interface SecurityMonitoringRuleQuery { /** * **Deprecated**. It won't be applied anymore. **Deprecated.** `agentRule` has been deprecated in favor of new Agent Rule resource. * * @deprecated `agentRule` has been deprecated in favor of new Agent Rule resource. */ agentRules?: outputs.SecurityMonitoringRuleQueryAgentRule[]; /** * The aggregation type. For Signal Correlation rules, it must be event_count. Valid values are `count`, `cardinality`, `sum`, `max`, `newValue`, `geoData`, `eventCount`, `none`. Defaults to `"count"`. */ aggregation?: string; /** * Source of events. Valid values are `logs`, `audit`, `appSecSpans`, `spans`, `securityRuntime`, `network`, `events`. Defaults to `"logs"`. */ dataSource?: string; /** * Field for which the cardinality is measured. Sent as an array. */ distinctFields?: string[]; /** * Fields to group by. */ groupByFields?: string[]; /** * When false, events without a group-by value are ignored by the rule. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. Defaults to `false`. */ hasOptionalGroupByFields?: boolean; /** * List of indexes to run the query on when the data source is `logs`. Supports only one element. Used only for scheduled rules (in other words, when `schedulingOptions` is defined). */ indexes?: string[]; /** * The target field to aggregate over when using the `sum`, `max`, or `geoData` aggregations. **Deprecated.** Configure `metrics` instead. This attribute will be removed in the next major version of the provider. * * @deprecated Configure `metrics` instead. This attribute will be removed in the next major version of the provider. */ metric?: string; /** * Group of target fields to aggregate over when using the `sum`, `max`, `geoData`, or `newValue` aggregations. The `sum`, `max`, and `geoData` aggregations only accept one value in this list, whereas the `newValue` aggregation accepts up to five values. */ metrics: string[]; /** * Name of the query. Not compatible with `newValue` aggregations. */ name?: string; /** * Query to run on logs. */ query: string; } export interface SecurityMonitoringRuleQueryAgentRule { /** * **Deprecated**. It won't be applied anymore. */ agentRuleId: string; /** * **Deprecated**. It won't be applied anymore. */ expression: string; } export interface SecurityMonitoringRuleReferenceTable { /** * Whether to include or exclude logs that match the reference table. */ checkPresence: boolean; /** * The name of the column in the reference table. */ columnName: string; /** * The field in the log that should be matched against the reference table. */ logFieldPath: string; /** * The name of the query to filter. */ ruleQueryName: string; /** * The name of the reference table. */ tableName: string; } export interface SecurityMonitoringRuleSchedulingOptions { /** * Schedule for the rule queries, written in RRULE syntax. See [RFC](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) for syntax reference. */ rrule: string; /** * Start date for the schedule, in ISO 8601 format without timezone. */ start: string; /** * Time zone of the start date, in the [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) format. */ timezone: string; } export interface SecurityMonitoringRuleSignalQuery { /** * The aggregation type. For Signal Correlation rules, it must be event_count. Valid values are `count`, `cardinality`, `sum`, `max`, `newValue`, `geoData`, `eventCount`, `none`. Defaults to `"eventCount"`. */ aggregation?: string; /** * Fields to correlate by. */ correlatedByFields?: string[]; /** * Index of the rule query used to retrieve the correlated field. An empty string applies correlation on the non-projected per query attributes of the rule. Defaults to `""`. */ correlatedQueryIndex?: string; /** * Default Rule ID of the signal to correlate. This value is READ-ONLY. */ defaultRuleId?: string; /** * Name of the query. Not compatible with `newValue` aggregations. */ name?: string; /** * Rule ID of the signal to correlate. */ ruleId: string; } export interface SecurityMonitoringRuleThirdPartyCase { /** * Name of the case. */ name?: string; /** * Notification targets for each rule case. */ notifications?: string[]; /** * A query to associate a third-party event to this case. */ query?: string; /** * Severity of the Security Signal. Valid values are `info`, `low`, `medium`, `high`, `critical`. */ status: string; } export interface SecurityNotificationRuleSelectors { /** * Comprises one or several key:value pairs for filtering security issues based on tags and attributes. Defaults to `""`. */ query: string; /** * Specifies security rule types for filtering signals and vulnerabilities that generate notifications. */ ruleTypes: string[]; /** * The security rules severities to consider. */ severities: string[]; /** * The type of security issues the rule applies to. Use `securitySignals` for rules based on security signals and `securityFindings` for those based on vulnerabilities. */ triggerSource: string; } export interface SensitiveDataScannerGroupFilter { /** * Query to filter the events. */ query: string; } export interface SensitiveDataScannerGroupSampling { /** * Product that the sampling rate applies to. Valid values are `logs`, `rum`, `events`, `apm`. */ product: string; /** * Percentage rate at which data for the product type is scanned. */ rate: number; } export interface SensitiveDataScannerRuleIncludedKeywordConfiguration { /** * Number of characters before the match to find a keyword validating the match. It must be between 1 and 50 (inclusive). */ characterCount: number; /** * Keyword list that is checked during scanning in order to validate a match. The number of keywords in the list must be lower than or equal to 30. */ keywords: string[]; } export interface SensitiveDataScannerRuleTextReplacement { /** * Required if type == 'partial*replacement*from*beginning' or 'partial*replacement*from*end'. It must be > 0. */ numberOfChars?: number; /** * Required if type == 'replacement_string'. */ replacementString?: string; /** * Only valid when type == `replacementString`. When enabled, matches can be unmasked in logs by users with ‘Data Scanner Unmask’ permission. As a security best practice, avoid masking for highly-sensitive, long-lived data. */ shouldSaveMatch?: boolean; /** * Type of the replacement text. None means no replacement. hash means the data will be stubbed. replacement*string means that one can chose a text to replace the data. partial*replacement*from*beginning allows a user to partially replace the data from the beginning, and partial*replacement*from_end on the other hand, allows to replace data from the end. Valid values are `none`, `hash`, `replacementString`, `partialReplacementFromBeginning`, `partialReplacementFromEnd`. */ type: string; } export interface ServiceLevelObjectiveQuery { /** * The sum of the `total` events. */ denominator: string; /** * The sum of all the `good` events. */ numerator: string; } export interface ServiceLevelObjectiveSliSpecification { /** * A count-based (metric) SLI specification. Composed of a good events formula, either a total events formula or a bad events formula (but not both), and the underlying metric queries. */ count?: outputs.ServiceLevelObjectiveSliSpecificationCount; /** * The time slice condition, composed of 3 parts: 1. The timeseries query, 2. The comparator, and 3. The threshold. Optionally, a fourth part, the query interval, can be provided. */ timeSlice?: outputs.ServiceLevelObjectiveSliSpecificationTimeSlice; } export interface ServiceLevelObjectiveSliSpecificationCount { /** * The formula that specifies how to compute the bad events. Mutually exclusive with `totalEventsFormula`. */ badEventsFormula?: string; /** * The formula that specifies how to compute the good events. */ goodEventsFormula: string; /** * A list of data-source-specific queries that are referenced in the formulas. */ queries: outputs.ServiceLevelObjectiveSliSpecificationCountQuery[]; /** * The formula that specifies how to compute the total events. Mutually exclusive with `badEventsFormula`. */ totalEventsFormula?: string; } export interface ServiceLevelObjectiveSliSpecificationCountQuery { /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.ServiceLevelObjectiveSliSpecificationCountQueryMetricQuery; } export interface ServiceLevelObjectiveSliSpecificationCountQueryMetricQuery { /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; } export interface ServiceLevelObjectiveSliSpecificationTimeSlice { /** * The comparator used to compare the SLI value to the threshold. Valid values are `>`, `>=`, `<`, `<=`. */ comparator: string; /** * A timeseries query, containing named data-source-specific queries and a formula involving the named queries. */ query: outputs.ServiceLevelObjectiveSliSpecificationTimeSliceQuery; /** * The interval used when querying data, which defines the size of a time slice. Valid values are `60`, `300`. Defaults to `300`. */ queryIntervalSeconds?: number; /** * The threshold value to which each SLI value will be compared. */ threshold: number; } export interface ServiceLevelObjectiveSliSpecificationTimeSliceQuery { /** * A list that contains exactly one formula, as only a single formula may be used to define a timeseries query for a time-slice SLO. */ formula: outputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormula; /** * A list of data-source-specific queries that are in the formula. */ queries: outputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQuery[]; } export interface ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormula { /** * The formula string, which is an expression involving named queries. */ formulaExpression: string; } export interface ServiceLevelObjectiveSliSpecificationTimeSliceQueryQuery { /** * A timeseries formula and functions metrics query. */ metricQuery?: outputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQuery; } export interface ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQuery { /** * The data source for metrics queries. Defaults to `"metrics"`. */ dataSource?: string; /** * The name of the query for use in formulas. */ name: string; /** * The metrics query definition. */ query: string; } export interface ServiceLevelObjectiveThreshold { /** * The objective's target in `(0,100)`. */ target: number; /** * A string representation of the target that indicates its precision. It uses trailing zeros to show significant decimal places (e.g. `98.00`). */ targetDisplay: string; /** * The time frame for the objective. The mapping from these types to the types found in the Datadog Web UI can be found in the Datadog API documentation page. Valid values are `7d`, `30d`, `90d`, `custom`. */ timeframe: string; /** * The objective's warning value in `(0,100)`. This must be greater than the target value. */ warning?: number; /** * A string representation of the warning target (see the description of the targetDisplay field for details). */ warningDisplay: string; } export interface SpansMetricCompute { /** * The type of aggregation to use. This field can't be updated after creation. */ aggregationType: string; /** * Toggle to include or exclude percentile aggregations for distribution metrics. Only present when the `aggregationType` is `distribution`. */ includePercentiles: boolean; /** * The path to the value the span-based metric will aggregate on (only used if the aggregation type is a "distribution"). This field can't be updated after creation. */ path?: string; } export interface SpansMetricFilter { /** * The search query - following the span search syntax. Defaults to `"*"`. */ query: string; } export interface SpansMetricGroupBy { /** * The path to the value the span-based metric will be aggregated over. */ path: string; /** * Eventual name of the tag that gets created. By default, the path attribute is used as the tag name. */ tagName: string; } export interface SyntheticsGlobalVariableOptions { /** * Parameters needed for MFA/TOTP. */ totpParameters?: outputs.SyntheticsGlobalVariableOptionsTotpParameters; } export interface SyntheticsGlobalVariableOptionsTotpParameters { /** * Number of digits for the OTP. Value must be between 4 and 10. */ digits: number; /** * Interval for which to refresh the token (in seconds). Value must be between 0 and 999. */ refreshInterval: number; } export interface SyntheticsGlobalVariableParseTestOptions { /** * Required when type = `httpHeader`. Defines the header to use to extract the value */ field?: string; /** * When type is `localVariable`, name of the local variable to use to extract the value. */ localVariableName?: string; parser?: outputs.SyntheticsGlobalVariableParseTestOptionsParser; /** * Defines the source to use to extract the value. Valid values are `httpBody`, `httpHeader`, `httpStatusCode`, `localVariable`. */ type: string; } export interface SyntheticsGlobalVariableParseTestOptionsParser { /** * Type of parser to extract the value. Valid values are `raw`, `jsonPath`, `regex`, `xPath`. */ type: string; /** * Value for the parser to use, required for type `jsonPath` or `regex`. */ value?: string; } export interface SyntheticsPrivateLocationMetadata { /** * A set of role identifiers pulled from the Roles API to restrict read and write access. **Deprecated.** This field is no longer supported by the Datadog API. Please use `datadog.RestrictionPolicy` instead. * * @deprecated This field is no longer supported by the Datadog API. Please use `datadog.RestrictionPolicy` instead. */ restrictedRoles?: string[]; } export interface SyntheticsSuiteOption { /** * Alerting threshold for the suite. Value must be between 0.000000 and 1.000000. */ alertingThreshold: number; } export interface SyntheticsSuiteTest { /** * Alerting criticality for the test. Valid values are `ignore`, `critical`. */ alertingCriticality?: string; /** * Public ID of the test. */ publicId: string; } export interface SyntheticsTestApiStep { /** * Determines whether or not to continue with test if this step fails. */ allowFailure?: boolean; /** * Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. */ assertions?: outputs.SyntheticsTestApiStepAssertion[]; /** * Determines whether or not to exit the test if the step succeeds. */ exitIfSucceed?: boolean; /** * Values to parse and save as variables from the response. */ extractedValues?: outputs.SyntheticsTestApiStepExtractedValue[]; /** * Generate variables using JavaScript. */ extractedValuesFromScript?: string; /** * ID of the step. */ id: string; /** * Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allowFailure` is `true`. */ isCritical?: boolean; /** * The name of the step. */ name: string; /** * The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below. */ requestBasicauth?: outputs.SyntheticsTestApiStepRequestBasicauth; /** * Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. */ requestClientCertificate?: outputs.SyntheticsTestApiStepRequestClientCertificate; /** * The request for the API step. */ requestDefinition?: outputs.SyntheticsTestApiStepRequestDefinition; /** * Files to be used as part of the request in the test. */ requestFiles?: outputs.SyntheticsTestApiStepRequestFile[]; /** * Header name and value map. */ requestHeaders?: { [key: string]: string; }; /** * Metadata to include when performing the gRPC request. */ requestMetadata?: { [key: string]: string; }; /** * The proxy to perform the test. */ requestProxy?: outputs.SyntheticsTestApiStepRequestProxy; /** * Query arguments name and value map. */ requestQuery?: { [key: string]: string; }; retry?: outputs.SyntheticsTestApiStepRetry; /** * Public ID of the test to be played as part of a `playSubTest` step type. */ subtestPublicId?: string; /** * The subtype of the Synthetic multistep API test step. Valid values are `http`, `grpc`, `ssl`, `dns`, `tcp`, `udp`, `icmp`, `websocket`, `wait`, `playSubTest`. Defaults to `"http"`. */ subtype?: string; /** * The time to wait in seconds. Minimum value: 0. Maximum value: 180. */ value?: number; } export interface SyntheticsTestApiStepAssertion { /** * If assertion type is `javascript`, this is the JavaScript code that performs the assertions. */ code?: string; /** * Assertion operator. **Note:** Only some combinations of `type` and `operator` are valid. Refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-an-api-test). Valid values are `contains`, `doesNotContain`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`, `matches`, `doesNotMatch`, `validates`, `isInMoreThan`, `isInLessThan`, `doesNotExist`, `isUndefined`, `validatesJSONPath`, `validatesJSONSchema`, `validatesXPath`, `md5`, `sha1`, `sha256`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`. */ operator?: string; /** * If assertion type is `header` or `grpcMetadata`, this is the header name. For other assertion types, this is an aggregation property: `avg`, `min`, `max`, or `stddev`. */ property?: string; /** * Expected value. **Note:** Depends on the assertion type. Refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-an-api-test). */ target?: string; /** * Expected structure if `operator` is `validatesJSONPath`. Exactly one nested block is allowed with the structure below. */ targetjsonpath?: outputs.SyntheticsTestApiStepAssertionTargetjsonpath; /** * Expected structure if `operator` is `validatesJSONSchema`. Exactly one nested block is allowed with the structure below. */ targetjsonschema?: outputs.SyntheticsTestApiStepAssertionTargetjsonschema; /** * Expected structure if `operator` is `validatesXPath`. Exactly one nested block is allowed with the structure below. */ targetxpath?: outputs.SyntheticsTestApiStepAssertionTargetxpath; /** * Timings scope for response time assertions. Valid values are `all`, `withoutDNS`. */ timingsScope?: string; /** * Type of assertion. **Note:** Only some combinations of `type` and `operator` are valid. For API tests, refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-an-api-test). For Network Path tests, refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-a-network-path-test). Valid values are `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `bodyHash`, `javascript`. */ type: string; } export interface SyntheticsTestApiStepAssertionTargetjsonpath { /** * The element from the list of results to assert on. Select from `firstElementMatches` (the first element in the list), `everyElementMatches` (every element in the list), `atLeastOneElementMatches` (at least one element in the list), or `serializationMatches` (the serialized value of the list). Defaults to `"firstElementMatches"`. */ elementsoperator?: string; /** * The JSON path to assert. */ jsonpath: string; /** * The specific operator to use on the path. */ operator: string; /** * Expected matching value. */ targetvalue?: string; } export interface SyntheticsTestApiStepAssertionTargetjsonschema { /** * The JSON Schema to validate the body against. */ jsonschema: string; /** * The meta schema to use for the JSON Schema. Defaults to `"draft-07"`. */ metaschema?: string; } export interface SyntheticsTestApiStepAssertionTargetxpath { /** * The specific operator to use on the path. */ operator: string; /** * Expected matching value. */ targetvalue?: string; /** * The xpath to assert. */ xpath: string; } export interface SyntheticsTestApiStepExtractedValue { /** * When type is `httpHeader` or `grpcMetadata`, name of the header or metadatum to extract. */ field?: string; name: string; parser: outputs.SyntheticsTestApiStepExtractedValueParser; /** * Determines whether or not the extracted value will be obfuscated. */ secure?: boolean; /** * Property of the Synthetics Test Response to use for the variable. Valid values are `grpcMessage`, `grpcMetadata`, `httpBody`, `httpHeader`, `httpStatusCode`. */ type: string; } export interface SyntheticsTestApiStepExtractedValueParser { /** * Type of parser for a Synthetics global variable from a synthetics test. Valid values are `raw`, `jsonPath`, `regex`, `xPath`. */ type: string; /** * Regex or JSON path used for the parser. Not used with type `raw`. */ value?: string; } export interface SyntheticsTestApiStepRequestBasicauth { /** * Access key for `SIGV4` authentication. */ accessKey?: string; /** * Access token url for `oauth-client` or `oauth-rop` authentication. */ accessTokenUrl?: string; /** * Audience for `oauth-client` or `oauth-rop` authentication. Defaults to `""`. */ audience?: string; /** * Client ID for `oauth-client` or `oauth-rop` authentication. */ clientId?: string; /** * Client secret for `oauth-client` or `oauth-rop` authentication. */ clientSecret?: string; /** * Domain for `ntlm` authentication. */ domain?: string; /** * Password for authentication. */ password?: string; /** * Region for `SIGV4` authentication. */ region?: string; /** * Resource for `oauth-client` or `oauth-rop` authentication. Defaults to `""`. */ resource?: string; /** * Scope for `oauth-client` or `oauth-rop` authentication. Defaults to `""`. */ scope?: string; /** * Secret key for `SIGV4` authentication. */ secretKey?: string; /** * Service name for `SIGV4` authentication. */ serviceName?: string; /** * Session token for `SIGV4` authentication. */ sessionToken?: string; /** * Token API Authentication for `oauth-client` or `oauth-rop` authentication. Valid values are `header`, `body`. */ tokenApiAuthentication?: string; /** * Type of basic authentication to use when performing the test. Defaults to `"web"`. */ type?: string; /** * Username for authentication. */ username?: string; /** * Workstation for `ntlm` authentication. */ workstation?: string; } export interface SyntheticsTestApiStepRequestClientCertificate { cert: outputs.SyntheticsTestApiStepRequestClientCertificateCert; key: outputs.SyntheticsTestApiStepRequestClientCertificateKey; } export interface SyntheticsTestApiStepRequestClientCertificateCert { /** * Content of the certificate. */ content?: string; /** * File name for the certificate. Defaults to `"Provided in Terraform config"`. */ filename?: string; } export interface SyntheticsTestApiStepRequestClientCertificateKey { /** * Content of the certificate. */ content?: string; /** * File name for the certificate. Defaults to `"Provided in Terraform config"`. */ filename?: string; } export interface SyntheticsTestApiStepRequestDefinition { /** * For SSL tests, whether or not the test should allow self signed certificates. */ acceptSelfSigned?: boolean; /** * Allows loading insecure content for a request in an API test or in a multistep API test step. */ allowInsecure?: boolean; /** * The request body. */ body?: string; /** * Type of the request body. Valid values are `text/plain`, `application/json`, `text/xml`, `text/html`, `application/x-www-form-urlencoded`, `graphql`, `application/octet-stream`, `multipart/form-data`. */ bodyType?: string; /** * The type of gRPC call to perform. Valid values are `healthcheck`, `unary`. */ callType?: string; /** * By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in `certificateDomains`. */ certificateDomains?: string[]; /** * For SSL tests, whether or not the test should fail on revoked certificate in stapled OCSP. */ checkCertificateRevocation?: boolean; /** * For Network Path tests, an optional label displayed for the destination host in the Network Path visualization. */ destinationService?: string; /** * For SSL tests, whether or not the test should disable fetching intermediate certificates from AIA */ disableAiaIntermediateFetching?: boolean; /** * DNS server to use for DNS tests (`subtype = "dns"`). */ dnsServer?: string; /** * DNS server port to use for DNS tests. */ dnsServerPort?: string; /** * For Network Path tests, the number of packets sent to probe the destination to measure packet loss, latency, and jitter. */ e2eQueries?: number; /** * Determines whether or not the API HTTP test should follow redirects. */ followRedirects?: boolean; /** * Form data to be sent when `bodyType` is `multipart/form-data`. */ form?: { [key: string]: string; }; /** * Host name to perform the test with. */ host?: string; /** * HTTP version to use for an HTTP request in an API test or step. Valid values are `http1`, `http2`, `any`. Defaults to `"any"`. */ httpVersion?: string; /** * For Websocket tests, whether the message is treated as a base64-encoded string in the server. */ isMessageBase64Encoded?: boolean; /** * For Network Path tests, the maximum time-to-live (max number of hops) used in outgoing probe packets. */ maxTtl?: number; /** * For gRPC, UDP, and Websocket tests, message to send with the request. */ message?: string; /** * Either the HTTP method/verb to use or a gRPC method available on the service set in the `service` field. Required if `subtype` is `HTTP` or if `subtype` is `grpc` and `callType` is `unary`. */ method?: string; /** * Determines whether or not to save the response body. */ noSavingResponseBody?: boolean; /** * Number of pings to use per test for ICMP tests (`subtype = "icmp"`) between 0 and 10. */ numberOfPackets?: number; /** * Persist cookies across redirects. */ persistCookies?: boolean; /** * The content of a proto file as a string. */ plainProtoFile?: string; /** * Port to use when performing the test. */ port?: string; /** * A protobuf JSON descriptor. **Deprecated.** Use `plainProtoFile` instead. * * @deprecated Use `plainProtoFile` instead. */ protoJsonDescriptor?: string; /** * For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number. */ servername?: string; /** * The gRPC service on which you want to perform the gRPC call. */ service?: string; /** * This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (`subtype = "icmp"`). */ shouldTrackHops?: boolean; /** * For Network Path tests, an optional label displayed for the source host in the Network Path visualization */ sourceService?: string; /** * For TCP Network Path tests, the TCP traceroute strategy. */ tcpMethod?: string; /** * Timeout in seconds for the test. */ timeout?: number; /** * For Network Path tests, the number of traceroute path tracings. */ tracerouteQueries?: number; /** * The URL to send the request to. */ url?: string; } export interface SyntheticsTestApiStepRequestFile { /** * Bucket key of the file. */ bucketKey: string; /** * Content of the file. */ content?: string; /** * Encoding of the file content. Must be `base64` when content contains base64-encoded data. */ encoding?: string; /** * Name of the file. */ name: string; /** * Original name of the file. */ originalFileName?: string; /** * Size of the file. */ size: number; /** * Type of the file. */ type: string; } export interface SyntheticsTestApiStepRequestProxy { /** * Header name and value map. */ headers?: { [key: string]: string; }; /** * URL of the proxy to perform the test. */ url: string; } export interface SyntheticsTestApiStepRetry { /** * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `3` for `api` tests, `2` for `browser` and `mobile` tests. Defaults to `0`. */ count?: number; /** * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. */ interval?: number; } export interface SyntheticsTestAssertion { /** * If assertion type is `javascript`, this is the JavaScript code that performs the assertions. */ code?: string; /** * Assertion operator. **Note:** Only some combinations of `type` and `operator` are valid. Refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-an-api-test). Valid values are `contains`, `doesNotContain`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`, `matches`, `doesNotMatch`, `validates`, `isInMoreThan`, `isInLessThan`, `doesNotExist`, `isUndefined`, `validatesJSONPath`, `validatesJSONSchema`, `validatesXPath`, `md5`, `sha1`, `sha256`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`. */ operator?: string; /** * If assertion type is `header` or `grpcMetadata`, this is the header name. For other assertion types, this is an aggregation property: `avg`, `min`, `max`, or `stddev`. */ property?: string; /** * Expected value. **Note:** Depends on the assertion type. Refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-an-api-test). */ target?: string; /** * Expected structure if `operator` is `validatesJSONPath`. Exactly one nested block is allowed with the structure below. */ targetjsonpath?: outputs.SyntheticsTestAssertionTargetjsonpath; /** * Expected structure if `operator` is `validatesJSONSchema`. Exactly one nested block is allowed with the structure below. */ targetjsonschema?: outputs.SyntheticsTestAssertionTargetjsonschema; /** * Expected structure if `operator` is `validatesXPath`. Exactly one nested block is allowed with the structure below. */ targetxpath?: outputs.SyntheticsTestAssertionTargetxpath; /** * Timings scope for response time assertions. Valid values are `all`, `withoutDNS`. */ timingsScope?: string; /** * Type of assertion. **Note:** Only some combinations of `type` and `operator` are valid. For API tests, refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-an-api-test). For Network Path tests, refer to `config.assertions` in the [Datadog API reference](https://docs.datadoghq.com/api/latest/synthetics/#create-a-network-path-test). Valid values are `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `bodyHash`, `javascript`. */ type: string; } export interface SyntheticsTestAssertionTargetjsonpath { /** * The element from the list of results to assert on. Select from `firstElementMatches` (the first element in the list), `everyElementMatches` (every element in the list), `atLeastOneElementMatches` (at least one element in the list), or `serializationMatches` (the serialized value of the list). Defaults to `"firstElementMatches"`. */ elementsoperator?: string; /** * The JSON path to assert. */ jsonpath: string; /** * The specific operator to use on the path. */ operator: string; /** * Expected matching value. */ targetvalue?: string; } export interface SyntheticsTestAssertionTargetjsonschema { /** * The JSON Schema to validate the body against. */ jsonschema: string; /** * The meta schema to use for the JSON Schema. Defaults to `"draft-07"`. */ metaschema?: string; } export interface SyntheticsTestAssertionTargetxpath { /** * The specific operator to use on the path. */ operator: string; /** * Expected matching value. */ targetvalue?: string; /** * The xpath to assert. */ xpath: string; } export interface SyntheticsTestBrowserStep { /** * Determines if the step should be allowed to fail. */ allowFailure?: boolean; /** * Determines whether or not to always execute this step even if the previous step failed or was skipped. */ alwaysExecute?: boolean; /** * Determines whether or not to exit the test if the step succeeds. */ exitIfSucceed?: boolean; /** * Force update of the "element" parameter for the step */ forceElementUpdate?: boolean; /** * Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allowFailure` is `true`. */ isCritical?: boolean; /** * A unique identifier used to track steps after reordering. */ localKey?: string; /** * Name of the step. */ name: string; /** * Prevents saving screenshots of the step. */ noScreenshot?: boolean; /** * Parameters for the step. */ params: outputs.SyntheticsTestBrowserStepParams; /** * The identifier of the step on the backend. */ publicId: string; /** * Used to override the default timeout of a step. */ timeout?: number; /** * Type of the step. Valid values are `assertCurrentUrl`, `assertElementAttribute`, `assertElementContent`, `assertElementPresent`, `assertEmail`, `assertFileDownload`, `assertFromJavascript`, `assertPageContains`, `assertPageLacks`, `assertRequests`, `click`, `extractFromJavascript`, `extractFromEmailBody`, `extractVariable`, `goToEmailLink`, `goToUrl`, `goToUrlAndMeasureTti`, `hover`, `playSubTest`, `pressKey`, `refresh`, `runApiTest`, `scroll`, `selectOption`, `typeText`, `uploadFiles`, `wait`. */ type: string; } export interface SyntheticsTestBrowserStepParams { /** * Whether to append the `value` to existing text input content for a "typeText" step. By default, content is cleared before text input. */ appendToContent?: boolean; /** * Name of the attribute to use for an "assert attribute" step. */ attribute?: string; /** * Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. */ check?: string; /** * Type of click to use for a "click" step. */ clickType?: string; /** * Whether to use `element.click()` for a "click" step. This is a more reliable way to interact with elements but does not emulate a real user interaction. */ clickWithJavascript?: boolean; /** * Javascript code to use for the step. */ code?: string; /** * Delay between each key stroke for a "type test" step. */ delay?: number; /** * Element to use for the step, JSON encoded string. Refer to the examples for a usage example showing the schema. */ element?: string; /** * Custom user selector to use for the step. */ elementUserLocator?: outputs.SyntheticsTestBrowserStepParamsElementUserLocator; /** * Details of the email for an "assert email" step, JSON encoded string. */ email?: string; /** * JSON encoded string used for an "assert download" step. Refer to the examples for a usage example showing the schema. */ file?: string; /** * Details of the files for an "upload files" step, JSON encoded string. Refer to the examples for a usage example showing the schema. */ files?: string; /** * Modifier to use for a "press key" step. */ modifiers?: string[]; /** * Pattern to use for an "extractFromEmailBody" step. */ pattern?: outputs.SyntheticsTestBrowserStepParamsPattern; /** * ID of the tab to play the subtest. */ playingTabId?: string; /** * Request for an API step. */ request?: string; /** * Details of the requests for an "assert request" step, JSON encoded string. Refer to the examples for a usage example showing the schema. */ requests?: string; /** * ID of the Synthetics test to use as subtest. */ subtestPublicId?: string; /** * Value of the step. */ value?: string; /** * Details of the variable to extract. */ variable?: outputs.SyntheticsTestBrowserStepParamsVariable; /** * For "file upload" steps. */ withClick?: boolean; /** * X coordinates for a "scroll step". */ x?: number; /** * Y coordinates for a "scroll step". */ y?: number; } export interface SyntheticsTestBrowserStepParamsElementUserLocator { /** * Defaults to `false`. */ failTestOnCannotLocate?: boolean; value: outputs.SyntheticsTestBrowserStepParamsElementUserLocatorValue; } export interface SyntheticsTestBrowserStepParamsElementUserLocatorValue { /** * Defaults to `"css"`. */ type?: string; value: string; } export interface SyntheticsTestBrowserStepParamsPattern { /** * Type of pattern to use for the step. Valid values are `regex`, `xPath`. */ type?: string; /** * Pattern to use for the step. */ value?: string; } export interface SyntheticsTestBrowserStepParamsVariable { /** * Example of the extracted variable. Defaults to `""`. */ example?: string; /** * Name of the extracted variable. */ name?: string; /** * Whether the value of this variable will be obfuscated in test results. Defaults to `false`. */ secure?: boolean; } export interface SyntheticsTestBrowserVariable { /** * Example for the variable. Defaults to `""`. */ example?: string; /** * ID of the global variable to use. This is actually only used (and required) in the case of using a variable of type `global`. */ id?: string; /** * Name of the variable. */ name: string; /** * Pattern of the variable. Defaults to `""`. */ pattern?: string; /** * Determines whether or not the browser test variable is obfuscated. Can only be used with a browser variable of type `text` */ secure?: boolean; /** * Type of browser test variable. Valid values are `element`, `email`, `global`, `text`. */ type: string; } export interface SyntheticsTestConfigVariable { /** * Example for the variable. This value is not returned by the API when `secure = true`. Avoid drift by only making updates to this value from within Terraform. */ example?: string; /** * When type = `global`, ID of the global variable to use. */ id?: string; /** * Name of the variable. */ name: string; /** * Pattern of the variable. This value is not returned by the API when `secure = true`. Avoid drift by only making updates to this value from within Terraform. */ pattern?: string; /** * Whether the value of this variable will be obfuscated in test results. Defaults to `false`. */ secure?: boolean; /** * Type of test configuration variable. Valid values are `global`, `text`, `email`. */ type: string; } export interface SyntheticsTestMobileOptionsList { allowApplicationCrash?: boolean; /** * Restriction policy bindings for the Synthetic mobile test. Should not be used in parallel with a `datadog.RestrictionPolicy` resource */ bindings?: outputs.SyntheticsTestMobileOptionsListBinding[]; /** * CI/CD options for a Synthetic test. */ ci?: outputs.SyntheticsTestMobileOptionsListCi; defaultStepTimeout?: number; deviceIds: string[]; disableAutoAcceptAlert?: boolean; /** * Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. */ minFailureDuration?: number; mobileApplication: outputs.SyntheticsTestMobileOptionsListMobileApplication; /** * The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. */ monitorName?: string; monitorOptions?: outputs.SyntheticsTestMobileOptionsListMonitorOptions; monitorPriority?: number; /** * Prevents saving screenshots of the steps. */ noScreenshot?: boolean; /** * A list of role identifiers pulled from the Roles API to restrict read and write access. **Deprecated.** This field is no longer supported by the Datadog API. Please use `datadog.RestrictionPolicy` instead. * * @deprecated This field is no longer supported by the Datadog API. Please use `datadog.RestrictionPolicy` instead. */ restrictedRoles?: string[]; retry?: outputs.SyntheticsTestMobileOptionsListRetry; /** * Object containing timeframes and timezone used for advanced scheduling. */ scheduling?: outputs.SyntheticsTestMobileOptionsListScheduling; /** * How often the test should run (in seconds). Valid range is `300-604800` for mobile tests. */ tickEvery: number; verbosity?: number; } export interface SyntheticsTestMobileOptionsListBinding { principals?: string[]; /** * Valid values are `editor`, `viewer`. */ relation?: string; } export interface SyntheticsTestMobileOptionsListCi { /** * Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. */ executionRule: string; } export interface SyntheticsTestMobileOptionsListMobileApplication { applicationId: string; referenceId: string; /** * Valid values are `latest`, `version`. */ referenceType: string; } export interface SyntheticsTestMobileOptionsListMonitorOptions { /** * A message to include with a re-notification. */ escalationMessage?: string; /** * The name of the preset for the notification for the monitor. Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`, `hideQueryAndHandles`, `showOnlySnapshot`, `hideHandlesAndFooter`. */ notificationPresetName?: string; /** * Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. */ renotifyInterval?: number; /** * The number of times a monitor renotifies. It can only be set if `renotifyInterval` is set. */ renotifyOccurrences?: number; } export interface SyntheticsTestMobileOptionsListRetry { /** * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `3` for `api` tests, `2` for `browser` and `mobile` tests. Defaults to `0`. */ count?: number; /** * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. */ interval?: number; } export interface SyntheticsTestMobileOptionsListScheduling { /** * Array containing objects describing the scheduling pattern to apply to each day. */ timeframes: outputs.SyntheticsTestMobileOptionsListSchedulingTimeframe[]; /** * Timezone in which the timeframe is based. */ timezone: string; } export interface SyntheticsTestMobileOptionsListSchedulingTimeframe { /** * Number representing the day of the week */ day: number; /** * The hour of the day on which scheduling starts. */ from: string; /** * The hour of the day on which scheduling ends. */ to: string; } export interface SyntheticsTestMobileStep { /** * A boolean set to allow this step to fail. */ allowFailure?: boolean; /** * A boolean set to determine if the step has a new step element. */ hasNewStepElement?: boolean; /** * A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. */ isCritical?: boolean; /** * The name of the step. */ name: string; /** * A boolean set to not take a screenshot for the step. */ noScreenshot?: boolean; /** * Parameters for the step. */ params: outputs.SyntheticsTestMobileStepParams; /** * The public ID of the step. */ publicId?: string; /** * The time before declaring a step failed. */ timeout?: number; /** * The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. */ type: string; } export interface SyntheticsTestMobileStepParams { /** * Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. */ check?: string; /** * Delay between each key stroke for a "type test" step. */ delay?: number; /** * Valid values are `up`, `down`, `left`, `right`. */ direction?: string; /** * Element to use for the step */ element?: outputs.SyntheticsTestMobileStepParamsElement; enable?: boolean; maxScrolls?: number; positions?: outputs.SyntheticsTestMobileStepParamsPosition[]; /** * ID of the Synthetics test to use as subtest. */ subtestPublicId?: string; /** * Value of the step. */ value?: string; /** * Details of the variable to extract. */ variable?: outputs.SyntheticsTestMobileStepParamsVariable; withEnter?: boolean; /** * X coordinates for a "scroll step". */ x?: number; /** * Y coordinates for a "scroll step". */ y?: number; } export interface SyntheticsTestMobileStepParamsElement { context?: string; /** * Valid values are `native`, `web`. */ contextType?: string; elementDescription?: string; multiLocator?: { [key: string]: string; }; relativePosition?: outputs.SyntheticsTestMobileStepParamsElementRelativePosition; textContent?: string; userLocator?: outputs.SyntheticsTestMobileStepParamsElementUserLocator; viewName?: string; } export interface SyntheticsTestMobileStepParamsElementRelativePosition { x?: number; y?: number; } export interface SyntheticsTestMobileStepParamsElementUserLocator { failTestOnCannotLocate?: boolean; values?: outputs.SyntheticsTestMobileStepParamsElementUserLocatorValue[]; } export interface SyntheticsTestMobileStepParamsElementUserLocatorValue { /** * Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. */ type?: string; value?: string; } export interface SyntheticsTestMobileStepParamsPosition { x?: number; y?: number; } export interface SyntheticsTestMobileStepParamsVariable { /** * Example of the extracted variable. Defaults to `""`. */ example?: string; /** * Name of the extracted variable. */ name: string; } export interface SyntheticsTestOptionsList { /** * For SSL tests, whether or not the test should allow self signed certificates. */ acceptSelfSigned?: boolean; /** * Allows loading insecure content for a request in an API test or in a multistep API test step. */ allowInsecure?: boolean; /** * Blocked URL patterns. Requests made to URLs matching any of the patterns listed here will be blocked. */ blockedRequestPatterns?: string[]; /** * For SSL tests, whether or not the test should fail on revoked certificate in stapled OCSP. */ checkCertificateRevocation?: boolean; /** * CI/CD options for a Synthetic test. */ ci?: outputs.SyntheticsTestOptionsListCi; /** * For SSL tests, whether or not the test should disable fetching intermediate certificates from AIA */ disableAiaIntermediateFetching?: boolean; /** * Disable Cross-Origin Resource Sharing for browser tests. */ disableCors?: boolean; /** * Disable Content Security Policy for browser tests. */ disableCsp?: boolean; /** * Determines whether or not the API HTTP test should follow redirects. */ followRedirects?: boolean; /** * HTTP version to use for an HTTP request in an API test or step. Valid values are `http1`, `http2`, `any`. Defaults to `"any"`. */ httpVersion?: string; /** * Ignore server certificate error for browser tests. */ ignoreServerCertificateError?: boolean; /** * Timeout before declaring the initial step as failed (in seconds) for browser tests. */ initialNavigationTimeout?: number; /** * Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. */ minFailureDuration?: number; /** * Minimum number of locations in failure required to trigger an alert. Defaults to `1`. */ minLocationFailed?: number; /** * The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. */ monitorName?: string; monitorOptions?: outputs.SyntheticsTestOptionsListMonitorOptions; monitorPriority?: number; /** * Prevents saving screenshots of the steps. */ noScreenshot?: boolean; /** * A list of role identifiers pulled from the Roles API to restrict read and write access. **Deprecated.** This field is no longer supported by the Datadog API. Please use `datadog.RestrictionPolicy` instead. * * @deprecated This field is no longer supported by the Datadog API. Please use `datadog.RestrictionPolicy` instead. */ restrictedRoles?: string[]; retry?: outputs.SyntheticsTestOptionsListRetry; /** * The RUM data collection settings for the Synthetic browser test. */ rumSettings?: outputs.SyntheticsTestOptionsListRumSettings; /** * Object containing timeframes and timezone used for advanced scheduling. */ scheduling?: outputs.SyntheticsTestOptionsListScheduling; /** * How often the test should run (in seconds). Valid range is `30-604800` for API tests and `60-604800` for browser tests. */ tickEvery: number; } export interface SyntheticsTestOptionsListCi { /** * Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. */ executionRule?: string; } export interface SyntheticsTestOptionsListMonitorOptions { /** * A message to include with a re-notification. */ escalationMessage?: string; /** * The name of the preset for the notification for the monitor. Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`, `hideQueryAndHandles`, `showOnlySnapshot`, `hideHandlesAndFooter`. */ notificationPresetName?: string; /** * Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. */ renotifyInterval?: number; /** * The number of times a monitor renotifies. It can only be set if `renotifyInterval` is set. */ renotifyOccurrences?: number; } export interface SyntheticsTestOptionsListRetry { /** * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `3` for `api` tests, `2` for `browser` and `mobile` tests. Defaults to `0`. */ count?: number; /** * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. */ interval?: number; } export interface SyntheticsTestOptionsListRumSettings { /** * RUM application ID used to collect RUM data for the browser test. */ applicationId: string; /** * RUM application API key ID used to collect RUM data for the browser test. */ clientTokenId: number; /** * Determines whether RUM data is collected during test runs. */ isEnabled: boolean; } export interface SyntheticsTestOptionsListScheduling { /** * Array containing objects describing the scheduling pattern to apply to each day. */ timeframes: outputs.SyntheticsTestOptionsListSchedulingTimeframe[]; /** * Timezone in which the timeframe is based. */ timezone: string; } export interface SyntheticsTestOptionsListSchedulingTimeframe { /** * Number representing the day of the week */ day: number; /** * The hour of the day on which scheduling starts. */ from: string; /** * The hour of the day on which scheduling ends. */ to: string; } export interface SyntheticsTestRequestBasicauth { /** * Access key for `SIGV4` authentication. */ accessKey?: string; /** * Access token url for `oauth-client` or `oauth-rop` authentication. */ accessTokenUrl?: string; /** * Audience for `oauth-client` or `oauth-rop` authentication. Defaults to `""`. */ audience?: string; /** * Client ID for `oauth-client` or `oauth-rop` authentication. */ clientId?: string; /** * Client secret for `oauth-client` or `oauth-rop` authentication. */ clientSecret?: string; /** * Domain for `ntlm` authentication. */ domain?: string; /** * Password for authentication. */ password?: string; /** * Region for `SIGV4` authentication. */ region?: string; /** * Resource for `oauth-client` or `oauth-rop` authentication. Defaults to `""`. */ resource?: string; /** * Scope for `oauth-client` or `oauth-rop` authentication. Defaults to `""`. */ scope?: string; /** * Secret key for `SIGV4` authentication. */ secretKey?: string; /** * Service name for `SIGV4` authentication. */ serviceName?: string; /** * Session token for `SIGV4` authentication. */ sessionToken?: string; /** * Token API Authentication for `oauth-client` or `oauth-rop` authentication. Valid values are `header`, `body`. */ tokenApiAuthentication?: string; /** * Type of basic authentication to use when performing the test. Defaults to `"web"`. */ type?: string; /** * Username for authentication. */ username?: string; /** * Workstation for `ntlm` authentication. */ workstation?: string; } export interface SyntheticsTestRequestClientCertificate { cert: outputs.SyntheticsTestRequestClientCertificateCert; key: outputs.SyntheticsTestRequestClientCertificateKey; } export interface SyntheticsTestRequestClientCertificateCert { /** * Content of the certificate. */ content?: string; /** * File name for the certificate. Defaults to `"Provided in Terraform config"`. */ filename?: string; } export interface SyntheticsTestRequestClientCertificateKey { /** * Content of the certificate. */ content?: string; /** * File name for the certificate. Defaults to `"Provided in Terraform config"`. */ filename?: string; } export interface SyntheticsTestRequestDefinition { /** * The request body. */ body?: string; /** * Type of the request body. Valid values are `text/plain`, `application/json`, `text/xml`, `text/html`, `application/x-www-form-urlencoded`, `graphql`, `application/octet-stream`, `multipart/form-data`. */ bodyType?: string; /** * The type of gRPC call to perform. Valid values are `healthcheck`, `unary`. */ callType?: string; /** * By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in `certificateDomains`. */ certificateDomains?: string[]; /** * For Network Path tests, an optional label displayed for the destination host in the Network Path visualization. */ destinationService?: string; /** * DNS server to use for DNS tests (`subtype = "dns"`). */ dnsServer?: string; /** * DNS server port to use for DNS tests. */ dnsServerPort?: string; /** * For Network Path tests, the number of packets sent to probe the destination to measure packet loss, latency, and jitter. */ e2eQueries?: number; /** * Form data to be sent when `bodyType` is `multipart/form-data`. */ form?: { [key: string]: string; }; /** * Host name to perform the test with. */ host?: string; /** * HTTP version to use for an HTTP request in an API test or step. **Deprecated.** Use `httpVersion` in the `optionsList` field instead. * * @deprecated Use `httpVersion` in the `optionsList` field instead. */ httpVersion: string; /** * For Websocket tests, whether the message is treated as a base64-encoded string in the server. */ isMessageBase64Encoded?: boolean; /** * For Network Path tests, the maximum time-to-live (max number of hops) used in outgoing probe packets. */ maxTtl?: number; /** * For gRPC, UDP, and Websocket tests, message to send with the request. */ message?: string; /** * Either the HTTP method/verb to use or a gRPC method available on the service set in the `service` field. Required if `subtype` is `HTTP` or if `subtype` is `grpc` and `callType` is `unary`. */ method?: string; /** * Determines whether or not to save the response body. */ noSavingResponseBody?: boolean; /** * Number of pings to use per test for ICMP tests (`subtype = "icmp"`) between 0 and 10. */ numberOfPackets?: number; /** * Persist cookies across redirects. */ persistCookies?: boolean; /** * The content of a proto file as a string. */ plainProtoFile?: string; /** * Port to use when performing the test. */ port?: string; /** * A protobuf JSON descriptor. **Deprecated.** Use `plainProtoFile` instead. * * @deprecated Use `plainProtoFile` instead. */ protoJsonDescriptor?: string; /** * For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number. */ servername?: string; /** * The gRPC service on which you want to perform the gRPC call. */ service?: string; /** * This will turn on a traceroute probe to discover all gateways along the path to the host destination. For ICMP tests (`subtype = "icmp"`). */ shouldTrackHops?: boolean; /** * For Network Path tests, an optional label displayed for the source host in the Network Path visualization */ sourceService?: string; /** * For TCP Network Path tests, the TCP traceroute strategy. */ tcpMethod?: string; /** * Timeout in seconds for the test. */ timeout?: number; /** * For Network Path tests, the number of traceroute path tracings. */ tracerouteQueries?: number; /** * The URL to send the request to. */ url?: string; } export interface SyntheticsTestRequestFile { /** * Bucket key of the file. */ bucketKey: string; /** * Content of the file. */ content?: string; /** * Encoding of the file content. Must be `base64` when content contains base64-encoded data. */ encoding?: string; /** * Name of the file. */ name: string; /** * Original name of the file. */ originalFileName?: string; /** * Size of the file. */ size: number; /** * Type of the file. */ type: string; } export interface SyntheticsTestRequestProxy { /** * Header name and value map. */ headers?: { [key: string]: string; }; /** * URL of the proxy to perform the test. */ url: string; } export interface TagPipelineRulesetRule { /** * Whether the rule is enabled. */ enabled: boolean; /** * The mapping configuration for the rule. */ mapping?: outputs.TagPipelineRulesetRuleMapping; /** * Rule metadata key-value pairs. */ metadata: { [key: string]: string; }; /** * The name of the rule. */ name: string; /** * The query configuration for the rule. */ query?: outputs.TagPipelineRulesetRuleQuery; /** * The reference table configuration for the rule. */ referenceTable?: outputs.TagPipelineRulesetRuleReferenceTable; } export interface TagPipelineRulesetRuleMapping { /** * The destination key for the mapping. */ destinationKey?: string; /** * Whether to apply the mapping only if the destination key doesn't exist. * * @deprecated Use `ifTagExists` instead. This field will be removed in a future release. */ ifNotExists: boolean; /** * Behavior when the tag already exists. Valid values: `append` (append to the existing tag value), `replace` (replace existing tag value), `doNotApply` (never apply if tag already exists). Valid values are `append`, `replace`, `doNotApply`. */ ifTagExists: string; /** * The source keys for the mapping. */ sourceKeys?: string[]; } export interface TagPipelineRulesetRuleQuery { /** * The addition configuration for the query. */ addition?: outputs.TagPipelineRulesetRuleQueryAddition; /** * Whether the query matching is case insensitive. */ caseInsensitivity: boolean; /** * Whether to apply the query only if the key doesn't exist. * * @deprecated Use `ifTagExists` instead. This field will be removed in a future release. */ ifNotExists: boolean; /** * Behavior when the tag already exists. Valid values: `append` (append to the existing tag value), `replace` (replace existing tag value), `doNotApply` (never apply if tag already exists). Valid values are `append`, `replace`, `doNotApply`. */ ifTagExists: string; /** * The query string. */ query?: string; } export interface TagPipelineRulesetRuleQueryAddition { /** * The key to add. */ key?: string; /** * The value to add. */ value?: string; } export interface TagPipelineRulesetRuleReferenceTable { /** * Whether the reference table lookup is case insensitive. */ caseInsensitivity: boolean; /** * The field pairs for the reference table. */ fieldPairs?: outputs.TagPipelineRulesetRuleReferenceTableFieldPair[]; /** * Whether to apply the reference table only if the key doesn't exist. * * @deprecated Use `ifTagExists` instead. This field will be removed in a future release. */ ifNotExists: boolean; /** * Behavior when the tag already exists. Valid values: `append` (append to the existing tag value), `replace` (replace existing tag value), `doNotApply` (never apply if tag already exists). Valid values are `append`, `replace`, `doNotApply`. */ ifTagExists: string; /** * The source keys for the reference table lookup. */ sourceKeys?: string[]; /** * The name of the reference table. */ tableName?: string; } export interface TagPipelineRulesetRuleReferenceTableFieldPair { /** * The input column name. */ inputColumn?: string; /** * The output key name. */ outputKey?: string; } export interface TeamNotificationRuleEmail { /** * Whether to send email notifications to team members when alerts are triggered. */ enabled?: boolean; } export interface TeamNotificationRuleMsTeams { /** * MS Teams connector name used to route notifications to the appropriate channel. */ connectorName?: string; } export interface TeamNotificationRulePagerduty { /** * PagerDuty service name to send incident notifications to. The service name can be found in your PagerDuty service settings. */ serviceName?: string; } export interface TeamNotificationRuleSlack { /** * Slack channel name for notifications (for example, #alerts or #team-notifications). */ channel?: string; /** * Slack workspace name where the channel is located. */ workspace?: string; } export declare namespace aws { interface GetIntegrationLogsServicesAwsLogsService { /** * The id of the AWS log service. */ id: string; /** * The name of the AWS log service. */ label: string; } interface IntegrationAccountAuthConfig { /** * Datadog will use the provided AWS Access Key ID and Secret Access Key to authenticate to your account. */ awsAuthConfigKeys?: outputs.aws.IntegrationAccountAuthConfigAwsAuthConfigKeys; awsAuthConfigRole?: outputs.aws.IntegrationAccountAuthConfigAwsAuthConfigRole; } interface IntegrationAccountAuthConfigAwsAuthConfigKeys { /** * AWS Access Key ID */ accessKeyId?: string; /** * AWS Secret Access Key. This value is write-only; changes made outside of Terraform will not be drift-detected. */ secretAccessKey?: string; } interface IntegrationAccountAuthConfigAwsAuthConfigRole { /** * AWS IAM external ID for associated role. If omitted, one is generated. */ externalId: string; /** * AWS IAM role name. */ roleName?: string; } interface IntegrationAccountAwsRegions { /** * Include all regions. Defaults to `true`. */ includeAll: boolean; /** * Include only these regions. */ includeOnlies?: string[]; } interface IntegrationAccountLogsConfig { /** * Leave empty to omit logs config. */ lambdaForwarder?: outputs.aws.IntegrationAccountLogsConfigLambdaForwarder; } interface IntegrationAccountLogsConfigLambdaForwarder { /** * List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to `[]`. */ lambdas: string[]; /** * Configure log source collection for your Datadog Forwarder Lambda functions. */ logSourceConfig?: outputs.aws.IntegrationAccountLogsConfigLambdaForwarderLogSourceConfig; /** * List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source or [the AWS Logs Integration API](https://docs.datadoghq.com/api/latest/aws-logs-integration/?#get-list-of-aws-log-ready-services) to get allowed values. Defaults to `[]`. */ sources: string[]; } interface IntegrationAccountLogsConfigLambdaForwarderLogSourceConfig { /** * AWS Logs Collection tag filters list. */ tagFilters?: outputs.aws.IntegrationAccountLogsConfigLambdaForwarderLogSourceConfigTagFilter[]; } interface IntegrationAccountLogsConfigLambdaForwarderLogSourceConfigTagFilter { /** * The AWS service for which the tag filters defined in `tags` will be applied. */ source: string; /** * The AWS resource tags to filter on for the service specified by `source`. */ tags: string[]; } interface IntegrationAccountMetricsConfig { /** * Enable EC2 automute for AWS metrics Defaults to `true`. */ automuteEnabled: boolean; /** * Enable CloudWatch alarms collection Defaults to `false`. */ collectCloudwatchAlarms: boolean; /** * Enable custom metrics collection Defaults to `false`. */ collectCustomMetrics: boolean; /** * Enable AWS metrics collection Defaults to `true`. */ enabled: boolean; /** * AWS metrics namespace filters. Defaults to a pre-set `excludeOnly` list if block is empty. */ namespaceFilters?: outputs.aws.IntegrationAccountMetricsConfigNamespaceFilters; /** * AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. */ tagFilters?: outputs.aws.IntegrationAccountMetricsConfigTagFilter[]; } interface IntegrationAccountMetricsConfigNamespaceFilters { /** * Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce", "AWS/Usage"]`. `AWS/SQS`, `AWS/ElasticMapReduce`, and `AWS/Usage` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. */ excludeOnlies: string[]; /** * Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. */ includeOnlies?: string[]; } interface IntegrationAccountMetricsConfigTagFilter { /** * The AWS service for which the tag filters defined in `tags` will be applied. */ namespace: string; /** * The AWS resource tags to filter on for the service specified by `namespace`. Defaults to `[]`. */ tags: string[]; } interface IntegrationAccountResourcesConfig { /** * Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extendedCollection` to be set to `true`. Defaults to `false`. */ cloudSecurityPostureManagementCollection: boolean; /** * Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloudSecurityPostureManagementCollection`. Defaults to `true`. */ extendedCollection: boolean; } interface IntegrationAccountTracesConfig { /** * AWS X-Ray services to collect traces from. Defaults to `includeOnly`. */ xrayServices?: outputs.aws.IntegrationAccountTracesConfigXrayServices; } interface IntegrationAccountTracesConfigXrayServices { /** * Include all services. */ includeAll?: boolean; /** * Include only these services. Defaults to `[]`. */ includeOnlies: string[]; } } export declare namespace azure { interface IntegrationResourceProviderConfig { metricsEnabled: boolean; namespace: string; } } export declare namespace config { interface DefaultTags { /** * [Experimental - Logs Indexes, Logs Pipelines, Monitors Security Monitoring Rules, and Service Level Objectives only] Resource tags to be applied by default across all resources. */ tags?: { [key: string]: string; }; } } export declare namespace gcp { interface IntegrationMonitoredResourceConfig { filters: string[]; type: string; } interface IntegrationStsMetricNamespaceConfig { disabled: boolean; filters: string[]; id: string; } interface IntegrationStsMonitoredResourceConfig { filters: string[]; type: string; } } export declare namespace slack { interface ChannelDisplay { /** * Show the main body of the alert event. Defaults to `true`. */ message?: boolean; /** * Show interactive buttons to mute the alerting monitor. Defaults to `true`. */ muteButtons?: boolean; /** * Show the list of @-handles in the alert event. Defaults to `true`. */ notified?: boolean; /** * Show the alert event's snapshot image. Defaults to `true`. */ snapshot?: boolean; /** * Show the scopes on which the monitor alerted. Defaults to `true`. */ tags?: boolean; } }