UNPKG

@pulumi/wavefront

Version:

A Pulumi package for creating and managing wavefront cloud resources.

195 lines (194 loc) 7.27 kB
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>; }