@pulumi/wavefront
Version:
A Pulumi package for creating and managing wavefront cloud resources.
195 lines (194 loc) • 7.27 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>;
}