@pulumi/wavefront
Version:
A Pulumi package for creating and managing wavefront cloud resources.
195 lines (194 loc) • 6.79 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Provides a Wavefront Dashboard JSON resource. This allows dashboards to be created, updated, and deleted.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as wavefront from "@pulumi/wavefront";
*
* const testDashboardJson = new wavefront.DashboardJson("test_dashboard_json", {dashboardJson: `{
* "acl": {
* "canModify": [
* "group-uuid",
* "role-uuid"
* ],
* "canView": [
* "group-uuid",
* "role-uuid"
* ]
* },
* "name": "Terraform Test Dashboard Json",
* "description": "a",
* "eventFilterType": "BYCHART",
* "eventQuery": "",
* "defaultTimeWindow": "",
* "url": "tftestimport",
* "displayDescription": false,
* "displaySectionTableOfContents": true,
* "displayQueryParameters": false,
* "sections": [
* {
* "name": "section 1",
* "rows": [
* {
* "charts": [
* {
* "name": "chart 1",
* "sources": [
* {
* "name": "source 1",
* "query": "ts()",
* "scatterPlotSource": "Y",
* "querybuilderEnabled": false,
* "sourceDescription": ""
* }
* ],
* "units": "someunit",
* "base": 0,
* "noDefaultEvents": false,
* "interpolatePoints": false,
* "includeObsoleteMetrics": false,
* "description": "This is chart 1, showing something",
* "chartSettings": {
* "type": "markdown-widget",
* "max": 100,
* "expectedDataSpacing": 120,
* "windowing": "full",
* "windowSize": 10,
* "autoColumnTags": false,
* "columnTags": "deprecated",
* "tagMode": "all",
* "numTags": 2,
* "customTags": [
* "tag1",
* "tag2"
* ],
* "groupBySource": true,
* "y1Max": 100,
* "y1Units": "units",
* "y0ScaleSIBy1024": true,
* "y1ScaleSIBy1024": true,
* "y0UnitAutoscaling": true,
* "y1UnitAutoscaling": true,
* "fixedLegendEnabled": true,
* "fixedLegendUseRawStats": true,
* "fixedLegendPosition": "RIGHT",
* "fixedLegendDisplayStats": [
* "stat1",
* "stat2"
* ],
* "fixedLegendFilterSort": "TOP",
* "fixedLegendFilterLimit": 1,
* "fixedLegendFilterField": "CURRENT",
* "plainMarkdownContent": "markdown content"
* },
* "chartAttributes": {
* "dashboardLinks": {
* "*": {
* "variables": {
* "xxx": "xxx"
* },
* "destination": "/dashboards/xxxx"
* }
* }
* },
* "summarization": "MEAN"
* }
* ],
* "heightFactor": 50
* }
* ]
* }
* ],
* "parameterDetails": {
* "param": {
* "hideFromView": false,
* "description": null,
* "allowAll": null,
* "tagKey": null,
* "queryValue": null,
* "dynamicFieldType": null,
* "reverseDynSort": null,
* "parameterType": "SIMPLE",
* "label": "test",
* "defaultValue": "Label",
* "valuesToReadableStrings": {
* "Label": "test"
* },
* "selectedLabel": "Label",
* "value": "test"
* }
* },
* "tags": {
* "customerTags": [
* "terraform"
* ]
* }
* }
* `});
* ```
*
* *
* *Note:
* ** If there are dynamic variables in the Wavefront dashboard json, then these variables must be present in a separate file as mentioned in the section below.
*
* ## Import
*
* Dashboard JSON can be imported by using the `id`, e.g.:
*
* ```sh
* $ pulumi import wavefront:index/dashboardJson:DashboardJson dashboard_json tftestimport
* ```
*/
export declare class DashboardJson extends pulumi.CustomResource {
/**
* Get an existing DashboardJson resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DashboardJsonState, opts?: pulumi.CustomResourceOptions): DashboardJson;
/**
* Returns true if the given object is an instance of DashboardJson. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is DashboardJson;
/**
* See the [Wavefront API Documentation](https://docs.wavefront.com/wavefront_api.html#api-documentation-wavefront-instance)
* for instructions on how to get to your API documentation for more details.
*/
readonly dashboardJson: pulumi.Output<string>;
/**
* Create a DashboardJson resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: DashboardJsonArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DashboardJson resources.
*/
export interface DashboardJsonState {
/**
* See the [Wavefront API Documentation](https://docs.wavefront.com/wavefront_api.html#api-documentation-wavefront-instance)
* for instructions on how to get to your API documentation for more details.
*/
dashboardJson?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a DashboardJson resource.
*/
export interface DashboardJsonArgs {
/**
* See the [Wavefront API Documentation](https://docs.wavefront.com/wavefront_api.html#api-documentation-wavefront-instance)
* for instructions on how to get to your API documentation for more details.
*/
dashboardJson: pulumi.Input<string>;
}