From 473b770668aaf3177c80f0260600c1c25fd49b26 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Tue, 3 Oct 2023 15:22:12 -0700 Subject: [PATCH] Upgrade pulumi-terraform-bridge to v3.61.0 (#220) This PR was generated via `$ upgrade-provider pulumi/pulumi-wavefront --kind=bridge`. --- - Upgrading pulumi-terraform-bridge from v3.59.0 to v3.61.0. --------- Co-authored-by: pulumi-bot --- examples/go.mod | 23 +- examples/go.sum | 54 +- .../schema-embed.json | 1 + provider/go.mod | 8 +- provider/go.sum | 23 +- sdk/dotnet/Config/Config.cs | 2 +- sdk/go.mod | 2 +- sdk/go.sum | 4 +- sdk/python/pulumi_wavefront/_inputs.py | 487 +++- sdk/python/pulumi_wavefront/alert.py | 148 +- sdk/python/pulumi_wavefront/alert_target.py | 112 +- .../cloud_integration_app_dynamics.py | 156 +- .../cloud_integration_aws_external_id.py | 11 +- .../cloud_integration_azure.py | 108 +- .../cloud_integration_azure_activity_log.py | 92 +- .../cloud_integration_cloud_trail.py | 108 +- .../cloud_integration_cloud_watch.py | 116 +- .../pulumi_wavefront/cloud_integration_ec2.py | 84 +- .../pulumi_wavefront/cloud_integration_gcp.py | 92 +- .../cloud_integration_gcp_billing.py | 84 +- .../cloud_integration_new_relic.py | 92 +- .../pulumi_wavefront/config/__init__.pyi | 2 +- sdk/python/pulumi_wavefront/config/vars.py | 2 +- sdk/python/pulumi_wavefront/dashboard.py | 108 +- sdk/python/pulumi_wavefront/dashboard_json.py | 28 +- sdk/python/pulumi_wavefront/derived_metric.py | 60 +- sdk/python/pulumi_wavefront/event.py | 60 +- sdk/python/pulumi_wavefront/external_link.py | 76 +- sdk/python/pulumi_wavefront/get_alert.py | 2 +- sdk/python/pulumi_wavefront/get_alerts.py | 2 +- sdk/python/pulumi_wavefront/get_dashboard.py | 2 +- sdk/python/pulumi_wavefront/get_dashboards.py | 2 +- .../get_default_user_group.py | 20 +- .../pulumi_wavefront/get_derived_metric.py | 2 +- .../pulumi_wavefront/get_derived_metrics.py | 2 +- sdk/python/pulumi_wavefront/get_event.py | 2 +- sdk/python/pulumi_wavefront/get_events.py | 2 +- .../pulumi_wavefront/get_external_link.py | 2 +- .../pulumi_wavefront/get_external_links.py | 2 +- .../get_maintenance_window.py | 2 +- .../get_maintenance_window_all.py | 2 +- .../pulumi_wavefront/get_metrics_policy.py | 11 +- sdk/python/pulumi_wavefront/get_role.py | 2 +- sdk/python/pulumi_wavefront/get_roles.py | 2 +- sdk/python/pulumi_wavefront/get_user.py | 2 +- sdk/python/pulumi_wavefront/get_user_group.py | 2 +- .../pulumi_wavefront/get_user_groups.py | 2 +- sdk/python/pulumi_wavefront/get_users.py | 20 +- .../pulumi_wavefront/ingestion_policy.py | 84 +- .../pulumi_wavefront/maintenance_window.py | 92 +- sdk/python/pulumi_wavefront/metrics_policy.py | 40 +- sdk/python/pulumi_wavefront/outputs.py | 2008 +++++++++++++---- sdk/python/pulumi_wavefront/provider.py | 25 +- sdk/python/pulumi_wavefront/role.py | 52 +- .../pulumi_wavefront/service_account.py | 68 +- sdk/python/pulumi_wavefront/user.py | 52 +- sdk/python/pulumi_wavefront/user_group.py | 36 +- 57 files changed, 3679 insertions(+), 1006 deletions(-) create mode 100644 provider/cmd/pulumi-resource-wavefront/schema-embed.json diff --git a/examples/go.mod b/examples/go.mod index 2b8ce270..62f42e19 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-wavefront/examples go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.77.0 +require github.com/pulumi/pulumi/pkg/v3 v3.86.0 require ( cloud.google.com/go v0.110.4 // indirect @@ -13,7 +13,7 @@ require ( cloud.google.com/go/logging v1.7.0 // indirect cloud.google.com/go/longrunning v0.5.1 // indirect cloud.google.com/go/storage v1.30.1 // indirect - github.com/AlecAivazis/survey/v2 v2.0.5 // indirect + github.com/AlecAivazis/survey/v2 v2.3.7 // indirect github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 // indirect @@ -38,7 +38,8 @@ require ( github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/armon/go-metrics v0.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.44.122 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aws/aws-sdk-go v1.44.298 // indirect github.com/aws/aws-sdk-go-v2 v1.17.3 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3 // indirect github.com/aws/aws-sdk-go-v2/config v1.15.15 // indirect @@ -58,14 +59,19 @@ require ( github.com/aws/aws-sdk-go-v2/service/sso v1.11.13 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.16.10 // indirect github.com/aws/smithy-go v1.13.5 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/blang/semver v3.5.1+incompatible // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.24.2 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect github.com/cheggaaa/pb v1.0.29 // indirect github.com/cloudflare/circl v1.3.3 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect github.com/djherbis/times v1.5.0 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/fatih/color v1.13.0 // indirect @@ -118,9 +124,11 @@ require ( github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.18 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect @@ -131,7 +139,10 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.1 // indirect github.com/natefinch/atomic v1.0.1 // indirect github.com/oklog/run v1.1.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect @@ -143,7 +154,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.77.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.86.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index e1e688ea..ab745422 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -93,8 +93,8 @@ contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waT contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= -github.com/AlecAivazis/survey/v2 v2.0.5 h1:xpZp+Q55wi5C7Iaze+40onHnEkex1jSc34CltJjOoPM= -github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= +github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -192,7 +192,6 @@ github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5 github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -244,6 +243,8 @@ github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6l github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= @@ -253,8 +254,8 @@ github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.122 h1:p6mw01WBaNpbdP2xrisz5tIkcNwzj/HysobNoaAHjgo= -github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.298 h1:5qTxdubgV7PptZJmp/2qDwD2JL187ePL7VOxsSh1i3g= +github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= @@ -304,6 +305,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmc github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -340,6 +343,12 @@ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6 github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY= +github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= @@ -401,6 +410,8 @@ github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4g github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= @@ -548,8 +559,9 @@ github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNE github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -1004,7 +1016,7 @@ github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME= github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= -github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02 h1:AgcIVYPa6XJnU3phs104wLj8l5GEththEw6+F79YsIY= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -1129,7 +1141,6 @@ github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NB github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -1149,6 +1160,8 @@ github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0U github.com/linode/linodego v1.4.0/go.mod h1:PVsRxSlOiJyvG4/scTszpmZDTdgS+to3X6eS8pRrWI8= github.com/linode/linodego v1.8.0/go.mod h1:heqhl91D8QTPVm2k9qZHP78zzbOdTFLXE9NJc3bcc50= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -1184,10 +1197,13 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= @@ -1258,8 +1274,14 @@ github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJ github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b h1:1XF24mVaiu7u+CFywTdcDo2ie1pzzhwjt6RHqzpMU34= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b/go.mod h1:fQuZ0gauxyBcmsdE3ZT4NasjaRdxmbCS0jRHsrWu3Ho= github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.1 h1:UzuTb/+hhlBugQz28rpzey4ZuKcZ03MeKsoG7IJZIxs= +github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -1440,12 +1462,13 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/prometheus v0.35.0/go.mod h1:7HaLx5kEPKJ0GDgbODG0fZgXbQ8K/XjZNJXQmbmgQlY= github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGOON44WyAp4Xqbbk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pulumi/pulumi/pkg/v3 v3.77.0 h1:3jq1wthQhCi1qGKg79v3dMnGv3qH1oOUVF0znFYa00U= -github.com/pulumi/pulumi/pkg/v3 v3.77.0/go.mod h1:tfP1pqYQdM/qcqCxSRapXSzHj2v1ZB9Z1GrG4USznkM= -github.com/pulumi/pulumi/sdk/v3 v3.77.0 h1:yiiFF7jEdfoNz0RuZZL9+goNJPOxw6n4DrYd6od3OF0= -github.com/pulumi/pulumi/sdk/v3 v3.77.0/go.mod h1:FEFictCHoa8CYzKDSc0t9ErrNiaO9n7pChreLQLDH+M= +github.com/pulumi/pulumi/pkg/v3 v3.86.0 h1:G4spuT89ZN8lSxT9WkMF/JaP7n+wu7ubEly7Yy8uza0= +github.com/pulumi/pulumi/pkg/v3 v3.86.0/go.mod h1:Qs55gPhUwM/Dua3VRtHXLLlpY8uEe+llDBIZc+1pvHM= +github.com/pulumi/pulumi/sdk/v3 v3.86.0 h1:Cxg0rGdvMt9GqGvesFTj8+WaO/ihmALYlQf4zm1GzFw= +github.com/pulumi/pulumi/sdk/v3 v3.86.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -1545,7 +1568,6 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1734,7 +1756,6 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1955,7 +1976,6 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/provider/cmd/pulumi-resource-wavefront/schema-embed.json b/provider/cmd/pulumi-resource-wavefront/schema-embed.json new file mode 100644 index 00000000..eb92655d --- /dev/null +++ b/provider/cmd/pulumi-resource-wavefront/schema-embed.json @@ -0,0 +1 @@ +{"name":"wavefront","version":"3.1.0-alpha.1696283994+02dd256f.dirty","description":"A Pulumi package for creating and managing wavefront cloud resources.","keywords":["pulumi","wavefront"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`wavefront` Terraform Provider](https://github.com/vmware/terraform-provider-wavefront).","repository":"https://github.com/pulumi/pulumi-wavefront","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"wavefront":"Wavefront"},"compatibility":"tfbridge20"},"go":{"importBasePath":"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront","generateResourceContainerTypes":true,"generateExtraInputTypes":true},"nodejs":{"packageDescription":"A Pulumi package for creating and managing wavefront cloud resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/vmware/terraform-provider-wavefront)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-wavefront` repo](https://github.com/pulumi/pulumi-wavefront/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-wavefront` repo](https://github.com/vmware/terraform-provider-wavefront/issues).","dependencies":{"@pulumi/pulumi":"^3.0.0"},"devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true},"python":{"requires":{"pulumi":"\u003e=3.0.0,\u003c4.0.0"},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/vmware/terraform-provider-wavefront)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-wavefront` repo](https://github.com/pulumi/pulumi-wavefront/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-wavefront` repo](https://github.com/vmware/terraform-provider-wavefront/issues).","compatibility":"tfbridge20","pyproject":{"enabled":true}}},"config":{"variables":{"address":{"type":"string"},"httpProxy":{"type":"string"},"token":{"type":"string"}},"defaults":["address","token"]},"types":{"wavefront:index/AlertTargetRoute:AlertTargetRoute":{"properties":{"filter":{"type":"object","additionalProperties":{"type":"string"},"description":"(Required) String that filters the route. Space delimited. Currently only allows a single key value pair.\n(e.g. `env prod`)\n"},"method":{"type":"string","description":"The notification method used for notification target. One of `WEBHOOK`, `EMAIL`, `PAGERDUTY`.\n"},"target":{"type":"string","description":"(Required) The endpoint for the alert route. `EMAIL`: email address. `PAGERDUTY`: PagerDuty routing\nkey. `WEBHOOK`: URL endpoint.\n"}},"type":"object","required":["method","target"]},"wavefront:index/CloudIntegrationNewRelicMetricFilter:CloudIntegrationNewRelicMetricFilter":{"properties":{"appName":{"type":"string","description":"The name of a NewRelic App.\n"},"metricFilterRegex":{"type":"string","description":"A regular expression that a metric name must match (case-insensitively) in order to be ingested.\n"}},"type":"object","required":["appName","metricFilterRegex"]},"wavefront:index/DashboardParameterDetail:DashboardParameterDetail":{"properties":{"defaultValue":{"type":"string","description":"The default value of the parameter.\n"},"dynamicFieldType":{"type":"string","description":"For `DYNAMIC` parameter types, the type of the field. Valid options are `SOURCE`,\n`SOURCE_TAG`, `METRIC_NAME`, `TAG_KEY`, and `MATCHING_SOURCE_TAG`.\n"},"hideFromView":{"type":"boolean","description":"If `true` the parameter will only be shown on the edit view of the dashboard.\n"},"label":{"type":"string","description":"The label for the parameter.\n"},"name":{"type":"string","description":"The name of the parameters.\n"},"parameterType":{"type":"string","description":"The type of the parameter. `SIMPLE`, `LIST`, or `DYNAMIC`.\n"},"queryValue":{"type":"string","description":"For `DYNAMIC` parameter types, the query to execute to return values.\n"},"tagKey":{"type":"string","description":"for `TAG_KEY` dynamic field types, the tag key to return.\n"},"valuesToReadableStrings":{"type":"object","additionalProperties":{"type":"string"},"description":"A string-\u003estring map. At least one of the keys must match the value of\n`default_value`.\n"}},"type":"object","required":["defaultValue","hideFromView","label","name","parameterType","valuesToReadableStrings"]},"wavefront:index/DashboardSection:DashboardSection":{"properties":{"name":{"type":"string","description":"Name of this section.\n"},"rows":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardSectionRow:DashboardSectionRow"},"description":"See dashboard section rows.\n"}},"type":"object","required":["name","rows"]},"wavefront:index/DashboardSectionRow:DashboardSectionRow":{"properties":{"charts":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardSectionRowChart:DashboardSectionRowChart"},"description":"Charts in this section. See dashboard chart.\n"}},"type":"object","required":["charts"]},"wavefront:index/DashboardSectionRowChart:DashboardSectionRowChart":{"properties":{"base":{"type":"integer","description":"The base of logarithmic scale charts. Omit or set to 0 for the default linear scale. Usually set to 10 for the traditional logarithmic scale.\n"},"chartAttribute":{"type":"string"},"chartSetting":{"$ref":"#/types/wavefront:index/DashboardSectionRowChartChartSetting:DashboardSectionRowChartChartSetting","description":"Chart settings. See chart settings.\n"},"description":{"type":"string","description":"Description of the chart.\n"},"name":{"type":"string","description":"Name of the source.\n"},"noDefaultEvents":{"type":"boolean","description":"Show events related to the sources included in queries\n"},"sources":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardSectionRowChartSource:DashboardSectionRowChartSource"},"description":"Query expression to plot on the chart. See chart source queries.\n"},"summarization":{"type":"string","description":"Summarization strategy for the chart. MEAN is default. Valid options are, `MEAN`,\n`MEDIAN`, `MIN`, `MAX`, `SUM`, `COUNT`, `LAST`, `FIRST`.\n"},"units":{"type":"string","description":"String to label the units of the chart on the Y-Axis.\n"}},"type":"object","required":["chartSetting","name","sources","summarization","units"]},"wavefront:index/DashboardSectionRowChartChartSetting:DashboardSectionRowChartChartSetting":{"properties":{"autoColumnTags":{"type":"boolean","description":"This setting is deprecated.\n"},"columnTags":{"type":"string","description":"This setting is deprecated.\n"},"customTags":{"type":"array","items":{"type":"string"},"description":"For the tabular view, a list of point tags to display when using the `custom` tag display mode.\n"},"expectedDataSpacing":{"type":"integer","description":"Threshold (in seconds) for time delta between consecutive points in a series\nabove which a dotted line will replace a solid in in line plots. Default is 60.\n"},"fixedLegendDisplayStats":{"type":"array","items":{"type":"string"},"description":"For a chart with a fixed legend, a list of statistics to display in the legend.\n"},"fixedLegendEnabled":{"type":"boolean","description":"Whether to enable a fixed tabular legend adjacent to the chart.\n"},"fixedLegendFilterField":{"type":"string","description":"Statistic to use for determining whether a series is displayed on the fixed legend.\nValid options are `CURRENT`, `MEAN`, `MEDIAN`, `SUM`, `MIN`, `MAX`, and `COUNT`.\n"},"fixedLegendFilterLimit":{"type":"integer","description":"Number of series to include in the fixed legend.\n"},"fixedLegendFilterSort":{"type":"string","description":"Whether to display `TOP` or `BOTTOM` ranked series in a fixed legend. Valid options\nare `TOP`, and `BOTTOM`.\n"},"fixedLegendHideLabel":{"type":"boolean","description":"This setting is deprecated.\n"},"fixedLegendPosition":{"type":"string","description":"Where the fixed legend should be displayed with respect to the chart.\nValid options are `RIGHT`, `TOP`, `LEFT`, `BOTTOM`.\n"},"fixedLegendUseRawStats":{"type":"boolean","description":"If `true`, the legend uses non-summarized stats instead of summarized.\n"},"groupBySource":{"type":"boolean","description":"For the tabular view, whether to group multi metrics into a single row by a common source.\nIf `false`, each source is displayed in its own row. if `true`, multiple metrics for the same host are displayed as different\ncolumns in the same row.\n"},"invertDynamicLegendHoverControl":{"type":"boolean","description":"Whether to disable the display of the floating legend (but\nreenable it when the ctrl-key is pressed).\n"},"lineType":{"type":"string","description":"Plot interpolation type. `linear` is default. Valid options are `linear`, `step-before`,\n`step-after`, `basis`, `cardinal`, and `monotone`.\n"},"max":{"type":"number","description":"Max value of the Y-axis. Set to null or leave blank for auto.\n"},"min":{"type":"number","description":"Min value of the Y-axis. Set to null or leave blank for auto.\n"},"numTags":{"type":"integer","description":"For the tabular view defines how many point tags to display.\n"},"plainMarkdownContent":{"type":"string","description":"The markdown content for a Markdown display, in plain text.\n"},"showHosts":{"type":"boolean","description":"For the tabular view, whether to display sources. Default is `true`.\n"},"showLabels":{"type":"boolean","description":"For the tabular view, whether to display labels. Default is `true`.\n"},"showRawValues":{"type":"boolean","description":"For the tabular view, whether to display raw values. Default is `false`.\n"},"sortValuesDescending":{"type":"boolean","description":"For the tabular view, whether to display values in descending order. Default is `false`.\n"},"sparklineDecimalPrecision":{"type":"integer","description":"For the single stat view, the decimal precision of the displayed number.\n"},"sparklineDisplayColor":{"type":"string","description":"For the single stat view, the color of the displayed text (when not dynamically determined).\nValues should be in `rgba(,,,,)` format.\n"},"sparklineDisplayFontSize":{"type":"string","description":"For the single stat view, the font size of the displayed text, in percent.\n"},"sparklineDisplayHorizontalPosition":{"type":"string","description":"For the single stat view, the horizontal position of the displayed text.\nValid options are `MIDDLE`, `LEFT`, `RIGHT`.\n"},"sparklineDisplayPostfix":{"type":"string","description":"For the single stat view, a string to append to the displayed text.\n"},"sparklineDisplayPrefix":{"type":"string","description":"For the single stat view, a string to add before the displayed text.\n"},"sparklineDisplayValueType":{"type":"string","description":"For the single stat view, where to display the name of the query or the value of the query.\nValid options are `VALUE` or `LABEL`.\n"},"sparklineDisplayVerticalPosition":{"type":"string","description":"This setting is deprecated.\n"},"sparklineFillColor":{"type":"string","description":"For the single stat view, the color of the background fill. Values should be\nin `rgba(,,,,)`.\n"},"sparklineLineColor":{"type":"string","description":"For the single stat view, the color of the line. Values should be in `rgba(,,,,)` format.\n"},"sparklineSize":{"type":"string","description":"For the single stat view, this determines whether the sparkline of the statistic is displayed in the chart.\nValid options are `BACKGROUND`, `BOTTOM`, `NONE`.\n"},"sparklineValueColorMapApplyTo":{"type":"string","description":"For the single stat view, whether to apply dynamic color settings to\nthe displayed `TEXT` or `BACKGROUND`. Valid options are `TEXT` or `BACKGROUND`.\n"},"sparklineValueColorMapColors":{"type":"array","items":{"type":"string"},"description":"For the single stat view, A list of colors that differing query values map to.\nMust contain one more element than `sparkline_value_color_map_values_v2`. Values should be in `rgba(,,,,)`.\n"},"sparklineValueColorMapValues":{"type":"array","items":{"type":"integer"},"description":"This setting is deprecated.\n"},"sparklineValueColorMapValuesV2s":{"type":"array","items":{"type":"number"},"description":"For the single stat view, a list of boundaries for mapping different\nquery values to colors. Must contain one element less than `sparkline_value_color_map_colors`.\n"},"sparklineValueTextMapTexts":{"type":"array","items":{"type":"string"},"description":"For the single stat view, a list of display text values that different query\nvalues map to. Must contain one more element than `sparkline_value_text_map_thresholds`.\n"},"sparklineValueTextMapThresholds":{"type":"array","items":{"type":"number"},"description":"For the single stat view, a list of threshold boundaries for\nmapping different query values to display text. Must contain one element less than `sparkline_value_text_map_text`.\n"},"stackType":{"type":"string","description":"Type of stacked chart (applicable only if chart type is `stacked`). `zero` (default) means\nstacked from y=0. `expand` means normalized from 0 to 1. `wiggle` means minimize weighted changes. `silhouette` means to\ncenter the stream. Valid options are `zero`, `expand`, `wiggle`, `silhouette`, and `bars`.\n"},"tagMode":{"type":"string","description":"For the tabular view, which mode to use to determine which point tags to display.\nValid options are `all`, `top`, or `custom`.\n"},"timeBasedColoring":{"type":"boolean","description":"For x-y scatterplots, whether to color more recent points as darker than older points.\n"},"type":{"type":"string","description":"Chart Type. `line` refers to the Line Plot, `scatter` to the Point Plot, `stacked-area` to\nthe Stacked Area plot, `table` to the Tabular View, `scatterplot-xy` to Scatter Plot, `markdown-widget` to the\nMarkdown display, and `sparkline` to the Single Stat view. Valid options are`line`, `scatterplot`,\n`stacked-area`, `stacked-column`, `table`, `scatterplot-xy`, `markdown-widget`, `sparkline`, `globe`, `nodemap`,\n`top-k`, `status-list`, and `histogram`.\n"},"windowSize":{"type":"integer","description":"Width, in minutes, of the time window to use for `last` windowing.\n"},"windowing":{"type":"string","description":"For the tabular view, whether to use the full time window for the query or the last X minutes.\nValid options are `full` or `last`.\n"},"xmax":{"type":"number","description":"For x-y scatterplots, max value for the X-axis. Set to null for auto.\n"},"xmin":{"type":"number","description":"For x-y scatterplots, min value for the X-axis. Set to null for auto.\n"},"y0ScaleSiBy1024":{"type":"boolean","description":"Whether to scale numerical magnitude labels for left Y-axis by 1024 in the IEC/Binary manner (instead of by 1000 like SI).\n"},"y0UnitAutoscaling":{"type":"boolean","description":"Whether to automatically adjust magnitude labels and units for the left Y-axis to favor smaller magnitudes and larger units.\n"},"y1ScaleSiBy1024":{"type":"boolean","description":"Whether to scale numerical magnitude labels for right Y-axis by 1024 in the IEC/Binary manner (instead of by 1000 like SI).\n"},"y1UnitAutoscaling":{"type":"boolean","description":"Whether to automatically adjust magnitude labels and units for the right Y-axis to favor smaller magnitudes and larger units.\n"},"y1Units":{"type":"string","description":"For plots with multiple Y-axes, units for right side Y-axis.\n"},"y1max":{"type":"number","description":"For plots with multiple Y-axes, max value for the right side Y-axis. Set null for auto.\n"},"y1min":{"type":"number","description":"For plots with multiple Y-axes, min value for the right side Y-axis. Set null for auto.\n"},"ymax":{"type":"number","description":"For x-y scatterplots, max value for the Y-axis. Set to null for auto.\n"},"ymin":{"type":"number","description":"For x-y scatterplots, min value for the Y-axis. Set to null for auto.\n"}},"type":"object","required":["type"]},"wavefront:index/DashboardSectionRowChartSource:DashboardSectionRowChartSource":{"properties":{"disabled":{"type":"boolean","description":"Whether the source is disabled.\n"},"name":{"type":"string","description":"Name of the source.\n"},"query":{"type":"string","description":"Query expression to plot on the chart.\n"},"queryBuilderEnabled":{"type":"boolean","description":"Whether or not this source line should have the query builder enabled.\n"},"scatterPlotSource":{"type":"string","description":"For scatter plots, does this query source the X-axis or the Y-axis, `X`, or `Y`.\n"},"sourceDescription":{"type":"string","description":"A description for the purpose of this source.\n"}},"type":"object","required":["name","query"]},"wavefront:index/IngestionPolicyTag:IngestionPolicyTag":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"wavefront:index/MetricsPolicyPolicyRule:MetricsPolicyPolicyRule":{"properties":{"accessType":{"type":"string","description":"Valid options are `ALLOW` and `BLOCK`.\n","willReplaceOnChanges":true},"accountIds":{"type":"array","items":{"type":"string"},"description":"List of account ids to apply Metrics Policy to. Must have at least one associated account_id, user_group_id, or role_id.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"A detailed description of the Metrics Policy. The description is visible only when you edit the rule.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The unique name identifier for a Metrics Policy. The name is visible on the Metrics Security Policy page.\n","willReplaceOnChanges":true},"prefixes":{"type":"array","items":{"type":"string"},"description":"List of prefixes to match metrics on. You can specify the full metric name or use a wildcard character in metric names, sources, or point tags. The wildcard character alone (*) means all metrics.\n","willReplaceOnChanges":true},"roleIds":{"type":"array","items":{"type":"string"},"description":"List of role ids to apply Metrics Policy to. Must have at least one associated account_id, user_group_id, or role_id.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"$ref":"#/types/wavefront:index/MetricsPolicyPolicyRuleTag:MetricsPolicyPolicyRuleTag"},"description":"List of Key/Value tags to select target metrics for policy.\n","willReplaceOnChanges":true},"tagsAnded":{"type":"boolean","description":"Bool where `true` require all tags are met by selected metrics, else `false` select metrics that match any give tag.\n","willReplaceOnChanges":true},"userGroupIds":{"type":"array","items":{"type":"string"},"description":"List of user group ids to apply Metrics Policy to. Must have at least one associated account_id, user_group_id, or role_id.\n","willReplaceOnChanges":true}},"type":"object","required":["accessType","description","name","prefixes","tagsAnded"]},"wavefront:index/MetricsPolicyPolicyRuleTag:MetricsPolicyPolicyRuleTag":{"properties":{"key":{"type":"string","description":"The tag's key.\n","willReplaceOnChanges":true},"value":{"type":"string","description":"The tag's value.\n","willReplaceOnChanges":true}},"type":"object","required":["key","value"]},"wavefront:index/getAlertFailingHostLabelPair:getAlertFailingHostLabelPair":{"properties":{"firing":{"type":"integer"},"host":{"type":"string"}},"type":"object","required":["firing","host"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getAlertInMaintenanceHostLabelPair:getAlertInMaintenanceHostLabelPair":{"properties":{"firing":{"type":"integer"},"host":{"type":"string"}},"type":"object","required":["firing","host"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getAlertsAlert:getAlertsAlert":{"properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information about this alert.\n"},"alertType":{"type":"string","description":"The type of alert in Wavefront.\n"},"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of users or groups that can modify the alert.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of users or groups that can view the alert.\n"},"condition":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute). The alert fires and notifications are triggered when a data series matching this query evaluates to a non-zero value for a set number of consecutive minutes.\n"},"conditions":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of severity to condition for which this alert will trigger.\n"},"displayExpression":{"type":"string","description":"A second query the results of which are displayed in the alert user interface instead of the condition query.\n"},"evaluateRealtimeData":{"type":"boolean","description":"A Boolean flag to enable real-time evaluation.\n"},"failingHostLabelPairs":{"type":"array","items":{"$ref":"#/types/wavefront:index/getAlertsAlertFailingHostLabelPair:getAlertsAlertFailingHostLabelPair"},"description":"A list of failing host label pairs.\n"},"id":{"type":"string","description":"The ID of the alert in Wavefront.\n"},"inMaintenanceHostLabelPairs":{"type":"array","items":{"$ref":"#/types/wavefront:index/getAlertsAlertInMaintenanceHostLabelPair:getAlertsAlertInMaintenanceHostLabelPair"},"description":"A list of in maintenance host label pairs.\n"},"includeObsoleteMetrics":{"type":"boolean","description":"A Boolean flag indicating whether to include obsolete metrics or not.\n"},"minutes":{"type":"integer","description":"The number of consecutive minutes that a series matching the condition query must evaluate to \"true\" (non-zero value) before the alert fires.\n"},"name":{"type":"string","description":"The name of the alert as it is displayed in Wavefront.\n"},"notificationResendFrequencyMinutes":{"type":"integer","description":"How often to re-trigger a continually failing alert.\n"},"processRateMinutes":{"type":"integer","description":"The specified query is executed every `process_rate_minutes` minutes.\n"},"resolveAfterMinutes":{"type":"integer","description":"The number of consecutive minutes that a firing series matching the condition query must evaluate to \"false\" (zero value) before the alert resolves.\n"},"severity":{"type":"string","description":"The severity of the alert.\n"},"severityLists":{"type":"array","items":{"type":"string"}},"statuses":{"type":"array","items":{"type":"string"},"description":"The status of the alert.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags assigned to the alert.\n"},"target":{"type":"string","description":"An email address or integration endpoint (such as PagerDuty or webhook) to notify when the alert status changes.\n"},"targets":{"type":"object","additionalProperties":{"type":"string"},"description":"A comma-separated list of the email addresses or integration endpoints (such as PagerDuty or webhook) to notify when the alert status changes. Multiple target types can be in the list.\n"}},"type":"object","required":["additionalInformation","alertType","canModifies","canViews","condition","conditions","displayExpression","evaluateRealtimeData","failingHostLabelPairs","id","inMaintenanceHostLabelPairs","includeObsoleteMetrics","minutes","name","notificationResendFrequencyMinutes","processRateMinutes","resolveAfterMinutes","severity","severityLists","statuses","tags","target"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getAlertsAlertFailingHostLabelPair:getAlertsAlertFailingHostLabelPair":{"properties":{"firing":{"type":"integer"},"host":{"type":"string"}},"type":"object","required":["firing","host"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getAlertsAlertInMaintenanceHostLabelPair:getAlertsAlertInMaintenanceHostLabelPair":{"properties":{"firing":{"type":"integer"},"host":{"type":"string"}},"type":"object","required":["firing","host"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardParameterDetail:getDashboardParameterDetail":{"properties":{"defaultValue":{"type":"string","description":"The default value of the parameter.\n"},"dynamicFieldType":{"type":"string","description":"For `DYNAMIC` parameter types, the type of the field. Valid options are `SOURCE`,\n`SOURCE_TAG`, `METRIC_NAME`, `TAG_KEY`, and `MATCHING_SOURCE_TAG`.\n"},"hideFromView":{"type":"boolean","description":"If `true` the parameter will only be shown on the edit view of the dashboard.\n"},"label":{"type":"string","description":"The label for the parameter.\n"},"parameterType":{"type":"string","description":"The type of the parameter. `SIMPLE`, `LIST`, or `DYNAMIC`.\n"},"queryValue":{"type":"string","description":"For `DYNAMIC` parameter types, the query to execute to return values.\n"},"tagKey":{"type":"string","description":"For `TAG_KEY` dynamic field types, the tag key to return.\n"},"valuesToReadableStrings":{"type":"object","additionalProperties":{"type":"string"},"description":"A string to string map. At least one of the keys must match the value of\n`default_value`.\n"}},"type":"object","required":["defaultValue","dynamicFieldType","hideFromView","label","parameterType","queryValue","tagKey","valuesToReadableStrings"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardSection:getDashboardSection":{"properties":{"name":{"type":"string","description":"The name of the parameters.\n"},"rows":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardSectionRow:getDashboardSectionRow"}}},"type":"object","required":["name","rows"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardSectionRow:getDashboardSectionRow":{"properties":{"charts":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardSectionRowChart:getDashboardSectionRowChart"}},"heightFactor":{"type":"integer"},"name":{"type":"string","description":"The name of the parameters.\n"}},"type":"object","required":["charts","heightFactor","name"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardSectionRowChart:getDashboardSectionRowChart":{"properties":{"base":{"type":"integer","description":"The base of logarithmic scale charts. Omit or set to 0 for the default linear scale. Usually set to 10 for the traditional logarithmic scale.\n"},"chartAttributes":{"type":"string"},"chartSettings":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardSectionRowChartChartSetting:getDashboardSectionRowChartChartSetting"}},"description":{"type":"string","description":"Description of the chart.\n"},"includeObsoleteMetrics":{"type":"boolean"},"interpolatePointsKey":{"type":"boolean"},"name":{"type":"string","description":"The name of the parameters.\n"},"noDefaultEvents":{"type":"boolean"},"sources":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardSectionRowChartSource:getDashboardSectionRowChartSource"}},"summarization":{"type":"string","description":"Summarization strategy for the chart. MEAN is default.\n"},"units":{"type":"string","description":"String to label the units of the chart on the Y-Axis.\n"}},"type":"object","required":["base","chartAttributes","chartSettings","description","includeObsoleteMetrics","interpolatePointsKey","name","noDefaultEvents","sources","summarization","units"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardSectionRowChartChartSetting:getDashboardSectionRowChartChartSetting":{"properties":{"autoColumnTags":{"type":"boolean","description":"This setting is deprecated.\n"},"columnTags":{"type":"string","description":"This setting is deprecated.\n"},"customTags":{"type":"array","items":{"type":"string"},"description":"For the tabular view, a list of point tags to display when using the `custom` tag display mode.\n"},"expectedDataSpacing":{"type":"integer","description":"Threshold (in seconds) for time delta between consecutive points in a series above which a dotted line will replace a solid in line plots. Default is 60.\n"},"fixedLegendDisplayStats":{"type":"array","items":{"type":"string"},"description":"(Optional) For a chart with a fixed legend, a list of statistics to display in the legend.\n"},"fixedLegendEnabled":{"type":"boolean","description":"(Optional) Whether to enable a fixed tabular legend adjacent to the chart.\n"},"fixedLegendFilterField":{"type":"string","description":"(Optional) Statistic to use for determining whether a series is displayed on the fixed legend. Valid options are `CURRENT`, `MEAN`, `MEDIAN`, `SUM`, `MIN`, `MAX`, and `COUNT`.\n"},"fixedLegendFilterLimit":{"type":"integer","description":"(Optional) Number of series to include in the fixed legend.\n"},"fixedLegendFilterSort":{"type":"string","description":"(Optional) Whether to display `TOP` or `BOTTOM` ranked series in a fixed legend. Valid options are `TOP`, and `BOTTOM`.\n"},"fixedLegendHideLabel":{"type":"boolean","description":"(Optional) This setting is deprecated.\n"},"fixedLegendPosition":{"type":"string","description":"(Optional) Where the fixed legend should be displayed with respect to the chart. Valid options are `RIGHT`, `TOP`, `LEFT`, `BOTTOM`.\n"},"fixedLegendUseRawStats":{"type":"boolean","description":"(Optional) If `true`, the legend uses non-summarized stats instead of summarized.\n"},"groupBySource":{"type":"boolean","description":"For the tabular view, whether to group multi metrics into a single row by a common source. If set to `false`, each source is displayed in its own row. If set to `true`, multiple metrics for the same host are displayed as different columns in the same row.\n"},"invertDynamicLegendHoverControl":{"type":"boolean","description":"(Optional) Whether to disable the display of the floating legend (but reenable it when the ctrl-key is pressed).\n"},"lineType":{"type":"string","description":"Plot interpolation type. `linear` is default. Valid options are `linear`, `step-before`, `step-after`, `basis`, `cardinal`, and `monotone`.\n"},"max":{"type":"number","description":"Max value of the Y-axis. Set to null or leave blank for auto.\n"},"min":{"type":"number","description":"Min value of the Y-axis. Set to null or leave blank for auto.\n"},"numTags":{"type":"integer","description":"For the tabular view defines how many point tags to display.\n"},"plainMarkdownContent":{"type":"string","description":"The markdown content for a Markdown display, in plain text.\n"},"showHosts":{"type":"boolean","description":"For the tabular view, whether to display sources. Default is `true`.\n"},"showLabels":{"type":"boolean","description":"For the tabular view, whether to display labels. Default is `true`.\n"},"showRawValues":{"type":"boolean","description":"For the tabular view, whether to display raw values. Default is `false`.\n"},"sortValuesDescending":{"type":"boolean","description":"For the tabular view, whether to display values in descending order. Default is `false`.\n"},"sparklineDecimalPrecision":{"type":"integer","description":"For the single stat view, the decimal precision of the displayed number.\n"},"sparklineDisplayColor":{"type":"string","description":"For the single stat view, the color of the displayed text (when not dynamically determined). Values should be in RGBA format.\n"},"sparklineDisplayFontSize":{"type":"string","description":"For the single stat view, the font size of the displayed text, in percent.\n"},"sparklineDisplayHorizontalPosition":{"type":"string","description":"For the single stat view, the horizontal position of the displayed text. Valid options are `MIDDLE`, `LEFT`, `RIGHT`.\n"},"sparklineDisplayPostfix":{"type":"string","description":"For the single stat view, a string to append to the displayed text.\n"},"sparklineDisplayPrefix":{"type":"string","description":"For the single stat view, a string to add before the displayed text.\n"},"sparklineDisplayValueType":{"type":"string","description":"For the single stat view, where to display the name of the query or the value of the query. Valid options are `VALUE` or `LABEL`.\n"},"sparklineDisplayVerticalPosition":{"type":"string","description":"This setting is deprecated.\n"},"sparklineFillColor":{"type":"string","description":"For the single stat view, the color of the background fill. Values should be in RGBA format.\n"},"sparklineLineColor":{"type":"string","description":"For the single stat view, the color of the line. Values should be in RGBA format.\n"},"sparklineSize":{"type":"string","description":"For the single stat view, this determines whether the sparkline of the statistic is displayed in the chart. Valid options are `BACKGROUND`, `BOTTOM`, `NONE`.\n"},"sparklineValueColorMapApplyTo":{"type":"string","description":"For the single stat view, whether to apply dynamic color settings to the displayed `TEXT` or `BACKGROUND`. Valid options are `TEXT` or `BACKGROUND`.\n"},"sparklineValueColorMapColors":{"type":"array","items":{"type":"string"},"description":"For the single stat view, a list of colors that differing query values map to. Must contain one more element than `sparkline_value_color_map_values_v2`. Values should be in RGBA format.\n"},"sparklineValueColorMapValues":{"type":"array","items":{"type":"integer"},"description":"This setting is deprecated.\n"},"sparklineValueColorMapValuesV2s":{"type":"array","items":{"type":"number"},"description":"For the single stat view, a list of boundaries for mapping different query values to colors. Must contain one element less than `sparkline_value_color_map_colors`.\n"},"sparklineValueTextMapTexts":{"type":"array","items":{"type":"string"},"description":"For the single stat view, a list of display text values that different query values map to. Must contain one more element than `sparkline_value_text_map_thresholds`.\n"},"sparklineValueTextMapThresholds":{"type":"array","items":{"type":"number"},"description":"For the single stat view, a list of threshold boundaries for mapping different query values to display text. Must contain one element less than `sparkline_value_text_map_text`.\n"},"stackType":{"type":"string","description":"Type of stacked chart (applicable only if chart type is `stacked`). `zero` (default) means stacked from y=0. `expand` means normalized from 0 to 1. `wiggle` means minimize weighted changes. `silhouette` means to center the stream. Valid options are `zero`, `expand`, `wiggle`, `silhouette`, and `bars`.\n"},"tagMode":{"type":"string","description":"For the tabular view, which mode to use to determine which point tags to display. Valid options are `all`, `top`, or `custom`.\n"},"timeBasedColoring":{"type":"boolean","description":"For x-y scatterplots, whether to color more recent points as darker than older points.\n"},"type":{"type":"string","description":"Chart Type. `line` refers to the Line Plot, `scatter` to the Point Plot, `stacked-area` to the Stacked Area plot, `table` to the Tabular View, `scatterplot-xy` to Scatter Plot, `markdown-widget` to the Markdown display, and `sparkline` to the Single Stat view. Valid options are`line`, `scatterplot`,\n`stacked-area`, `stacked-column`, `table`, `scatterplot-xy`, `markdown-widget`, `sparkline`, `globe`, `nodemap`, `top-k`, `status-list`, and `histogram`.\n"},"windowSize":{"type":"integer","description":"Width, in minutes, of the time window to use for `last` windowing.\n"},"windowing":{"type":"string","description":"For the tabular view, whether to use the full time window for the query or the last X minutes. Valid options are `full` or `last`.\n"},"xmax":{"type":"number","description":"For x-y scatterplots, max value for the X-axis. Set to null for auto.\n"},"xmin":{"type":"number","description":"For x-y scatterplots, min value for the X-axis. Set to null for auto.\n"},"y0ScaleSiBy1024":{"type":"boolean"},"y0UnitAutoscaling":{"type":"boolean","description":"(Optional) Whether to automatically adjust magnitude labels and units for the left Y-axis to favor smaller magnitudes and larger units.\n"},"y1Max":{"type":"number"},"y1Min":{"type":"number"},"y1ScaleSiBy1024":{"type":"boolean"},"y1UnitAutoscaling":{"type":"boolean","description":"(Optional) Whether to automatically adjust magnitude labels and units for the right Y-axis to favor smaller magnitudes and larger units.\n"},"y1Units":{"type":"string","description":"For plots with multiple Y-axes, units for right side Y-axis.\n"},"ymax":{"type":"number","description":"For x-y scatterplots, max value for the Y-axis. Set to null for auto.\n"},"ymin":{"type":"number","description":"For x-y scatterplots, min value for the Y-axis. Set to null for auto.\n"}},"type":"object","required":["autoColumnTags","columnTags","customTags","expectedDataSpacing","fixedLegendDisplayStats","fixedLegendEnabled","fixedLegendFilterField","fixedLegendFilterLimit","fixedLegendFilterSort","fixedLegendHideLabel","fixedLegendPosition","fixedLegendUseRawStats","groupBySource","invertDynamicLegendHoverControl","lineType","max","min","numTags","plainMarkdownContent","showHosts","showLabels","showRawValues","sortValuesDescending","sparklineDecimalPrecision","sparklineDisplayColor","sparklineDisplayFontSize","sparklineDisplayHorizontalPosition","sparklineDisplayPostfix","sparklineDisplayPrefix","sparklineDisplayValueType","sparklineDisplayVerticalPosition","sparklineFillColor","sparklineLineColor","sparklineSize","sparklineValueColorMapApplyTo","sparklineValueColorMapColors","sparklineValueColorMapValues","sparklineValueColorMapValuesV2s","sparklineValueTextMapTexts","sparklineValueTextMapThresholds","stackType","tagMode","timeBasedColoring","type","windowSize","windowing","xmax","xmin","y0ScaleSiBy1024","y0UnitAutoscaling","y1Max","y1Min","y1ScaleSiBy1024","y1UnitAutoscaling","y1Units","ymax","ymin"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardSectionRowChartSource:getDashboardSectionRowChartSource":{"properties":{"disabled":{"type":"boolean","description":"Whether the source is disabled.\n"},"name":{"type":"string","description":"The name of the parameters.\n"},"query":{"type":"string","description":"Query expression to plot on the chart.\n"},"querybuilderEnabled":{"type":"boolean"},"scatterPlotSource":{"type":"string","description":"For scatter plots, does this query source the X-axis or the Y-axis, `X`, or `Y`.\n"},"secondaryAxis":{"type":"boolean"},"sourceColor":{"type":"string"},"sourceDescription":{"type":"string","description":"A description for the purpose of this source.\n"}},"type":"object","required":["disabled","name","query","querybuilderEnabled","scatterPlotSource","secondaryAxis","sourceColor","sourceDescription"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardsDashboard:getDashboardsDashboard":{"properties":{"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of users that have modify ACL access to the dashboard.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of users that have view ACL access to the dashboard.\n"},"chartTitleBgColor":{"type":"string"},"chartTitleColor":{"type":"string"},"chartTitleScalar":{"type":"integer"},"createdEpochMillis":{"type":"integer"},"creatorId":{"type":"string"},"customer":{"type":"string"},"defaultEndTime":{"type":"integer"},"defaultStartTime":{"type":"integer"},"defaultTimeWindow":{"type":"string"},"deleted":{"type":"boolean"},"description":{"type":"string","description":"Description of the chart.\n"},"displayDescription":{"type":"boolean"},"displayQueryParameters":{"type":"boolean","description":"Whether the dashboard parameters section is opened by default when the dashboard is shown.\n"},"displaySectionTableOfContents":{"type":"boolean","description":"Whether the \"pills\" quick-linked the sections of the dashboard are displayed by default when the dashboard is shown.\n"},"eventFilterType":{"type":"string","description":"How charts belonging to this dashboard should display events. `BYCHART` is default if\nunspecified. Valid options are: `BYCHART`, `AUTOMATIC`, `ALL`, `NONE`, `BYDASHBOARD`, and `BYCHARTANDDASHBOARD`.\n"},"eventQuery":{"type":"string"},"favorite":{"type":"boolean"},"hidden":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the parameters.\n"},"numCharts":{"type":"integer"},"numFavorites":{"type":"integer"},"parameterDetails":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardsDashboardParameterDetail:getDashboardsDashboardParameterDetail"},"description":"The current JSON representation of dashboard parameters. See parameter details.\n"},"parameters":{"type":"object","additionalProperties":{"$ref":"pulumi.json#/Any"}},"sections":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardsDashboardSection:getDashboardsDashboardSection"}},"systemOwned":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"updatedEpochMillis":{"type":"integer"},"updaterId":{"type":"string"},"url":{"type":"string","description":"Unique identifier, also a URL slug of the dashboard.\n"},"viewsLastDay":{"type":"integer"},"viewsLastMonth":{"type":"integer"},"viewsLastWeek":{"type":"integer"}},"type":"object","required":["canModifies","canViews","chartTitleBgColor","chartTitleColor","chartTitleScalar","createdEpochMillis","creatorId","customer","defaultEndTime","defaultStartTime","defaultTimeWindow","deleted","description","displayDescription","displayQueryParameters","displaySectionTableOfContents","eventFilterType","eventQuery","favorite","hidden","id","name","numCharts","numFavorites","parameterDetails","parameters","sections","systemOwned","tags","updatedEpochMillis","updaterId","url","viewsLastDay","viewsLastMonth","viewsLastWeek"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardsDashboardParameterDetail:getDashboardsDashboardParameterDetail":{"properties":{"defaultValue":{"type":"string","description":"The default value of the parameter.\n"},"dynamicFieldType":{"type":"string","description":"For `DYNAMIC` parameter types, the type of the field. Valid options are `SOURCE`,\n`SOURCE_TAG`, `METRIC_NAME`, `TAG_KEY`, and `MATCHING_SOURCE_TAG`.\n"},"hideFromView":{"type":"boolean","description":"If `true` the parameter will only be shown on the edit view of the dashboard.\n"},"label":{"type":"string","description":"The label for the parameter.\n"},"parameterType":{"type":"string","description":"The type of the parameter. `SIMPLE`, `LIST`, or `DYNAMIC`.\n"},"queryValue":{"type":"string","description":"For `DYNAMIC` parameter types, the query to execute to return values.\n"},"tagKey":{"type":"string","description":"For `TAG_KEY` dynamic field types, the tag key to return.\n"},"valuesToReadableStrings":{"type":"object","additionalProperties":{"type":"string"},"description":"A string to string map. At least one of the keys must match the value of\n`default_value`.\n"}},"type":"object","required":["defaultValue","dynamicFieldType","hideFromView","label","parameterType","queryValue","tagKey","valuesToReadableStrings"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardsDashboardSection:getDashboardsDashboardSection":{"properties":{"name":{"type":"string","description":"The name of the parameters.\n"},"rows":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardsDashboardSectionRow:getDashboardsDashboardSectionRow"}}},"type":"object","required":["name","rows"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardsDashboardSectionRow:getDashboardsDashboardSectionRow":{"properties":{"charts":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardsDashboardSectionRowChart:getDashboardsDashboardSectionRowChart"}},"heightFactor":{"type":"integer"},"name":{"type":"string","description":"The name of the parameters.\n"}},"type":"object","required":["charts","heightFactor","name"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardsDashboardSectionRowChart:getDashboardsDashboardSectionRowChart":{"properties":{"base":{"type":"integer","description":"The base of logarithmic scale charts. Omit or set to 0 for the default linear scale. Usually set to 10 for the traditional logarithmic scale.\n"},"chartAttributes":{"type":"string"},"chartSettings":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardsDashboardSectionRowChartChartSetting:getDashboardsDashboardSectionRowChartChartSetting"}},"description":{"type":"string","description":"Description of the chart.\n"},"includeObsoleteMetrics":{"type":"boolean"},"interpolatePointsKey":{"type":"boolean"},"name":{"type":"string","description":"The name of the parameters.\n"},"noDefaultEvents":{"type":"boolean"},"sources":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardsDashboardSectionRowChartSource:getDashboardsDashboardSectionRowChartSource"}},"summarization":{"type":"string","description":"Summarization strategy for the chart. MEAN is default.\n"},"units":{"type":"string","description":"String to label the units of the chart on the Y-Axis.\n"}},"type":"object","required":["base","chartAttributes","chartSettings","description","includeObsoleteMetrics","interpolatePointsKey","name","noDefaultEvents","sources","summarization","units"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardsDashboardSectionRowChartChartSetting:getDashboardsDashboardSectionRowChartChartSetting":{"properties":{"autoColumnTags":{"type":"boolean","description":"This setting is deprecated.\n"},"columnTags":{"type":"string","description":"This setting is deprecated.\n"},"customTags":{"type":"array","items":{"type":"string"},"description":"For the tabular view, a list of point tags to display when using the `custom` tag display mode.\n"},"expectedDataSpacing":{"type":"integer","description":"Threshold (in seconds) for time delta between consecutive points in a series above which a dotted line will replace a solid in line plots. Default is 60.\n"},"fixedLegendDisplayStats":{"type":"array","items":{"type":"string"},"description":"(Optional) For a chart with a fixed legend, a list of statistics to display in the legend.\n"},"fixedLegendEnabled":{"type":"boolean","description":"(Optional) Whether to enable a fixed tabular legend adjacent to the chart.\n"},"fixedLegendFilterField":{"type":"string","description":"(Optional) Statistic to use for determining whether a series is displayed on the fixed legend. Valid options are `CURRENT`, `MEAN`, `MEDIAN`, `SUM`, `MIN`, `MAX`, and `COUNT`.\n"},"fixedLegendFilterLimit":{"type":"integer","description":"(Optional) Number of series to include in the fixed legend.\n"},"fixedLegendFilterSort":{"type":"string","description":"(Optional) Whether to display `TOP` or `BOTTOM` ranked series in a fixed legend. Valid options are `TOP`, and `BOTTOM`.\n"},"fixedLegendHideLabel":{"type":"boolean","description":"(Optional) This setting is deprecated.\n"},"fixedLegendPosition":{"type":"string","description":"(Optional) Where the fixed legend should be displayed with respect to the chart. Valid options are `RIGHT`, `TOP`, `LEFT`, `BOTTOM`.\n"},"fixedLegendUseRawStats":{"type":"boolean","description":"(Optional) If `true`, the legend uses non-summarized stats instead of summarized.\n"},"groupBySource":{"type":"boolean","description":"For the tabular view, whether to group multi metrics into a single row by a common source. If set to `false`, each source is displayed in its own row. If set to `true`, multiple metrics for the same host are displayed as different columns in the same row.\n"},"invertDynamicLegendHoverControl":{"type":"boolean","description":"(Optional) Whether to disable the display of the floating legend (but reenable it when the ctrl-key is pressed).\n"},"lineType":{"type":"string","description":"Plot interpolation type. `linear` is default. Valid options are `linear`, `step-before`, `step-after`, `basis`, `cardinal`, and `monotone`.\n"},"max":{"type":"number","description":"Max value of the Y-axis. Set to null or leave blank for auto.\n"},"min":{"type":"number","description":"Min value of the Y-axis. Set to null or leave blank for auto.\n"},"numTags":{"type":"integer","description":"For the tabular view defines how many point tags to display.\n"},"plainMarkdownContent":{"type":"string","description":"The markdown content for a Markdown display, in plain text.\n"},"showHosts":{"type":"boolean","description":"For the tabular view, whether to display sources. Default is `true`.\n"},"showLabels":{"type":"boolean","description":"For the tabular view, whether to display labels. Default is `true`.\n"},"showRawValues":{"type":"boolean","description":"For the tabular view, whether to display raw values. Default is `false`.\n"},"sortValuesDescending":{"type":"boolean","description":"For the tabular view, whether to display values in descending order. Default is `false`.\n"},"sparklineDecimalPrecision":{"type":"integer","description":"For the single stat view, the decimal precision of the displayed number.\n"},"sparklineDisplayColor":{"type":"string","description":"For the single stat view, the color of the displayed text (when not dynamically determined). Values should be in RGBA format.\n"},"sparklineDisplayFontSize":{"type":"string","description":"For the single stat view, the font size of the displayed text, in percent.\n"},"sparklineDisplayHorizontalPosition":{"type":"string","description":"For the single stat view, the horizontal position of the displayed text. Valid options are `MIDDLE`, `LEFT`, `RIGHT`.\n"},"sparklineDisplayPostfix":{"type":"string","description":"For the single stat view, a string to append to the displayed text.\n"},"sparklineDisplayPrefix":{"type":"string","description":"For the single stat view, a string to add before the displayed text.\n"},"sparklineDisplayValueType":{"type":"string","description":"For the single stat view, where to display the name of the query or the value of the query. Valid options are `VALUE` or `LABEL`.\n"},"sparklineDisplayVerticalPosition":{"type":"string","description":"This setting is deprecated.\n"},"sparklineFillColor":{"type":"string","description":"For the single stat view, the color of the background fill. Values should be in RGBA format.\n"},"sparklineLineColor":{"type":"string","description":"For the single stat view, the color of the line. Values should be in RGBA format.\n"},"sparklineSize":{"type":"string","description":"For the single stat view, this determines whether the sparkline of the statistic is displayed in the chart. Valid options are `BACKGROUND`, `BOTTOM`, `NONE`.\n"},"sparklineValueColorMapApplyTo":{"type":"string","description":"For the single stat view, whether to apply dynamic color settings to the displayed `TEXT` or `BACKGROUND`. Valid options are `TEXT` or `BACKGROUND`.\n"},"sparklineValueColorMapColors":{"type":"array","items":{"type":"string"},"description":"For the single stat view, a list of colors that differing query values map to. Must contain one more element than `sparkline_value_color_map_values_v2`. Values should be in RGBA format.\n"},"sparklineValueColorMapValues":{"type":"array","items":{"type":"integer"},"description":"This setting is deprecated.\n"},"sparklineValueColorMapValuesV2s":{"type":"array","items":{"type":"number"},"description":"For the single stat view, a list of boundaries for mapping different query values to colors. Must contain one element less than `sparkline_value_color_map_colors`.\n"},"sparklineValueTextMapTexts":{"type":"array","items":{"type":"string"},"description":"For the single stat view, a list of display text values that different query values map to. Must contain one more element than `sparkline_value_text_map_thresholds`.\n"},"sparklineValueTextMapThresholds":{"type":"array","items":{"type":"number"},"description":"For the single stat view, a list of threshold boundaries for mapping different query values to display text. Must contain one element less than `sparkline_value_text_map_text`.\n"},"stackType":{"type":"string","description":"Type of stacked chart (applicable only if chart type is `stacked`). `zero` (default) means stacked from y=0. `expand` means normalized from 0 to 1. `wiggle` means minimize weighted changes. `silhouette` means to center the stream. Valid options are `zero`, `expand`, `wiggle`, `silhouette`, and `bars`.\n"},"tagMode":{"type":"string","description":"For the tabular view, which mode to use to determine which point tags to display. Valid options are `all`, `top`, or `custom`.\n"},"timeBasedColoring":{"type":"boolean","description":"For x-y scatterplots, whether to color more recent points as darker than older points.\n"},"type":{"type":"string","description":"Chart Type. `line` refers to the Line Plot, `scatter` to the Point Plot, `stacked-area` to the Stacked Area plot, `table` to the Tabular View, `scatterplot-xy` to Scatter Plot, `markdown-widget` to the Markdown display, and `sparkline` to the Single Stat view. Valid options are`line`, `scatterplot`, `stacked-area`, `stacked-column`, `table`, `scatterplot-xy`, `markdown-widget`, `sparkline`, `globe`, `nodemap`, `top-k`, `status-list`, and `histogram`.\n"},"windowSize":{"type":"integer","description":"Width, in minutes, of the time window to use for `last` windowing.\n"},"windowing":{"type":"string","description":"For the tabular view, whether to use the full time window for the query or the last X minutes. Valid options are `full` or `last`.\n"},"xmax":{"type":"number","description":"For x-y scatterplots, max value for the X-axis. Set to null for auto.\n"},"xmin":{"type":"number","description":"For x-y scatterplots, min value for the X-axis. Set to null for auto.\n"},"y0ScaleSiBy1024":{"type":"boolean"},"y0UnitAutoscaling":{"type":"boolean","description":"(Optional) Whether to automatically adjust magnitude labels and units for the left Y-axis to favor smaller magnitudes and larger units.\n"},"y1Max":{"type":"number"},"y1Min":{"type":"number"},"y1ScaleSiBy1024":{"type":"boolean"},"y1UnitAutoscaling":{"type":"boolean","description":"(Optional) Whether to automatically adjust magnitude labels and units for the right Y-axis to favor smaller magnitudes and larger units.\n"},"y1Units":{"type":"string","description":"For plots with multiple Y-axes, units for right side Y-axis.\n"},"ymax":{"type":"number","description":"For x-y scatterplots, max value for the Y-axis. Set to null for auto.\n"},"ymin":{"type":"number","description":"For x-y scatterplots, min value for the Y-axis. Set to null for auto.\n"}},"type":"object","required":["autoColumnTags","columnTags","customTags","expectedDataSpacing","fixedLegendDisplayStats","fixedLegendEnabled","fixedLegendFilterField","fixedLegendFilterLimit","fixedLegendFilterSort","fixedLegendHideLabel","fixedLegendPosition","fixedLegendUseRawStats","groupBySource","invertDynamicLegendHoverControl","lineType","max","min","numTags","plainMarkdownContent","showHosts","showLabels","showRawValues","sortValuesDescending","sparklineDecimalPrecision","sparklineDisplayColor","sparklineDisplayFontSize","sparklineDisplayHorizontalPosition","sparklineDisplayPostfix","sparklineDisplayPrefix","sparklineDisplayValueType","sparklineDisplayVerticalPosition","sparklineFillColor","sparklineLineColor","sparklineSize","sparklineValueColorMapApplyTo","sparklineValueColorMapColors","sparklineValueColorMapValues","sparklineValueColorMapValuesV2s","sparklineValueTextMapTexts","sparklineValueTextMapThresholds","stackType","tagMode","timeBasedColoring","type","windowSize","windowing","xmax","xmin","y0ScaleSiBy1024","y0UnitAutoscaling","y1Max","y1Min","y1ScaleSiBy1024","y1UnitAutoscaling","y1Units","ymax","ymin"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDashboardsDashboardSectionRowChartSource:getDashboardsDashboardSectionRowChartSource":{"properties":{"disabled":{"type":"boolean","description":"Whether the source is disabled.\n"},"name":{"type":"string","description":"The name of the parameters.\n"},"query":{"type":"string","description":"Query expression to plot on the chart.\n"},"querybuilderEnabled":{"type":"boolean"},"scatterPlotSource":{"type":"string","description":"For scatter plots, does this query source the X-axis or the Y-axis, `X`, or `Y`.\n"},"secondaryAxis":{"type":"boolean"},"sourceColor":{"type":"string"},"sourceDescription":{"type":"string","description":"A description for the purpose of this source.\n"}},"type":"object","required":["disabled","name","query","querybuilderEnabled","scatterPlotSource","secondaryAxis","sourceColor","sourceDescription"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getDerivedMetricsDerivedMetric:getDerivedMetricsDerivedMetric":{"properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information about the derived metric.\n"},"createUserId":{"type":"string","description":"The ID of the user who created the derived metric.\n"},"createdEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the derived metric is created.\n"},"deleted":{"type":"boolean","description":"A Boolean flag indicating whether the derived metric is deleted or not.\n"},"hostsUseds":{"type":"array","items":{"type":"string"},"description":"A list of hosts used in the derived metric.\n"},"id":{"type":"string","description":"The ID of the derived metric in Wavefront.\n"},"inTrash":{"type":"boolean","description":"A Boolean variable indicating trash status.\n"},"includeObsoleteMetrics":{"type":"boolean","description":"A Boolean flag indicating whether to include obsolete metrics or not.\n"},"lastErrorMessage":{"type":"string","description":"Last error message occurred.\n"},"lastFailedTime":{"type":"integer","description":"Timestamp of the last failed derived metric.\n"},"lastProcessedMillis":{"type":"integer","description":"The last processed timestamp.\n"},"lastQueryTime":{"type":"integer","description":"The timestamp indicating the last time the query was executed.\n"},"metricsUseds":{"type":"array","items":{"type":"string"},"description":"A list of metrics used in the derived metric.\n"},"minutes":{"type":"integer","description":"How frequently the query generating the derived metric is run.\n"},"name":{"type":"string","description":"The name of the derived metric in Wavefront.\n"},"pointsScannedAtLastQuery":{"type":"integer","description":"The number of points scanned when the last query was executed.\n"},"processRateMinutes":{"type":"integer","description":"The specified query is executed every `process_rate_minutes` minutes.\n"},"query":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\n"},"queryFailing":{"type":"boolean","description":"A Boolean variable indicating whether query is failing for the derived metric.\n"},"queryQbEnabled":{"type":"boolean","description":"A Boolean flag for enabling `query_qb`\n"},"statuses":{"type":"array","items":{"type":"string"},"description":"The status of the derived metric.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags assigned to the derived metric.\n"},"updateUserId":{"type":"string","description":"The ID of the user who updated the derived metric.\n"},"updatedEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the derived metric is updated.\n"}},"type":"object","required":["additionalInformation","createUserId","createdEpochMillis","deleted","hostsUseds","id","inTrash","includeObsoleteMetrics","lastErrorMessage","lastFailedTime","lastProcessedMillis","lastQueryTime","metricsUseds","minutes","name","pointsScannedAtLastQuery","processRateMinutes","query","queryFailing","queryQbEnabled","statuses","tags","updateUserId","updatedEpochMillis"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getEventsEvent:getEventsEvent":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations associated with the event.\n"},"details":{"type":"string","description":"The description of the event.\n"},"endtimeKey":{"type":"integer"},"id":{"type":"string","description":"The ID of the event in Wavefront.\n"},"isEphemeral":{"type":"boolean","description":"A Boolean flag. If set to `true`, creates a point-in-time event (i.e. with no duration).\n"},"name":{"type":"string","description":"The name of the event in Wavefront.\n"},"severity":{"type":"string","description":"The severity category of the event.\n"},"startTime":{"type":"integer","description":"The start time of the event in epoch milliseconds.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags assigned to the event.\n"},"type":{"type":"string","description":"The type of the event.\n"}},"type":"object","required":["annotations","details","endtimeKey","id","isEphemeral","name","severity","startTime","tags","type"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getExternalLinksExternalLink:getExternalLinksExternalLink":{"properties":{"createdEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the external link is created.\n"},"creatorId":{"type":"string","description":"The ID of the user who created the external link.\n"},"description":{"type":"string","description":"Human-readable description of the link.\n"},"id":{"type":"string","description":"The ID of the external link.\n"},"isLogIntegration":{"type":"boolean","description":"Whether this is a \"Log Integration\" subType of external link.\n"},"metricFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the metric name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"name":{"type":"string","description":"The name of the external link.\n"},"pointTagFilterRegexes":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional) Controls whether a link is displayed in the context menu of a highlighted\nseries. This is a map from string to regular expression. The highlighted series must contain point tags whose\nkeys are present in the keys of this map and whose values match the regular expressions associated with those\nkeys in order for the link to be displayed.\n"},"sourceFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the source name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"template":{"type":"string","description":"The mustache template for the link. The template must expand to a full URL, including scheme, origin, etc.\n"},"updatedEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the external link is updated.\n"},"updaterId":{"type":"string","description":"The ID of the user who updated the external link.\n"}},"type":"object","required":["createdEpochMillis","creatorId","description","id","isLogIntegration","metricFilterRegex","name","pointTagFilterRegexes","sourceFilterRegex","template","updatedEpochMillis","updaterId"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getMaintenanceWindowAllMaintenanceWindow:getMaintenanceWindowAllMaintenanceWindow":{"properties":{"createdEpochMillis":{"type":"integer"},"creatorId":{"type":"string"},"customerId":{"type":"string"},"endTimeInSeconds":{"type":"integer"},"eventName":{"type":"string"},"hostTagGroupHostNamesGroupAnded":{"type":"boolean"},"id":{"type":"string"},"reason":{"type":"string"},"relevantCustomerTags":{"type":"array","items":{"type":"string"}},"relevantHostNames":{"type":"array","items":{"type":"string"}},"relevantHostTags":{"type":"array","items":{"type":"string"}},"relevantHostTagsAnded":{"type":"boolean"},"runningState":{"type":"string"},"sortAttr":{"type":"integer"},"startTimeInSeconds":{"type":"integer"},"title":{"type":"string"},"updatedEpochMillis":{"type":"integer"},"updaterId":{"type":"string"}},"type":"object","required":["createdEpochMillis","creatorId","customerId","endTimeInSeconds","eventName","hostTagGroupHostNamesGroupAnded","id","reason","relevantCustomerTags","relevantHostNames","relevantHostTags","relevantHostTagsAnded","runningState","sortAttr","startTimeInSeconds","title","updatedEpochMillis","updaterId"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getMetricsPolicyPolicyRule:getMetricsPolicyPolicyRule":{"properties":{"accessType":{"type":"string"},"accountIds":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"name":{"type":"string"},"prefixes":{"type":"array","items":{"type":"string"}},"roleIds":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"$ref":"#/types/wavefront:index/getMetricsPolicyPolicyRuleTag:getMetricsPolicyPolicyRuleTag"}},"tagsAnded":{"type":"boolean"},"userGroupIds":{"type":"array","items":{"type":"string"}}},"type":"object","required":["accessType","accountIds","description","name","prefixes","roleIds","tags","tagsAnded","userGroupIds"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getMetricsPolicyPolicyRuleTag:getMetricsPolicyPolicyRuleTag":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getRolesRole:getRolesRole":{"properties":{"description":{"type":"string","description":"The Role's description.\n"},"id":{"type":"string","description":"The Role ID.\n"},"name":{"type":"string","description":"The Role Name.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of Permissions (Strings) associated with Role.\n"}},"type":"object","required":["description","id","name","permissions"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getUserGroupsUserGroup:getUserGroupsUserGroup":{"properties":{"description":{"type":"string","description":"The group description.\n"},"id":{"type":"string","description":"The group ID.\n"},"name":{"type":"string","description":"The group name.\n"},"roles":{"type":"array","items":{"type":"string"},"description":"List of roles associated with the group.\n"},"users":{"type":"array","items":{"type":"string"},"description":"List of users assigned to the group.\n"}},"type":"object","required":["description","id","name","roles","users"],"language":{"nodejs":{"requiredInputs":[]}}},"wavefront:index/getUsersUser:getUsersUser":{"properties":{"customer":{"type":"string","description":"The customer the user is associated with.\n"},"email":{"type":"string"},"lastSuccessfulLogin":{"type":"integer","description":"When the user last logged in to Wavefront.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permissions granted to a user.\n"},"userGroupIds":{"type":"array","items":{"type":"string"},"description":"List of User Group Ids the user is a member of.\n"}},"type":"object","required":["customer","email","lastSuccessfulLogin","permissions","userGroupIds"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the wavefront package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"address":{"type":"string"},"httpProxy":{"type":"string"},"token":{"type":"string"}},"required":["address","token"],"inputProperties":{"address":{"type":"string"},"httpProxy":{"type":"string"},"token":{"type":"string"}},"requiredInputs":["address","token"]},"resources":{"wavefront:index/alert:Alert":{"description":"Provides a Wavefront Alert resource. This allows alerts to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst foobar = new wavefront.Alert(\"foobar\", {\n condition: \"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total ) \u003e 80\",\n displayExpression: \"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total )\",\n minutes: 5,\n resolveAfterMinutes: 5,\n severity: \"WARN\",\n tags: [\n \"terraform\",\n \"test\",\n ],\n target: \"test@example.com,target:alert-target-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nfoobar = wavefront.Alert(\"foobar\",\n condition=\"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total ) \u003e 80\",\n display_expression=\"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total )\",\n minutes=5,\n resolve_after_minutes=5,\n severity=\"WARN\",\n tags=[\n \"terraform\",\n \"test\",\n ],\n target=\"test@example.com,target:alert-target-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new Wavefront.Alert(\"foobar\", new()\n {\n Condition = \"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total ) \u003e 80\",\n DisplayExpression = \"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total )\",\n Minutes = 5,\n ResolveAfterMinutes = 5,\n Severity = \"WARN\",\n Tags = new[]\n {\n \"terraform\",\n \"test\",\n },\n Target = \"test@example.com,target:alert-target-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewAlert(ctx, \"foobar\", \u0026wavefront.AlertArgs{\n\t\t\tCondition: pulumi.String(\"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total ) \u003e 80\"),\n\t\t\tDisplayExpression: pulumi.String(\"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total )\"),\n\t\t\tMinutes: pulumi.Int(5),\n\t\t\tResolveAfterMinutes: pulumi.Int(5),\n\t\t\tSeverity: pulumi.String(\"WARN\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\tpulumi.String(\"test\"),\n\t\t\t},\n\t\t\tTarget: pulumi.String(\"test@example.com,target:alert-target-id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.Alert;\nimport com.pulumi.wavefront.AlertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foobar = new Alert(\"foobar\", AlertArgs.builder() \n .condition(\"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total ) \u003e 80\")\n .displayExpression(\"100-ts(\\\"cpu.usage_idle\\\", environment=preprod and cpu=cpu-total )\")\n .minutes(5)\n .resolveAfterMinutes(5)\n .severity(\"WARN\")\n .tags( \n \"terraform\",\n \"test\")\n .target(\"test@example.com,target:alert-target-id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: wavefront:Alert\n properties:\n condition: 100-ts(\"cpu.usage_idle\", environment=preprod and cpu=cpu-total ) \u003e 80\n displayExpression: 100-ts(\"cpu.usage_idle\", environment=preprod and cpu=cpu-total )\n minutes: 5\n resolveAfterMinutes: 5\n severity: WARN\n tags:\n - terraform\n - test\n target: test@example.com,target:alert-target-id\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAlerts can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import wavefront:index/alert:Alert alert_target 1479868728473\n```\n ","properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information for this alert.\nUseful for linking runbooks, migrations, etc.\n"},"alertType":{"type":"string","description":"The type of alert in Wavefront. Either `CLASSIC` (default)\nor `THRESHOLD`.\n"},"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of valid users or groups that can modify this resource on a tenant.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of valid users or groups that can view this resource on a tenant. Default is Empty list.\n"},"condition":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\nThe alert fires and notifications are triggered when a data series matching this query evaluates\nto a non-zero value for a set number of consecutive minutes.\n"},"conditions":{"type":"object","additionalProperties":{"type":"string"},"description":"a string-\u003estring map of `severity` to `condition`\nfor which this alert will trigger.\n"},"displayExpression":{"type":"string","description":"A second query whose results are displayed in the alert user\ninterface instead of the condition query. This field is often used to display a version\nof the condition query with Boolean operators removed so that numerical values are plotted.\n"},"minutes":{"type":"integer","description":"The number of consecutive minutes that a series matching the condition query must\nevaluate to \"true\" (non-zero value) before the alert fires.\n"},"name":{"type":"string","description":"The name of the alert as it is displayed in Wavefront.\n"},"notificationResendFrequencyMinutes":{"type":"integer","description":"How often to re-trigger a continually failing alert.\nIf absent or \u003c= 0, no re-triggering occurs.\n"},"processRateMinutes":{"type":"integer","description":"The specified query is executed every `process_rate_minutes` minutes. Default value is 5 minutes.\n"},"resolveAfterMinutes":{"type":"integer","description":"The number of consecutive minutes that a firing series matching the condition\nquery must evaluate to \"false\" (zero value) before the alert resolves. When unset, this defaults to\nthe same value as `minutes`.\n"},"severity":{"type":"string","description":"Severity of the alert, valid values are `INFO`, `SMOKE`, `WARN`, `SEVERE`.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"target":{"type":"string","description":"A comma-separated list of the email address or integration endpoint\n(such as PagerDuty or webhook) to notify when the alert status changes. Multiple target types can be in the list.\nAlert target format: ({email}|pd:{pd_key}|target:{alert-target-id}).\n"},"thresholdTargets":{"type":"object","additionalProperties":{"type":"string"},"description":"A string to string map of Targets for severity.\n"}},"required":["canModifies","minutes","name","severity","tags"],"inputProperties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information for this alert.\nUseful for linking runbooks, migrations, etc.\n"},"alertType":{"type":"string","description":"The type of alert in Wavefront. Either `CLASSIC` (default)\nor `THRESHOLD`.\n"},"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of valid users or groups that can modify this resource on a tenant.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of valid users or groups that can view this resource on a tenant. Default is Empty list.\n"},"condition":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\nThe alert fires and notifications are triggered when a data series matching this query evaluates\nto a non-zero value for a set number of consecutive minutes.\n"},"conditions":{"type":"object","additionalProperties":{"type":"string"},"description":"a string-\u003estring map of `severity` to `condition`\nfor which this alert will trigger.\n"},"displayExpression":{"type":"string","description":"A second query whose results are displayed in the alert user\ninterface instead of the condition query. This field is often used to display a version\nof the condition query with Boolean operators removed so that numerical values are plotted.\n"},"minutes":{"type":"integer","description":"The number of consecutive minutes that a series matching the condition query must\nevaluate to \"true\" (non-zero value) before the alert fires.\n"},"name":{"type":"string","description":"The name of the alert as it is displayed in Wavefront.\n"},"notificationResendFrequencyMinutes":{"type":"integer","description":"How often to re-trigger a continually failing alert.\nIf absent or \u003c= 0, no re-triggering occurs.\n"},"processRateMinutes":{"type":"integer","description":"The specified query is executed every `process_rate_minutes` minutes. Default value is 5 minutes.\n"},"resolveAfterMinutes":{"type":"integer","description":"The number of consecutive minutes that a firing series matching the condition\nquery must evaluate to \"false\" (zero value) before the alert resolves. When unset, this defaults to\nthe same value as `minutes`.\n"},"severity":{"type":"string","description":"Severity of the alert, valid values are `INFO`, `SMOKE`, `WARN`, `SEVERE`.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"target":{"type":"string","description":"A comma-separated list of the email address or integration endpoint\n(such as PagerDuty or webhook) to notify when the alert status changes. Multiple target types can be in the list.\nAlert target format: ({email}|pd:{pd_key}|target:{alert-target-id}).\n"},"thresholdTargets":{"type":"object","additionalProperties":{"type":"string"},"description":"A string to string map of Targets for severity.\n"}},"requiredInputs":["minutes","tags"],"stateInputs":{"description":"Input properties used for looking up and filtering Alert resources.\n","properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information for this alert.\nUseful for linking runbooks, migrations, etc.\n"},"alertType":{"type":"string","description":"The type of alert in Wavefront. Either `CLASSIC` (default)\nor `THRESHOLD`.\n"},"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of valid users or groups that can modify this resource on a tenant.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of valid users or groups that can view this resource on a tenant. Default is Empty list.\n"},"condition":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\nThe alert fires and notifications are triggered when a data series matching this query evaluates\nto a non-zero value for a set number of consecutive minutes.\n"},"conditions":{"type":"object","additionalProperties":{"type":"string"},"description":"a string-\u003estring map of `severity` to `condition`\nfor which this alert will trigger.\n"},"displayExpression":{"type":"string","description":"A second query whose results are displayed in the alert user\ninterface instead of the condition query. This field is often used to display a version\nof the condition query with Boolean operators removed so that numerical values are plotted.\n"},"minutes":{"type":"integer","description":"The number of consecutive minutes that a series matching the condition query must\nevaluate to \"true\" (non-zero value) before the alert fires.\n"},"name":{"type":"string","description":"The name of the alert as it is displayed in Wavefront.\n"},"notificationResendFrequencyMinutes":{"type":"integer","description":"How often to re-trigger a continually failing alert.\nIf absent or \u003c= 0, no re-triggering occurs.\n"},"processRateMinutes":{"type":"integer","description":"The specified query is executed every `process_rate_minutes` minutes. Default value is 5 minutes.\n"},"resolveAfterMinutes":{"type":"integer","description":"The number of consecutive minutes that a firing series matching the condition\nquery must evaluate to \"false\" (zero value) before the alert resolves. When unset, this defaults to\nthe same value as `minutes`.\n"},"severity":{"type":"string","description":"Severity of the alert, valid values are `INFO`, `SMOKE`, `WARN`, `SEVERE`.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"target":{"type":"string","description":"A comma-separated list of the email address or integration endpoint\n(such as PagerDuty or webhook) to notify when the alert status changes. Multiple target types can be in the list.\nAlert target format: ({email}|pd:{pd_key}|target:{alert-target-id}).\n"},"thresholdTargets":{"type":"object","additionalProperties":{"type":"string"},"description":"A string to string map of Targets for severity.\n"}},"type":"object"}},"wavefront:index/alertTarget:AlertTarget":{"description":"Provides a wavefront Alert Target resource. This allows alert targets to created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst testTarget = new wavefront.AlertTarget(\"testTarget\", {\n contentType: \"application/json\",\n customHeaders: {\n Testing: \"true\",\n },\n description: \"Test target\",\n method: \"WEBHOOK\",\n recipient: \"https://hooks.slack.com/services/test/me\",\n template: \"{}\",\n triggers: [\n \"ALERT_OPENED\",\n \"ALERT_RESOLVED\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\ntest_target = wavefront.AlertTarget(\"testTarget\",\n content_type=\"application/json\",\n custom_headers={\n \"Testing\": \"true\",\n },\n description=\"Test target\",\n method=\"WEBHOOK\",\n recipient=\"https://hooks.slack.com/services/test/me\",\n template=\"{}\",\n triggers=[\n \"ALERT_OPENED\",\n \"ALERT_RESOLVED\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testTarget = new Wavefront.AlertTarget(\"testTarget\", new()\n {\n ContentType = \"application/json\",\n CustomHeaders = \n {\n { \"Testing\", \"true\" },\n },\n Description = \"Test target\",\n Method = \"WEBHOOK\",\n Recipient = \"https://hooks.slack.com/services/test/me\",\n Template = \"{}\",\n Triggers = new[]\n {\n \"ALERT_OPENED\",\n \"ALERT_RESOLVED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewAlertTarget(ctx, \"testTarget\", \u0026wavefront.AlertTargetArgs{\n\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\tCustomHeaders: pulumi.StringMap{\n\t\t\t\t\"Testing\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Test target\"),\n\t\t\tMethod: pulumi.String(\"WEBHOOK\"),\n\t\t\tRecipient: pulumi.String(\"https://hooks.slack.com/services/test/me\"),\n\t\t\tTemplate: pulumi.String(\"{}\"),\n\t\t\tTriggers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ALERT_OPENED\"),\n\t\t\t\tpulumi.String(\"ALERT_RESOLVED\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.AlertTarget;\nimport com.pulumi.wavefront.AlertTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testTarget = new AlertTarget(\"testTarget\", AlertTargetArgs.builder() \n .contentType(\"application/json\")\n .customHeaders(Map.of(\"Testing\", \"true\"))\n .description(\"Test target\")\n .method(\"WEBHOOK\")\n .recipient(\"https://hooks.slack.com/services/test/me\")\n .template(\"{}\")\n .triggers( \n \"ALERT_OPENED\",\n \"ALERT_RESOLVED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testTarget:\n type: wavefront:AlertTarget\n properties:\n contentType: application/json\n customHeaders:\n Testing: 'true'\n description: Test target\n method: WEBHOOK\n recipient: https://hooks.slack.com/services/test/me\n template: '{}'\n triggers:\n - ALERT_OPENED\n - ALERT_RESOLVED\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAlert Targets can be imported using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/alertTarget:AlertTarget alert_target abcdEFGhijKLMNO\n```\n ","properties":{"contentType":{"type":"string","description":"The value of the `Content-Type` header of the webhook.\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"A `string-\u003estring` map specifying the custom HTTP header key/value pairs that will be\nsent in the requests with a method of `WEBHOOK`.\n"},"description":{"type":"string","description":"Description describing this alert target.\n"},"emailSubject":{"type":"string","description":"The subject title of an email notification target.\n"},"isHtmlContent":{"type":"boolean","description":"Determine whether the email alert content is sent as HTML or text.\n"},"method":{"type":"string","description":"The notification method used for notification target. One of `WEBHOOK`, `EMAIL`, `PAGERDUTY`.\n"},"name":{"type":"string","description":"The name of the alert target as it is displayed in Wavefront.\n"},"recipient":{"type":"string","description":"The end point for the notification Target. `EMAIL`: email address. `PAGERDUTY`: PagerDuty\nrouting key. `WEBHOOK`: URL endpoint.\n"},"routes":{"type":"array","items":{"$ref":"#/types/wavefront:index/AlertTargetRoute:AlertTargetRoute"},"description":"List of routing targets that this alert target will notify. See Route\n"},"targetId":{"type":"string","description":"The target ID prefixed with `target:` for interpolating into a Wavefront Alert.\n"},"template":{"type":"string","description":"A mustache template that will form the body of the POST request, email, and summary of the PagerDuty.\n"},"triggers":{"type":"array","items":{"type":"string"},"description":"A list of occurrences on which this webhook will be fired. Valid values are `ALERT_OPENED`,\n`ALERT_UPDATED`, `ALERT_RESOLVED`, `ALERT_MAINTENANCE`, `ALERT_SNOOZED`, `ALERT_NO_DATA`, `ALERT_NO_DATA_RESOLVED`, `ALERT_NO_DATA_MAINTENANCE`.\n"}},"required":["description","name","recipient","targetId","template","triggers"],"inputProperties":{"contentType":{"type":"string","description":"The value of the `Content-Type` header of the webhook.\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"A `string-\u003estring` map specifying the custom HTTP header key/value pairs that will be\nsent in the requests with a method of `WEBHOOK`.\n"},"description":{"type":"string","description":"Description describing this alert target.\n"},"emailSubject":{"type":"string","description":"The subject title of an email notification target.\n"},"isHtmlContent":{"type":"boolean","description":"Determine whether the email alert content is sent as HTML or text.\n"},"method":{"type":"string","description":"The notification method used for notification target. One of `WEBHOOK`, `EMAIL`, `PAGERDUTY`.\n"},"name":{"type":"string","description":"The name of the alert target as it is displayed in Wavefront.\n"},"recipient":{"type":"string","description":"The end point for the notification Target. `EMAIL`: email address. `PAGERDUTY`: PagerDuty\nrouting key. `WEBHOOK`: URL endpoint.\n"},"routes":{"type":"array","items":{"$ref":"#/types/wavefront:index/AlertTargetRoute:AlertTargetRoute"},"description":"List of routing targets that this alert target will notify. See Route\n"},"template":{"type":"string","description":"A mustache template that will form the body of the POST request, email, and summary of the PagerDuty.\n"},"triggers":{"type":"array","items":{"type":"string"},"description":"A list of occurrences on which this webhook will be fired. Valid values are `ALERT_OPENED`,\n`ALERT_UPDATED`, `ALERT_RESOLVED`, `ALERT_MAINTENANCE`, `ALERT_SNOOZED`, `ALERT_NO_DATA`, `ALERT_NO_DATA_RESOLVED`, `ALERT_NO_DATA_MAINTENANCE`.\n"}},"requiredInputs":["description","recipient","template","triggers"],"stateInputs":{"description":"Input properties used for looking up and filtering AlertTarget resources.\n","properties":{"contentType":{"type":"string","description":"The value of the `Content-Type` header of the webhook.\n"},"customHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"A `string-\u003estring` map specifying the custom HTTP header key/value pairs that will be\nsent in the requests with a method of `WEBHOOK`.\n"},"description":{"type":"string","description":"Description describing this alert target.\n"},"emailSubject":{"type":"string","description":"The subject title of an email notification target.\n"},"isHtmlContent":{"type":"boolean","description":"Determine whether the email alert content is sent as HTML or text.\n"},"method":{"type":"string","description":"The notification method used for notification target. One of `WEBHOOK`, `EMAIL`, `PAGERDUTY`.\n"},"name":{"type":"string","description":"The name of the alert target as it is displayed in Wavefront.\n"},"recipient":{"type":"string","description":"The end point for the notification Target. `EMAIL`: email address. `PAGERDUTY`: PagerDuty\nrouting key. `WEBHOOK`: URL endpoint.\n"},"routes":{"type":"array","items":{"$ref":"#/types/wavefront:index/AlertTargetRoute:AlertTargetRoute"},"description":"List of routing targets that this alert target will notify. See Route\n"},"targetId":{"type":"string","description":"The target ID prefixed with `target:` for interpolating into a Wavefront Alert.\n"},"template":{"type":"string","description":"A mustache template that will form the body of the POST request, email, and summary of the PagerDuty.\n"},"triggers":{"type":"array","items":{"type":"string"},"description":"A list of occurrences on which this webhook will be fired. Valid values are `ALERT_OPENED`,\n`ALERT_UPDATED`, `ALERT_RESOLVED`, `ALERT_MAINTENANCE`, `ALERT_SNOOZED`, `ALERT_NO_DATA`, `ALERT_NO_DATA_RESOLVED`, `ALERT_NO_DATA_MAINTENANCE`.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationAppDynamics:CloudIntegrationAppDynamics":{"description":"Provides a Wavefront Cloud Integration for AppDynamics. This allows AppDynamics cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst appDynamics = new wavefront.CloudIntegrationAppDynamics(\"appDynamics\", {\n controllerName: \"exampleController\",\n encryptedPassword: \"encryptedPassword\",\n userName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\napp_dynamics = wavefront.CloudIntegrationAppDynamics(\"appDynamics\",\n controller_name=\"exampleController\",\n encrypted_password=\"encryptedPassword\",\n user_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var appDynamics = new Wavefront.CloudIntegrationAppDynamics(\"appDynamics\", new()\n {\n ControllerName = \"exampleController\",\n EncryptedPassword = \"encryptedPassword\",\n UserName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewCloudIntegrationAppDynamics(ctx, \"appDynamics\", \u0026wavefront.CloudIntegrationAppDynamicsArgs{\n\t\t\tControllerName: pulumi.String(\"exampleController\"),\n\t\t\tEncryptedPassword: pulumi.String(\"encryptedPassword\"),\n\t\t\tUserName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationAppDynamics;\nimport com.pulumi.wavefront.CloudIntegrationAppDynamicsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var appDynamics = new CloudIntegrationAppDynamics(\"appDynamics\", CloudIntegrationAppDynamicsArgs.builder() \n .controllerName(\"exampleController\")\n .encryptedPassword(\"encryptedPassword\")\n .userName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n appDynamics:\n type: wavefront:CloudIntegrationAppDynamics\n properties:\n controllerName: exampleController\n encryptedPassword: encryptedPassword\n userName: example\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAppDynamic Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationAppDynamics:CloudIntegrationAppDynamics app_dynamics a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"appFilterRegexes":{"type":"array","items":{"type":"string"},"description":"List of regular expressions that an application name must match (case-insensitively)\nin order to be ingested.\n"},"controllerName":{"type":"string","description":"Name of the SaaS controller.\n"},"enableAppInfraMetrics":{"type":"boolean","description":"Boolean flag to control Application Infrastructure metric ingestion.\n"},"enableBackendMetrics":{"type":"boolean","description":"Boolean flag to control Backend metric ingestion.\n"},"enableBusinessTrxMetrics":{"type":"boolean","description":"Boolean flag to control Business Transaction metric ingestion.\n"},"enableErrorMetrics":{"type":"boolean","description":"Boolean flag to control Error metric ingestion.\n"},"enableIndividualNodeMetrics":{"type":"boolean","description":"Boolean flag to control Individual Node metric ingestion.\n"},"enableOverallPerfMetrics":{"type":"boolean","description":"Boolean flag to control Overall Performance metric ingestion.\n"},"enableRollup":{"type":"boolean","description":"Set this to `false` to get separate results for all values within the time range,\nby default it is `true`.\n"},"enableServiceEndpointMetrics":{"type":"boolean","description":"Boolean flag to control Service End point metric ingestion.\n"},"encryptedPassword":{"type":"string","description":"Password for AppDynamics user.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"userName":{"type":"string","description":"Username is a combination of userName and the account name.\n"}},"required":["controllerName","encryptedPassword","name","service","userName"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"appFilterRegexes":{"type":"array","items":{"type":"string"},"description":"List of regular expressions that an application name must match (case-insensitively)\nin order to be ingested.\n"},"controllerName":{"type":"string","description":"Name of the SaaS controller.\n"},"enableAppInfraMetrics":{"type":"boolean","description":"Boolean flag to control Application Infrastructure metric ingestion.\n"},"enableBackendMetrics":{"type":"boolean","description":"Boolean flag to control Backend metric ingestion.\n"},"enableBusinessTrxMetrics":{"type":"boolean","description":"Boolean flag to control Business Transaction metric ingestion.\n"},"enableErrorMetrics":{"type":"boolean","description":"Boolean flag to control Error metric ingestion.\n"},"enableIndividualNodeMetrics":{"type":"boolean","description":"Boolean flag to control Individual Node metric ingestion.\n"},"enableOverallPerfMetrics":{"type":"boolean","description":"Boolean flag to control Overall Performance metric ingestion.\n"},"enableRollup":{"type":"boolean","description":"Set this to `false` to get separate results for all values within the time range,\nby default it is `true`.\n"},"enableServiceEndpointMetrics":{"type":"boolean","description":"Boolean flag to control Service End point metric ingestion.\n"},"encryptedPassword":{"type":"string","description":"Password for AppDynamics user.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"userName":{"type":"string","description":"Username is a combination of userName and the account name.\n"}},"requiredInputs":["controllerName","encryptedPassword","service","userName"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationAppDynamics resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"appFilterRegexes":{"type":"array","items":{"type":"string"},"description":"List of regular expressions that an application name must match (case-insensitively)\nin order to be ingested.\n"},"controllerName":{"type":"string","description":"Name of the SaaS controller.\n"},"enableAppInfraMetrics":{"type":"boolean","description":"Boolean flag to control Application Infrastructure metric ingestion.\n"},"enableBackendMetrics":{"type":"boolean","description":"Boolean flag to control Backend metric ingestion.\n"},"enableBusinessTrxMetrics":{"type":"boolean","description":"Boolean flag to control Business Transaction metric ingestion.\n"},"enableErrorMetrics":{"type":"boolean","description":"Boolean flag to control Error metric ingestion.\n"},"enableIndividualNodeMetrics":{"type":"boolean","description":"Boolean flag to control Individual Node metric ingestion.\n"},"enableOverallPerfMetrics":{"type":"boolean","description":"Boolean flag to control Overall Performance metric ingestion.\n"},"enableRollup":{"type":"boolean","description":"Set this to `false` to get separate results for all values within the time range,\nby default it is `true`.\n"},"enableServiceEndpointMetrics":{"type":"boolean","description":"Boolean flag to control Service End point metric ingestion.\n"},"encryptedPassword":{"type":"string","description":"Password for AppDynamics user.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"userName":{"type":"string","description":"Username is a combination of userName and the account name.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationAwsExternalId:CloudIntegrationAwsExternalId":{"description":"Provides an External ID for use in Amazon Web Services IAM Roles. This allows External IDs to be created and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst externalId = new wavefront.CloudIntegrationAwsExternalId(\"externalId\", {});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexternal_id = wavefront.CloudIntegrationAwsExternalId(\"externalId\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var externalId = new Wavefront.CloudIntegrationAwsExternalId(\"externalId\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewCloudIntegrationAwsExternalId(ctx, \"externalId\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationAwsExternalId;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var externalId = new CloudIntegrationAwsExternalId(\"externalId\");\n\n }\n}\n```\n```yaml\nresources:\n externalId:\n type: wavefront:CloudIntegrationAwsExternalId\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nExternal IDs can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationAwsExternalId:CloudIntegrationAwsExternalId external_id uGJdkH3k\n```\n ","stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationAwsExternalId resources.\n","type":"object"}},"wavefront:index/cloudIntegrationAzure:CloudIntegrationAzure":{"description":"Provides a Wavefront Cloud Integration for Microsoft Azure. This allows Azure cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst azureActivityLog = new wavefront.CloudIntegrationAzureActivityLog(\"azureActivityLog\", {\n clientId: \"client-id2\",\n clientSecret: \"client-secret2\",\n tenant: \"my-tenant2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nazure_activity_log = wavefront.CloudIntegrationAzureActivityLog(\"azureActivityLog\",\n client_id=\"client-id2\",\n client_secret=\"client-secret2\",\n tenant=\"my-tenant2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azureActivityLog = new Wavefront.CloudIntegrationAzureActivityLog(\"azureActivityLog\", new()\n {\n ClientId = \"client-id2\",\n ClientSecret = \"client-secret2\",\n Tenant = \"my-tenant2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewCloudIntegrationAzureActivityLog(ctx, \"azureActivityLog\", \u0026wavefront.CloudIntegrationAzureActivityLogArgs{\n\t\t\tClientId: pulumi.String(\"client-id2\"),\n\t\t\tClientSecret: pulumi.String(\"client-secret2\"),\n\t\t\tTenant: pulumi.String(\"my-tenant2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationAzureActivityLog;\nimport com.pulumi.wavefront.CloudIntegrationAzureActivityLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azureActivityLog = new CloudIntegrationAzureActivityLog(\"azureActivityLog\", CloudIntegrationAzureActivityLogArgs.builder() \n .clientId(\"client-id2\")\n .clientSecret(\"client-secret2\")\n .tenant(\"my-tenant2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azureActivityLog:\n type: wavefront:CloudIntegrationAzureActivityLog\n properties:\n clientId: client-id2\n clientSecret: client-secret2\n tenant: my-tenant2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAzure Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationAzure:CloudIntegrationAzure azure a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categoryFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure Activity Log categories.\n"},"clientId":{"type":"string","description":"Client ID for an Azure service account within your project.\n"},"clientSecret":{"type":"string","description":"Client secret for an Azure service account within your project.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"metricFilterRegex":{"type":"string","description":"A regular expression that a metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"resourceGroupFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure resource groups from which to pull metrics.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"tenant":{"type":"string","description":"Tenant ID for an Azure service account within your project.\n"}},"required":["clientId","clientSecret","name","service","tenant"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categoryFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure Activity Log categories.\n"},"clientId":{"type":"string","description":"Client ID for an Azure service account within your project.\n"},"clientSecret":{"type":"string","description":"Client secret for an Azure service account within your project.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"metricFilterRegex":{"type":"string","description":"A regular expression that a metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"resourceGroupFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure resource groups from which to pull metrics.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"tenant":{"type":"string","description":"Tenant ID for an Azure service account within your project.\n"}},"requiredInputs":["clientId","clientSecret","service","tenant"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationAzure resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categoryFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure Activity Log categories.\n"},"clientId":{"type":"string","description":"Client ID for an Azure service account within your project.\n"},"clientSecret":{"type":"string","description":"Client secret for an Azure service account within your project.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"metricFilterRegex":{"type":"string","description":"A regular expression that a metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"resourceGroupFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure resource groups from which to pull metrics.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"tenant":{"type":"string","description":"Tenant ID for an Azure service account within your project.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationAzureActivityLog:CloudIntegrationAzureActivityLog":{"description":"Provides a Wavefront Cloud Integration for Azure Activity Logs. This allows Azure activity log cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst azureActivityLog = new wavefront.CloudIntegrationAzureActivityLog(\"azureActivityLog\", {\n categoryFilters: [\"ADMINISTRATIVE\"],\n clientId: \"client-id2\",\n clientSecret: \"client-secret2\",\n tenant: \"my-tenant2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nazure_activity_log = wavefront.CloudIntegrationAzureActivityLog(\"azureActivityLog\",\n category_filters=[\"ADMINISTRATIVE\"],\n client_id=\"client-id2\",\n client_secret=\"client-secret2\",\n tenant=\"my-tenant2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azureActivityLog = new Wavefront.CloudIntegrationAzureActivityLog(\"azureActivityLog\", new()\n {\n CategoryFilters = new[]\n {\n \"ADMINISTRATIVE\",\n },\n ClientId = \"client-id2\",\n ClientSecret = \"client-secret2\",\n Tenant = \"my-tenant2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewCloudIntegrationAzureActivityLog(ctx, \"azureActivityLog\", \u0026wavefront.CloudIntegrationAzureActivityLogArgs{\n\t\t\tCategoryFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ADMINISTRATIVE\"),\n\t\t\t},\n\t\t\tClientId: pulumi.String(\"client-id2\"),\n\t\t\tClientSecret: pulumi.String(\"client-secret2\"),\n\t\t\tTenant: pulumi.String(\"my-tenant2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationAzureActivityLog;\nimport com.pulumi.wavefront.CloudIntegrationAzureActivityLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azureActivityLog = new CloudIntegrationAzureActivityLog(\"azureActivityLog\", CloudIntegrationAzureActivityLogArgs.builder() \n .categoryFilters(\"ADMINISTRATIVE\")\n .clientId(\"client-id2\")\n .clientSecret(\"client-secret2\")\n .tenant(\"my-tenant2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azureActivityLog:\n type: wavefront:CloudIntegrationAzureActivityLog\n properties:\n categoryFilters:\n - ADMINISTRATIVE\n clientId: client-id2\n clientSecret: client-secret2\n tenant: my-tenant2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAzure Activity Log Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationAzureActivityLog:CloudIntegrationAzureActivityLog azure_al a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categoryFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure services (such as Microsoft.Compute/virtualMachines) from which to pull metrics.\n"},"clientId":{"type":"string","description":"Client ID for an Azure service account within your project.\n"},"clientSecret":{"type":"string","description":"Client secret for an Azure service account within your project.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"tenant":{"type":"string","description":"Tenant ID for an Azure service account within your project.\n"}},"required":["clientId","clientSecret","name","service","tenant"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categoryFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure services (such as Microsoft.Compute/virtualMachines) from which to pull metrics.\n"},"clientId":{"type":"string","description":"Client ID for an Azure service account within your project.\n"},"clientSecret":{"type":"string","description":"Client secret for an Azure service account within your project.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"tenant":{"type":"string","description":"Tenant ID for an Azure service account within your project.\n"}},"requiredInputs":["clientId","clientSecret","service","tenant"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationAzureActivityLog resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categoryFilters":{"type":"array","items":{"type":"string"},"description":"A list of Azure services (such as Microsoft.Compute/virtualMachines) from which to pull metrics.\n"},"clientId":{"type":"string","description":"Client ID for an Azure service account within your project.\n"},"clientSecret":{"type":"string","description":"Client secret for an Azure service account within your project.\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"tenant":{"type":"string","description":"Tenant ID for an Azure service account within your project.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationCloudTrail:CloudIntegrationCloudTrail":{"description":"Provides a Wavefront Cloud Integration for CloudTrail. This allows CloudTrail cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst extId = new wavefront.CloudIntegrationAwsExternalId(\"extId\", {});\nconst cloudtrail = new wavefront.CloudIntegrationCloudTrail(\"cloudtrail\", {\n roleArn: \"arn:aws::1234567:role/example-arn\",\n externalId: extId.id,\n region: \"us-west-2\",\n bucketName: \"example-s3-bucket\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\next_id = wavefront.CloudIntegrationAwsExternalId(\"extId\")\ncloudtrail = wavefront.CloudIntegrationCloudTrail(\"cloudtrail\",\n role_arn=\"arn:aws::1234567:role/example-arn\",\n external_id=ext_id.id,\n region=\"us-west-2\",\n bucket_name=\"example-s3-bucket\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extId = new Wavefront.CloudIntegrationAwsExternalId(\"extId\");\n\n var cloudtrail = new Wavefront.CloudIntegrationCloudTrail(\"cloudtrail\", new()\n {\n RoleArn = \"arn:aws::1234567:role/example-arn\",\n ExternalId = extId.Id,\n Region = \"us-west-2\",\n BucketName = \"example-s3-bucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\textId, err := wavefront.NewCloudIntegrationAwsExternalId(ctx, \"extId\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wavefront.NewCloudIntegrationCloudTrail(ctx, \"cloudtrail\", \u0026wavefront.CloudIntegrationCloudTrailArgs{\n\t\t\tRoleArn: pulumi.String(\"arn:aws::1234567:role/example-arn\"),\n\t\t\tExternalId: extId.ID(),\n\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t\tBucketName: pulumi.String(\"example-s3-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationAwsExternalId;\nimport com.pulumi.wavefront.CloudIntegrationCloudTrail;\nimport com.pulumi.wavefront.CloudIntegrationCloudTrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var extId = new CloudIntegrationAwsExternalId(\"extId\");\n\n var cloudtrail = new CloudIntegrationCloudTrail(\"cloudtrail\", CloudIntegrationCloudTrailArgs.builder() \n .roleArn(\"arn:aws::1234567:role/example-arn\")\n .externalId(extId.id())\n .region(\"us-west-2\")\n .bucketName(\"example-s3-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extId:\n type: wavefront:CloudIntegrationAwsExternalId\n cloudtrail:\n type: wavefront:CloudIntegrationCloudTrail\n properties:\n roleArn: arn:aws::1234567:role/example-arn\n externalId: ${extId.id}\n region: us-west-2\n bucketName: example-s3-bucket\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCloudTrail Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationCloudTrail:CloudIntegrationCloudTrail cloudtrail a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"bucketName":{"type":"string","description":"Name of the S3 bucket where CloudTrail logs are stored.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n"},"filterRule":{"type":"string","description":"Rule to filter CloudTrail log event.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"prefix":{"type":"string","description":"The common prefix, if any, appended to all CloudTrail log files.\n"},"region":{"type":"string","description":"The AWS region of the S3 bucket where CloudTrail logs are stored.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"required":["bucketName","externalId","name","region","roleArn","service"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"bucketName":{"type":"string","description":"Name of the S3 bucket where CloudTrail logs are stored.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n","willReplaceOnChanges":true},"filterRule":{"type":"string","description":"Rule to filter CloudTrail log event.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"prefix":{"type":"string","description":"The common prefix, if any, appended to all CloudTrail log files.\n"},"region":{"type":"string","description":"The AWS region of the S3 bucket where CloudTrail logs are stored.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"requiredInputs":["bucketName","externalId","region","roleArn","service"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationCloudTrail resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"bucketName":{"type":"string","description":"Name of the S3 bucket where CloudTrail logs are stored.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n","willReplaceOnChanges":true},"filterRule":{"type":"string","description":"Rule to filter CloudTrail log event.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"prefix":{"type":"string","description":"The common prefix, if any, appended to all CloudTrail log files.\n"},"region":{"type":"string","description":"The AWS region of the S3 bucket where CloudTrail logs are stored.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationCloudWatch:CloudIntegrationCloudWatch":{"description":"Provides a Wavefront Cloud Integration for CloudWatch. This allows CloudWatch cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst extId = new wavefront.CloudIntegrationAwsExternalId(\"extId\", {});\nconst cloudwatch = new wavefront.CloudIntegrationCloudWatch(\"cloudwatch\", {\n forceSave: true,\n roleArn: \"arn:aws::1234567:role/example-arn\",\n externalId: extId.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\next_id = wavefront.CloudIntegrationAwsExternalId(\"extId\")\ncloudwatch = wavefront.CloudIntegrationCloudWatch(\"cloudwatch\",\n force_save=True,\n role_arn=\"arn:aws::1234567:role/example-arn\",\n external_id=ext_id.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extId = new Wavefront.CloudIntegrationAwsExternalId(\"extId\");\n\n var cloudwatch = new Wavefront.CloudIntegrationCloudWatch(\"cloudwatch\", new()\n {\n ForceSave = true,\n RoleArn = \"arn:aws::1234567:role/example-arn\",\n ExternalId = extId.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\textId, err := wavefront.NewCloudIntegrationAwsExternalId(ctx, \"extId\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wavefront.NewCloudIntegrationCloudWatch(ctx, \"cloudwatch\", \u0026wavefront.CloudIntegrationCloudWatchArgs{\n\t\t\tForceSave: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.String(\"arn:aws::1234567:role/example-arn\"),\n\t\t\tExternalId: extId.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationAwsExternalId;\nimport com.pulumi.wavefront.CloudIntegrationCloudWatch;\nimport com.pulumi.wavefront.CloudIntegrationCloudWatchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var extId = new CloudIntegrationAwsExternalId(\"extId\");\n\n var cloudwatch = new CloudIntegrationCloudWatch(\"cloudwatch\", CloudIntegrationCloudWatchArgs.builder() \n .forceSave(true)\n .roleArn(\"arn:aws::1234567:role/example-arn\")\n .externalId(extId.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extId:\n type: wavefront:CloudIntegrationAwsExternalId\n cloudwatch:\n type: wavefront:CloudIntegrationCloudWatch\n properties:\n forceSave: true\n roleArn: arn:aws::1234567:role/example-arn\n externalId: ${extId.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCloudWatch Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationCloudWatch:CloudIntegrationCloudWatch cloudwatch a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"instanceSelectionTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A string-\u003estring map allow list of instance tag-value pairs (in AWS).\nIf the instance's AWS tags match this allow list, CloudWatch data about this instance is ingested.\nMultiple entries are OR'ed.\n"},"metricFilterRegex":{"type":"string","description":"A regular expression that a CloudWatch metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"A list of namespaces that limit what we query from CloudWatch.\n"},"pointTagFilterRegex":{"type":"string","description":"A regular expression that AWS tag key name must match (case-insensitively)\nin order to be ingested.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"volumeSelectionTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A string-\u003estring map of allow list of volume tag-value pairs (in AWS).\nIf the volume's AWS tags match this allow list, CloudWatch data about this volume is ingested.\nMultiple entries are OR'ed.\n"}},"required":["externalId","name","roleArn","service"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n","willReplaceOnChanges":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"instanceSelectionTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A string-\u003estring map allow list of instance tag-value pairs (in AWS).\nIf the instance's AWS tags match this allow list, CloudWatch data about this instance is ingested.\nMultiple entries are OR'ed.\n"},"metricFilterRegex":{"type":"string","description":"A regular expression that a CloudWatch metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"A list of namespaces that limit what we query from CloudWatch.\n"},"pointTagFilterRegex":{"type":"string","description":"A regular expression that AWS tag key name must match (case-insensitively)\nin order to be ingested.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"volumeSelectionTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A string-\u003estring map of allow list of volume tag-value pairs (in AWS).\nIf the volume's AWS tags match this allow list, CloudWatch data about this volume is ingested.\nMultiple entries are OR'ed.\n"}},"requiredInputs":["externalId","roleArn","service"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationCloudWatch resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n","willReplaceOnChanges":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"instanceSelectionTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A string-\u003estring map allow list of instance tag-value pairs (in AWS).\nIf the instance's AWS tags match this allow list, CloudWatch data about this instance is ingested.\nMultiple entries are OR'ed.\n"},"metricFilterRegex":{"type":"string","description":"A regular expression that a CloudWatch metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"A list of namespaces that limit what we query from CloudWatch.\n"},"pointTagFilterRegex":{"type":"string","description":"A regular expression that AWS tag key name must match (case-insensitively)\nin order to be ingested.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"},"volumeSelectionTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A string-\u003estring map of allow list of volume tag-value pairs (in AWS).\nIf the volume's AWS tags match this allow list, CloudWatch data about this volume is ingested.\nMultiple entries are OR'ed.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationEc2:CloudIntegrationEc2":{"description":"Provides a Wavefront Cloud Integration for EC2. This allows EC2 cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst extId = new wavefront.CloudIntegrationAwsExternalId(\"extId\", {});\nconst ec2 = new wavefront.CloudIntegrationEc2(\"ec2\", {\n roleArn: \"arn:aws::1234567:role/example-arn\",\n externalId: extId.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\next_id = wavefront.CloudIntegrationAwsExternalId(\"extId\")\nec2 = wavefront.CloudIntegrationEc2(\"ec2\",\n role_arn=\"arn:aws::1234567:role/example-arn\",\n external_id=ext_id.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extId = new Wavefront.CloudIntegrationAwsExternalId(\"extId\");\n\n var ec2 = new Wavefront.CloudIntegrationEc2(\"ec2\", new()\n {\n RoleArn = \"arn:aws::1234567:role/example-arn\",\n ExternalId = extId.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\textId, err := wavefront.NewCloudIntegrationAwsExternalId(ctx, \"extId\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wavefront.NewCloudIntegrationEc2(ctx, \"ec2\", \u0026wavefront.CloudIntegrationEc2Args{\n\t\t\tRoleArn: pulumi.String(\"arn:aws::1234567:role/example-arn\"),\n\t\t\tExternalId: extId.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationAwsExternalId;\nimport com.pulumi.wavefront.CloudIntegrationEc2;\nimport com.pulumi.wavefront.CloudIntegrationEc2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var extId = new CloudIntegrationAwsExternalId(\"extId\");\n\n var ec2 = new CloudIntegrationEc2(\"ec2\", CloudIntegrationEc2Args.builder() \n .roleArn(\"arn:aws::1234567:role/example-arn\")\n .externalId(extId.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extId:\n type: wavefront:CloudIntegrationAwsExternalId\n ec2:\n type: wavefront:CloudIntegrationEc2\n properties:\n roleArn: arn:aws::1234567:role/example-arn\n externalId: ${extId.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEC2 Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationEc2:CloudIntegrationEc2 ec2 a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"hostnameTags":{"type":"array","items":{"type":"string"},"description":"A list of AWS instance tags to use as the `source` name\nin a series. Default is `[\"hostname\", \"host\", \"name\"]`. If no tag in the list is found, the series source\nis set to the instance id.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"required":["externalId","name","roleArn","service"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n","willReplaceOnChanges":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"hostnameTags":{"type":"array","items":{"type":"string"},"description":"A list of AWS instance tags to use as the `source` name\nin a series. Default is `[\"hostname\", \"host\", \"name\"]`. If no tag in the list is found, the series source\nis set to the instance id.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"requiredInputs":["externalId","roleArn","service"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationEc2 resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"externalId":{"type":"string","description":"The Role ARN that the customer has created in AWS IAM to allow access to Wavefront.\n","willReplaceOnChanges":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"hostnameTags":{"type":"array","items":{"type":"string"},"description":"A list of AWS instance tags to use as the `source` name\nin a series. Default is `[\"hostname\", \"host\", \"name\"]`. If no tag in the list is found, the series source\nis set to the instance id.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"roleArn":{"type":"string","description":"The external ID corresponding to the Role ARN.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationGcp:CloudIntegrationGcp":{"description":"Provides a Wavefront Cloud Integration for Google Cloud Platform. This allows Google Cloud Platform cloud\nintegrations to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst gcp = new wavefront.CloudIntegrationGcp(\"gcp\", {\n jsonKey: `{...your gcp key ...}\n\n`,\n projectId: \"example-gcp-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\ngcp = wavefront.CloudIntegrationGcp(\"gcp\",\n json_key=\"\"\"{...your gcp key ...}\n\n\"\"\",\n project_id=\"example-gcp-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gcp = new Wavefront.CloudIntegrationGcp(\"gcp\", new()\n {\n JsonKey = @\"{...your gcp key ...}\n\n\",\n ProjectId = \"example-gcp-project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewCloudIntegrationGcp(ctx, \"gcp\", \u0026wavefront.CloudIntegrationGcpArgs{\n\t\t\tJsonKey: pulumi.String(\"{...your gcp key ...}\\n\\n\"),\n\t\t\tProjectId: pulumi.String(\"example-gcp-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationGcp;\nimport com.pulumi.wavefront.CloudIntegrationGcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gcp = new CloudIntegrationGcp(\"gcp\", CloudIntegrationGcpArgs.builder() \n .jsonKey(\"\"\"\n{...your gcp key ...}\n\n \"\"\")\n .projectId(\"example-gcp-project\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcp:\n type: wavefront:CloudIntegrationGcp\n properties:\n jsonKey: |+\n {...your gcp key ...}\n\n projectId: example-gcp-project\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGCP Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationGcp:CloudIntegrationGcp gcp a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categories":{"type":"array","items":{"type":"string"},"description":"A list of Google Cloud Platform (GCP) services. Valid values are `APPENGINE`,\n`BIGQUERY`, `BIGTABLE`, `CLOUDFUNCTIONS`, `CLOUDIOT`, `CLOUDSQL`, `CLOUDTASKS`, `COMPUTE`, `CONTAINER`,\n`DATAFLOW`, `DATAPROC`, `DATASTORE`, `FIREBASEDATABASE`, `FIREBASEHOSTING`, `FIRESTORE`, `INTERCONNECT`,\n`LOADBALANCING`, `LOGGING`, `ML`, `MONITORING`, `PUBSUB`, `REDIS`, `ROUTER`, `SERVICERUNTIME`, `SPANNER`, `STORAGE`,\n`TPU`, and `VPN`.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"jsonKey":{"type":"string","description":"Private key for a Google Cloud Platform (GCP) service account within your project.\nThe account must have at least Viewer permissions. This key must be in the JSON format generated by GCP.\n","secret":true},"metricFilterRegex":{"type":"string","description":"A regular expression that a metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"projectId":{"type":"string","description":"The Google Cloud Platform (GCP) Project ID.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"required":["jsonKey","name","projectId","service"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categories":{"type":"array","items":{"type":"string"},"description":"A list of Google Cloud Platform (GCP) services. Valid values are `APPENGINE`,\n`BIGQUERY`, `BIGTABLE`, `CLOUDFUNCTIONS`, `CLOUDIOT`, `CLOUDSQL`, `CLOUDTASKS`, `COMPUTE`, `CONTAINER`,\n`DATAFLOW`, `DATAPROC`, `DATASTORE`, `FIREBASEDATABASE`, `FIREBASEHOSTING`, `FIRESTORE`, `INTERCONNECT`,\n`LOADBALANCING`, `LOGGING`, `ML`, `MONITORING`, `PUBSUB`, `REDIS`, `ROUTER`, `SERVICERUNTIME`, `SPANNER`, `STORAGE`,\n`TPU`, and `VPN`.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"jsonKey":{"type":"string","description":"Private key for a Google Cloud Platform (GCP) service account within your project.\nThe account must have at least Viewer permissions. This key must be in the JSON format generated by GCP.\n","secret":true},"metricFilterRegex":{"type":"string","description":"A regular expression that a metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"projectId":{"type":"string","description":"The Google Cloud Platform (GCP) Project ID.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"requiredInputs":["jsonKey","projectId","service"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationGcp resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"categories":{"type":"array","items":{"type":"string"},"description":"A list of Google Cloud Platform (GCP) services. Valid values are `APPENGINE`,\n`BIGQUERY`, `BIGTABLE`, `CLOUDFUNCTIONS`, `CLOUDIOT`, `CLOUDSQL`, `CLOUDTASKS`, `COMPUTE`, `CONTAINER`,\n`DATAFLOW`, `DATAPROC`, `DATASTORE`, `FIREBASEDATABASE`, `FIREBASEHOSTING`, `FIRESTORE`, `INTERCONNECT`,\n`LOADBALANCING`, `LOGGING`, `ML`, `MONITORING`, `PUBSUB`, `REDIS`, `ROUTER`, `SERVICERUNTIME`, `SPANNER`, `STORAGE`,\n`TPU`, and `VPN`.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"jsonKey":{"type":"string","description":"Private key for a Google Cloud Platform (GCP) service account within your project.\nThe account must have at least Viewer permissions. This key must be in the JSON format generated by GCP.\n","secret":true},"metricFilterRegex":{"type":"string","description":"A regular expression that a metric name must match (case-insensitively) in order to be ingested.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"projectId":{"type":"string","description":"The Google Cloud Platform (GCP) Project ID.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationGcpBilling:CloudIntegrationGcpBilling":{"description":"Provides a Wavefront Cloud Integration for Google Cloud Billing. This allows GCP Billing cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst gcpBilling = new wavefront.CloudIntegrationGcpBilling(\"gcpBilling\", {\n apiKey: \"example-api-key\",\n jsonKey: `{...your gcp key ...}\n\n`,\n projectId: \"example-gcp-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\ngcp_billing = wavefront.CloudIntegrationGcpBilling(\"gcpBilling\",\n api_key=\"example-api-key\",\n json_key=\"\"\"{...your gcp key ...}\n\n\"\"\",\n project_id=\"example-gcp-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gcpBilling = new Wavefront.CloudIntegrationGcpBilling(\"gcpBilling\", new()\n {\n ApiKey = \"example-api-key\",\n JsonKey = @\"{...your gcp key ...}\n\n\",\n ProjectId = \"example-gcp-project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewCloudIntegrationGcpBilling(ctx, \"gcpBilling\", \u0026wavefront.CloudIntegrationGcpBillingArgs{\n\t\t\tApiKey: pulumi.String(\"example-api-key\"),\n\t\t\tJsonKey: pulumi.String(\"{...your gcp key ...}\\n\\n\"),\n\t\t\tProjectId: pulumi.String(\"example-gcp-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationGcpBilling;\nimport com.pulumi.wavefront.CloudIntegrationGcpBillingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gcpBilling = new CloudIntegrationGcpBilling(\"gcpBilling\", CloudIntegrationGcpBillingArgs.builder() \n .apiKey(\"example-api-key\")\n .jsonKey(\"\"\"\n{...your gcp key ...}\n\n \"\"\")\n .projectId(\"example-gcp-project\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcpBilling:\n type: wavefront:CloudIntegrationGcpBilling\n properties:\n apiKey: example-api-key\n jsonKey: |+\n {...your gcp key ...}\n\n projectId: example-gcp-project\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGCP Billing Cloud Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationGcpBilling:CloudIntegrationGcpBilling gcp_billing a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"apiKey":{"type":"string","description":"API key for Google Cloud Platform (GCP).\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"jsonKey":{"type":"string","description":"Private key for a Google Cloud Platform (GCP) service account within your project.\nThe account must have at least Viewer permissions. This key must be in the JSON format generated by GCP.\n","secret":true},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"projectId":{"type":"string","description":"The Google Cloud Platform (GCP) Project ID.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"required":["apiKey","jsonKey","name","projectId","service"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"apiKey":{"type":"string","description":"API key for Google Cloud Platform (GCP).\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"jsonKey":{"type":"string","description":"Private key for a Google Cloud Platform (GCP) service account within your project.\nThe account must have at least Viewer permissions. This key must be in the JSON format generated by GCP.\n","secret":true},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"projectId":{"type":"string","description":"The Google Cloud Platform (GCP) Project ID.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"requiredInputs":["apiKey","jsonKey","projectId","service"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationGcpBilling resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"apiKey":{"type":"string","description":"API key for Google Cloud Platform (GCP).\n","secret":true},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"jsonKey":{"type":"string","description":"Private key for a Google Cloud Platform (GCP) service account within your project.\nThe account must have at least Viewer permissions. This key must be in the JSON format generated by GCP.\n","secret":true},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"projectId":{"type":"string","description":"The Google Cloud Platform (GCP) Project ID.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"type":"object"}},"wavefront:index/cloudIntegrationNewRelic:CloudIntegrationNewRelic":{"description":"Provides a Wavefront Cloud Integration for New Relic. This allows New Relic cloud integrations to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst newrelic = new wavefront.CloudIntegrationNewRelic(\"newrelic\", {apiKey: \"example-api-key\"});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nnewrelic = wavefront.CloudIntegrationNewRelic(\"newrelic\", api_key=\"example-api-key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newrelic = new Wavefront.CloudIntegrationNewRelic(\"newrelic\", new()\n {\n ApiKey = \"example-api-key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewCloudIntegrationNewRelic(ctx, \"newrelic\", \u0026wavefront.CloudIntegrationNewRelicArgs{\n\t\t\tApiKey: pulumi.String(\"example-api-key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.CloudIntegrationNewRelic;\nimport com.pulumi.wavefront.CloudIntegrationNewRelicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var newrelic = new CloudIntegrationNewRelic(\"newrelic\", CloudIntegrationNewRelicArgs.builder() \n .apiKey(\"example-api-key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n newrelic:\n type: wavefront:CloudIntegrationNewRelic\n properties:\n apiKey: example-api-key\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nNewRelic Integrations can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/cloudIntegrationNewRelic:CloudIntegrationNewRelic newrelic a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"apiKey":{"type":"string","description":"New Relic REST API key.\n","secret":true},"appFilterRegex":{"type":"string","description":"A regular expression that an application name must match (case-insensitively) in order to collect metrics.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"hostFilterRegex":{"type":"string","description":"A regular expression that a host name must match (case-insensitively) in order to collect metrics.\n"},"metricFilters":{"type":"array","items":{"$ref":"#/types/wavefront:index/CloudIntegrationNewRelicMetricFilter:CloudIntegrationNewRelicMetricFilter"},"description":"See Metric Filter.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n"},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"required":["apiKey","name","service"],"inputProperties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"apiKey":{"type":"string","description":"New Relic REST API key.\n","secret":true},"appFilterRegex":{"type":"string","description":"A regular expression that an application name must match (case-insensitively) in order to collect metrics.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"hostFilterRegex":{"type":"string","description":"A regular expression that a host name must match (case-insensitively) in order to collect metrics.\n"},"metricFilters":{"type":"array","items":{"$ref":"#/types/wavefront:index/CloudIntegrationNewRelicMetricFilter:CloudIntegrationNewRelicMetricFilter"},"description":"See Metric Filter.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"requiredInputs":["apiKey","service"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudIntegrationNewRelic resources.\n","properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of point tag key-values to add to every point ingested using this integration.\n"},"apiKey":{"type":"string","description":"New Relic REST API key.\n","secret":true},"appFilterRegex":{"type":"string","description":"A regular expression that an application name must match (case-insensitively) in order to collect metrics.\n"},"forceSave":{"type":"boolean","description":"Forces this resource to save, even if errors are present.\n"},"hostFilterRegex":{"type":"string","description":"A regular expression that a host name must match (case-insensitively) in order to collect metrics.\n"},"metricFilters":{"type":"array","items":{"$ref":"#/types/wavefront:index/CloudIntegrationNewRelicMetricFilter:CloudIntegrationNewRelicMetricFilter"},"description":"See Metric Filter.\n"},"name":{"type":"string","description":"The human-readable name of this integration.\n"},"service":{"type":"string","description":"A value denoting which cloud service this service integrates with.\n","willReplaceOnChanges":true},"serviceRefreshRateInMinutes":{"type":"integer","description":"How often, in minutes, to refresh the service.\n"}},"type":"object"}},"wavefront:index/dashboard:Dashboard":{"description":"Provides a Wavefront Dashboard resource. This allows dashboards to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.User;\nimport com.pulumi.wavefront.UserArgs;\nimport com.pulumi.wavefront.Dashboard;\nimport com.pulumi.wavefront.DashboardArgs;\nimport com.pulumi.wavefront.inputs.DashboardSectionArgs;\nimport com.pulumi.wavefront.inputs.DashboardParameterDetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new User(\"basic\", UserArgs.builder() \n .email(\"test+tftesting@example.com\")\n .groups( \n \"agent_management\",\n \"alerts_management\")\n .build());\n\n var testDashboard = new Dashboard(\"testDashboard\", DashboardArgs.builder() \n .description(\"testing, testing\")\n .url(\"tftestcreate\")\n .displaySectionTableOfContents(true)\n .displayQueryParameters(true)\n .canViews(basic.id())\n .sections(DashboardSectionArgs.builder()\n .name(\"section 1\")\n .rows(DashboardSectionRowArgs.builder()\n .charts(DashboardSectionRowChartArgs.builder()\n .name(\"chart 1\")\n .description(\"chart number 1\")\n .units(\"something per unit\")\n .sources(DashboardSectionRowChartSourceArgs.builder()\n .name(\"source name\")\n .query(\"ts()\")\n .build())\n .chartSetting(DashboardSectionRowChartChartSettingArgs.builder()\n .type(\"linear\")\n .build())\n .summarization(\"MEAN\")\n .build())\n .build())\n .build())\n .parameterDetails(DashboardParameterDetailArgs.builder()\n .name(\"param1\")\n .label(\"param1\")\n .defaultValue(\"Label\")\n .hideFromView(false)\n .parameterType(\"SIMPLE\")\n .valuesToReadableStrings(Map.of(\"Label\", \"test\"))\n .build())\n .tags( \n \"b\",\n \"terraform\",\n \"a\",\n \"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: wavefront:User\n properties:\n email: test+tftesting@example.com\n groups:\n - agent_management\n - alerts_management\n testDashboard:\n type: wavefront:Dashboard\n properties:\n description: testing, testing\n url: tftestcreate\n displaySectionTableOfContents: true\n displayQueryParameters: true\n canViews:\n - ${basic.id}\n sections:\n - name: section 1\n rows:\n - charts:\n - name: chart 1\n description: chart number 1\n units: something per unit\n sources:\n - name: source name\n query: ts()\n chartSetting:\n type: linear\n summarization: MEAN\n parameterDetails:\n - name: param1\n label: param1\n defaultValue: Label\n hideFromView: false\n parameterType: SIMPLE\n valuesToReadableStrings:\n Label: test\n tags:\n - b\n - terraform\n - a\n - test\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDashboards can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/dashboard:Dashboard dashboard tftestimport\n```\n ","properties":{"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of users/groups/roles that can modify the dashboard.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of users/groups/roles that can view the dashboard.\n"},"description":{"type":"string","description":"Human-readable description of the dashboard.\n"},"displayQueryParameters":{"type":"boolean","description":"Whether the dashboard parameters section is opened by default when the dashboard\nis shown.\n"},"displaySectionTableOfContents":{"type":"boolean","description":"Whether the \"pills\" quick-linked the sections of the dashboard are\ndisplayed by default when the dashboard is shown.\n"},"eventFilterType":{"type":"string","description":"How charts belonging to this dashboard should display events. `BYCHART` is default if\nunspecified. Valid options are: `BYCHART`, `AUTOMATIC`, `ALL`, `NONE`, `BYDASHBOARD`, and `BYCHARTANDDASHBOARD`.\n"},"name":{"type":"string","description":"Name of the dashboard.\n"},"parameterDetails":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardParameterDetail:DashboardParameterDetail"},"description":"The current JSON representation of dashboard parameters. See parameter details.\n"},"sections":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardSection:DashboardSection"},"description":"Dashboard chart sections. See dashboard sections.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"url":{"type":"string","description":"Unique identifier, also a URL slug of the dashboard.\n"}},"required":["canModifies","description","name","sections","tags","url"],"inputProperties":{"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of users/groups/roles that can modify the dashboard.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of users/groups/roles that can view the dashboard.\n"},"description":{"type":"string","description":"Human-readable description of the dashboard.\n"},"displayQueryParameters":{"type":"boolean","description":"Whether the dashboard parameters section is opened by default when the dashboard\nis shown.\n"},"displaySectionTableOfContents":{"type":"boolean","description":"Whether the \"pills\" quick-linked the sections of the dashboard are\ndisplayed by default when the dashboard is shown.\n"},"eventFilterType":{"type":"string","description":"How charts belonging to this dashboard should display events. `BYCHART` is default if\nunspecified. Valid options are: `BYCHART`, `AUTOMATIC`, `ALL`, `NONE`, `BYDASHBOARD`, and `BYCHARTANDDASHBOARD`.\n"},"name":{"type":"string","description":"Name of the dashboard.\n"},"parameterDetails":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardParameterDetail:DashboardParameterDetail"},"description":"The current JSON representation of dashboard parameters. See parameter details.\n"},"sections":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardSection:DashboardSection"},"description":"Dashboard chart sections. See dashboard sections.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"url":{"type":"string","description":"Unique identifier, also a URL slug of the dashboard.\n"}},"requiredInputs":["description","sections","tags","url"],"stateInputs":{"description":"Input properties used for looking up and filtering Dashboard resources.\n","properties":{"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of users/groups/roles that can modify the dashboard.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of users/groups/roles that can view the dashboard.\n"},"description":{"type":"string","description":"Human-readable description of the dashboard.\n"},"displayQueryParameters":{"type":"boolean","description":"Whether the dashboard parameters section is opened by default when the dashboard\nis shown.\n"},"displaySectionTableOfContents":{"type":"boolean","description":"Whether the \"pills\" quick-linked the sections of the dashboard are\ndisplayed by default when the dashboard is shown.\n"},"eventFilterType":{"type":"string","description":"How charts belonging to this dashboard should display events. `BYCHART` is default if\nunspecified. Valid options are: `BYCHART`, `AUTOMATIC`, `ALL`, `NONE`, `BYDASHBOARD`, and `BYCHARTANDDASHBOARD`.\n"},"name":{"type":"string","description":"Name of the dashboard.\n"},"parameterDetails":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardParameterDetail:DashboardParameterDetail"},"description":"The current JSON representation of dashboard parameters. See parameter details.\n"},"sections":{"type":"array","items":{"$ref":"#/types/wavefront:index/DashboardSection:DashboardSection"},"description":"Dashboard chart sections. See dashboard sections.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"url":{"type":"string","description":"Unique identifier, also a URL slug of the dashboard.\n"}},"type":"object"}},"wavefront:index/dashboardJson:DashboardJson":{"description":"Provides a Wavefront Dashboard JSON resource. This allows dashboards to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst testDashboardJson = new wavefront.DashboardJson(\"testDashboardJson\", {dashboardJson: ` {\n \"acl\": {\n \"canModify\": [\n \"group-uuid\",\n \"role-uuid\"\n ],\n \"canView\": [\n \"group-uuid\",\n \"role-uuid\"\n ]\n },\n \"name\": \"Terraform Test Dashboard Json\",\n \"description\": \"a\",\n \"eventFilterType\": \"BYCHART\",\n \"eventQuery\": \"\",\n \"defaultTimeWindow\": \"\",\n \"url\": \"tftestimport\",\n \"displayDescription\": false,\n \"displaySectionTableOfContents\": true,\n \"displayQueryParameters\": false,\n \"sections\": [\n {\n \"name\": \"section 1\",\n \"rows\": [\n {\n \"charts\": [\n {\n \"name\": \"chart 1\",\n \"sources\": [\n {\n \"name\": \"source 1\",\n \"query\": \"ts()\",\n \"scatterPlotSource\": \"Y\",\n \"querybuilderEnabled\": false,\n \"sourceDescription\": \"\"\n }\n ],\n \"units\": \"someunit\",\n \"base\": 0,\n \"noDefaultEvents\": false,\n \"interpolatePoints\": false,\n \"includeObsoleteMetrics\": false,\n \"description\": \"This is chart 1, showing something\",\n \"chartSettings\": {\n \"type\": \"markdown-widget\",\n \"max\": 100,\n \"expectedDataSpacing\": 120,\n \"windowing\": \"full\",\n \"windowSize\": 10,\n \"autoColumnTags\": false,\n \"columnTags\": \"deprecated\",\n \"tagMode\": \"all\",\n \"numTags\": 2,\n \"customTags\": [\n \"tag1\",\n \"tag2\"\n ],\n \"groupBySource\": true,\n \"y1Max\": 100,\n \"y1Units\": \"units\",\n \"y0ScaleSIBy1024\": true,\n \"y1ScaleSIBy1024\": true,\n \"y0UnitAutoscaling\": true,\n \"y1UnitAutoscaling\": true,\n \"fixedLegendEnabled\": true,\n \"fixedLegendUseRawStats\": true,\n \"fixedLegendPosition\": \"RIGHT\",\n \"fixedLegendDisplayStats\": [\n \"stat1\",\n \"stat2\"\n ],\n \"fixedLegendFilterSort\": \"TOP\",\n \"fixedLegendFilterLimit\": 1,\n \"fixedLegendFilterField\": \"CURRENT\",\n \"plainMarkdownContent\": \"markdown content\"\n },\n \"chartAttributes\": {\n \"dashboardLinks\": {\n \"*\": {\n \"variables\": {\n \"xxx\": \"xxx\"\n },\n \"destination\": \"/dashboards/xxxx\"\n }\n }\n },\n \"summarization\": \"MEAN\"\n }\n ],\n \"heightFactor\": 50\n }\n ]\n }\n ],\n \"parameterDetails\": {\n \"param\": {\n \"hideFromView\": false,\n \"description\": null,\n \"allowAll\": null,\n \"tagKey\": null,\n \"queryValue\": null,\n \"dynamicFieldType\": null,\n \"reverseDynSort\": null,\n \"parameterType\": \"SIMPLE\",\n \"label\": \"test\",\n \"defaultValue\": \"Label\",\n \"valuesToReadableStrings\": {\n \"Label\": \"test\"\n },\n \"selectedLabel\": \"Label\",\n \"value\": \"test\"\n }\n },\n \"tags\": {\n \"customerTags\": [\n \"terraform\"\n ]\n }\n }\n\n`});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\ntest_dashboard_json = wavefront.DashboardJson(\"testDashboardJson\", dashboard_json=\"\"\" {\n \"acl\": {\n \"canModify\": [\n \"group-uuid\",\n \"role-uuid\"\n ],\n \"canView\": [\n \"group-uuid\",\n \"role-uuid\"\n ]\n },\n \"name\": \"Terraform Test Dashboard Json\",\n \"description\": \"a\",\n \"eventFilterType\": \"BYCHART\",\n \"eventQuery\": \"\",\n \"defaultTimeWindow\": \"\",\n \"url\": \"tftestimport\",\n \"displayDescription\": false,\n \"displaySectionTableOfContents\": true,\n \"displayQueryParameters\": false,\n \"sections\": [\n {\n \"name\": \"section 1\",\n \"rows\": [\n {\n \"charts\": [\n {\n \"name\": \"chart 1\",\n \"sources\": [\n {\n \"name\": \"source 1\",\n \"query\": \"ts()\",\n \"scatterPlotSource\": \"Y\",\n \"querybuilderEnabled\": false,\n \"sourceDescription\": \"\"\n }\n ],\n \"units\": \"someunit\",\n \"base\": 0,\n \"noDefaultEvents\": false,\n \"interpolatePoints\": false,\n \"includeObsoleteMetrics\": false,\n \"description\": \"This is chart 1, showing something\",\n \"chartSettings\": {\n \"type\": \"markdown-widget\",\n \"max\": 100,\n \"expectedDataSpacing\": 120,\n \"windowing\": \"full\",\n \"windowSize\": 10,\n \"autoColumnTags\": false,\n \"columnTags\": \"deprecated\",\n \"tagMode\": \"all\",\n \"numTags\": 2,\n \"customTags\": [\n \"tag1\",\n \"tag2\"\n ],\n \"groupBySource\": true,\n \"y1Max\": 100,\n \"y1Units\": \"units\",\n \"y0ScaleSIBy1024\": true,\n \"y1ScaleSIBy1024\": true,\n \"y0UnitAutoscaling\": true,\n \"y1UnitAutoscaling\": true,\n \"fixedLegendEnabled\": true,\n \"fixedLegendUseRawStats\": true,\n \"fixedLegendPosition\": \"RIGHT\",\n \"fixedLegendDisplayStats\": [\n \"stat1\",\n \"stat2\"\n ],\n \"fixedLegendFilterSort\": \"TOP\",\n \"fixedLegendFilterLimit\": 1,\n \"fixedLegendFilterField\": \"CURRENT\",\n \"plainMarkdownContent\": \"markdown content\"\n },\n \"chartAttributes\": {\n \"dashboardLinks\": {\n \"*\": {\n \"variables\": {\n \"xxx\": \"xxx\"\n },\n \"destination\": \"/dashboards/xxxx\"\n }\n }\n },\n \"summarization\": \"MEAN\"\n }\n ],\n \"heightFactor\": 50\n }\n ]\n }\n ],\n \"parameterDetails\": {\n \"param\": {\n \"hideFromView\": false,\n \"description\": null,\n \"allowAll\": null,\n \"tagKey\": null,\n \"queryValue\": null,\n \"dynamicFieldType\": null,\n \"reverseDynSort\": null,\n \"parameterType\": \"SIMPLE\",\n \"label\": \"test\",\n \"defaultValue\": \"Label\",\n \"valuesToReadableStrings\": {\n \"Label\": \"test\"\n },\n \"selectedLabel\": \"Label\",\n \"value\": \"test\"\n }\n },\n \"tags\": {\n \"customerTags\": [\n \"terraform\"\n ]\n }\n }\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testDashboardJson = new Wavefront.DashboardJson(\"testDashboardJson\", new()\n {\n JSON = @\" {\n \"\"acl\"\": {\n \"\"canModify\"\": [\n \"\"group-uuid\"\",\n \"\"role-uuid\"\"\n ],\n \"\"canView\"\": [\n \"\"group-uuid\"\",\n \"\"role-uuid\"\"\n ]\n },\n \"\"name\"\": \"\"Terraform Test Dashboard Json\"\",\n \"\"description\"\": \"\"a\"\",\n \"\"eventFilterType\"\": \"\"BYCHART\"\",\n \"\"eventQuery\"\": \"\"\"\",\n \"\"defaultTimeWindow\"\": \"\"\"\",\n \"\"url\"\": \"\"tftestimport\"\",\n \"\"displayDescription\"\": false,\n \"\"displaySectionTableOfContents\"\": true,\n \"\"displayQueryParameters\"\": false,\n \"\"sections\"\": [\n {\n \"\"name\"\": \"\"section 1\"\",\n \"\"rows\"\": [\n {\n \"\"charts\"\": [\n {\n \"\"name\"\": \"\"chart 1\"\",\n \"\"sources\"\": [\n {\n \"\"name\"\": \"\"source 1\"\",\n \"\"query\"\": \"\"ts()\"\",\n \"\"scatterPlotSource\"\": \"\"Y\"\",\n \"\"querybuilderEnabled\"\": false,\n \"\"sourceDescription\"\": \"\"\"\"\n }\n ],\n \"\"units\"\": \"\"someunit\"\",\n \"\"base\"\": 0,\n \"\"noDefaultEvents\"\": false,\n \"\"interpolatePoints\"\": false,\n \"\"includeObsoleteMetrics\"\": false,\n \"\"description\"\": \"\"This is chart 1, showing something\"\",\n \"\"chartSettings\"\": {\n \"\"type\"\": \"\"markdown-widget\"\",\n \"\"max\"\": 100,\n \"\"expectedDataSpacing\"\": 120,\n \"\"windowing\"\": \"\"full\"\",\n \"\"windowSize\"\": 10,\n \"\"autoColumnTags\"\": false,\n \"\"columnTags\"\": \"\"deprecated\"\",\n \"\"tagMode\"\": \"\"all\"\",\n \"\"numTags\"\": 2,\n \"\"customTags\"\": [\n \"\"tag1\"\",\n \"\"tag2\"\"\n ],\n \"\"groupBySource\"\": true,\n \"\"y1Max\"\": 100,\n \"\"y1Units\"\": \"\"units\"\",\n \"\"y0ScaleSIBy1024\"\": true,\n \"\"y1ScaleSIBy1024\"\": true,\n \"\"y0UnitAutoscaling\"\": true,\n \"\"y1UnitAutoscaling\"\": true,\n \"\"fixedLegendEnabled\"\": true,\n \"\"fixedLegendUseRawStats\"\": true,\n \"\"fixedLegendPosition\"\": \"\"RIGHT\"\",\n \"\"fixedLegendDisplayStats\"\": [\n \"\"stat1\"\",\n \"\"stat2\"\"\n ],\n \"\"fixedLegendFilterSort\"\": \"\"TOP\"\",\n \"\"fixedLegendFilterLimit\"\": 1,\n \"\"fixedLegendFilterField\"\": \"\"CURRENT\"\",\n \"\"plainMarkdownContent\"\": \"\"markdown content\"\"\n },\n \"\"chartAttributes\"\": {\n \"\"dashboardLinks\"\": {\n \"\"*\"\": {\n \"\"variables\"\": {\n \"\"xxx\"\": \"\"xxx\"\"\n },\n \"\"destination\"\": \"\"/dashboards/xxxx\"\"\n }\n }\n },\n \"\"summarization\"\": \"\"MEAN\"\"\n }\n ],\n \"\"heightFactor\"\": 50\n }\n ]\n }\n ],\n \"\"parameterDetails\"\": {\n \"\"param\"\": {\n \"\"hideFromView\"\": false,\n \"\"description\"\": null,\n \"\"allowAll\"\": null,\n \"\"tagKey\"\": null,\n \"\"queryValue\"\": null,\n \"\"dynamicFieldType\"\": null,\n \"\"reverseDynSort\"\": null,\n \"\"parameterType\"\": \"\"SIMPLE\"\",\n \"\"label\"\": \"\"test\"\",\n \"\"defaultValue\"\": \"\"Label\"\",\n \"\"valuesToReadableStrings\"\": {\n \"\"Label\"\": \"\"test\"\"\n },\n \"\"selectedLabel\"\": \"\"Label\"\",\n \"\"value\"\": \"\"test\"\"\n }\n },\n \"\"tags\"\": {\n \"\"customerTags\"\": [\n \"\"terraform\"\"\n ]\n }\n }\n\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewDashboardJson(ctx, \"testDashboardJson\", \u0026wavefront.DashboardJsonArgs{\n\t\t\tDashboardJson: pulumi.String(` {\n \"acl\": {\n \"canModify\": [\n \"group-uuid\",\n \"role-uuid\"\n ],\n \"canView\": [\n \"group-uuid\",\n \"role-uuid\"\n ]\n },\n \"name\": \"Terraform Test Dashboard Json\",\n \"description\": \"a\",\n \"eventFilterType\": \"BYCHART\",\n \"eventQuery\": \"\",\n \"defaultTimeWindow\": \"\",\n \"url\": \"tftestimport\",\n \"displayDescription\": false,\n \"displaySectionTableOfContents\": true,\n \"displayQueryParameters\": false,\n \"sections\": [\n {\n \"name\": \"section 1\",\n \"rows\": [\n {\n \"charts\": [\n {\n \"name\": \"chart 1\",\n \"sources\": [\n {\n \"name\": \"source 1\",\n \"query\": \"ts()\",\n \"scatterPlotSource\": \"Y\",\n \"querybuilderEnabled\": false,\n \"sourceDescription\": \"\"\n }\n ],\n \"units\": \"someunit\",\n \"base\": 0,\n \"noDefaultEvents\": false,\n \"interpolatePoints\": false,\n \"includeObsoleteMetrics\": false,\n \"description\": \"This is chart 1, showing something\",\n \"chartSettings\": {\n \"type\": \"markdown-widget\",\n \"max\": 100,\n \"expectedDataSpacing\": 120,\n \"windowing\": \"full\",\n \"windowSize\": 10,\n \"autoColumnTags\": false,\n \"columnTags\": \"deprecated\",\n \"tagMode\": \"all\",\n \"numTags\": 2,\n \"customTags\": [\n \"tag1\",\n \"tag2\"\n ],\n \"groupBySource\": true,\n \"y1Max\": 100,\n \"y1Units\": \"units\",\n \"y0ScaleSIBy1024\": true,\n \"y1ScaleSIBy1024\": true,\n \"y0UnitAutoscaling\": true,\n \"y1UnitAutoscaling\": true,\n \"fixedLegendEnabled\": true,\n \"fixedLegendUseRawStats\": true,\n \"fixedLegendPosition\": \"RIGHT\",\n \"fixedLegendDisplayStats\": [\n \"stat1\",\n \"stat2\"\n ],\n \"fixedLegendFilterSort\": \"TOP\",\n \"fixedLegendFilterLimit\": 1,\n \"fixedLegendFilterField\": \"CURRENT\",\n \"plainMarkdownContent\": \"markdown content\"\n },\n \"chartAttributes\": {\n \"dashboardLinks\": {\n \"*\": {\n \"variables\": {\n \"xxx\": \"xxx\"\n },\n \"destination\": \"/dashboards/xxxx\"\n }\n }\n },\n \"summarization\": \"MEAN\"\n }\n ],\n \"heightFactor\": 50\n }\n ]\n }\n ],\n \"parameterDetails\": {\n \"param\": {\n \"hideFromView\": false,\n \"description\": null,\n \"allowAll\": null,\n \"tagKey\": null,\n \"queryValue\": null,\n \"dynamicFieldType\": null,\n \"reverseDynSort\": null,\n \"parameterType\": \"SIMPLE\",\n \"label\": \"test\",\n \"defaultValue\": \"Label\",\n \"valuesToReadableStrings\": {\n \"Label\": \"test\"\n },\n \"selectedLabel\": \"Label\",\n \"value\": \"test\"\n }\n },\n \"tags\": {\n \"customerTags\": [\n \"terraform\"\n ]\n }\n }\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.DashboardJson;\nimport com.pulumi.wavefront.DashboardJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testDashboardJson = new DashboardJson(\"testDashboardJson\", DashboardJsonArgs.builder() \n .dashboardJson(\"\"\"\n {\n \"acl\": {\n \"canModify\": [\n \"group-uuid\",\n \"role-uuid\"\n ],\n \"canView\": [\n \"group-uuid\",\n \"role-uuid\"\n ]\n },\n \"name\": \"Terraform Test Dashboard Json\",\n \"description\": \"a\",\n \"eventFilterType\": \"BYCHART\",\n \"eventQuery\": \"\",\n \"defaultTimeWindow\": \"\",\n \"url\": \"tftestimport\",\n \"displayDescription\": false,\n \"displaySectionTableOfContents\": true,\n \"displayQueryParameters\": false,\n \"sections\": [\n {\n \"name\": \"section 1\",\n \"rows\": [\n {\n \"charts\": [\n {\n \"name\": \"chart 1\",\n \"sources\": [\n {\n \"name\": \"source 1\",\n \"query\": \"ts()\",\n \"scatterPlotSource\": \"Y\",\n \"querybuilderEnabled\": false,\n \"sourceDescription\": \"\"\n }\n ],\n \"units\": \"someunit\",\n \"base\": 0,\n \"noDefaultEvents\": false,\n \"interpolatePoints\": false,\n \"includeObsoleteMetrics\": false,\n \"description\": \"This is chart 1, showing something\",\n \"chartSettings\": {\n \"type\": \"markdown-widget\",\n \"max\": 100,\n \"expectedDataSpacing\": 120,\n \"windowing\": \"full\",\n \"windowSize\": 10,\n \"autoColumnTags\": false,\n \"columnTags\": \"deprecated\",\n \"tagMode\": \"all\",\n \"numTags\": 2,\n \"customTags\": [\n \"tag1\",\n \"tag2\"\n ],\n \"groupBySource\": true,\n \"y1Max\": 100,\n \"y1Units\": \"units\",\n \"y0ScaleSIBy1024\": true,\n \"y1ScaleSIBy1024\": true,\n \"y0UnitAutoscaling\": true,\n \"y1UnitAutoscaling\": true,\n \"fixedLegendEnabled\": true,\n \"fixedLegendUseRawStats\": true,\n \"fixedLegendPosition\": \"RIGHT\",\n \"fixedLegendDisplayStats\": [\n \"stat1\",\n \"stat2\"\n ],\n \"fixedLegendFilterSort\": \"TOP\",\n \"fixedLegendFilterLimit\": 1,\n \"fixedLegendFilterField\": \"CURRENT\",\n \"plainMarkdownContent\": \"markdown content\"\n },\n \"chartAttributes\": {\n \"dashboardLinks\": {\n \"*\": {\n \"variables\": {\n \"xxx\": \"xxx\"\n },\n \"destination\": \"/dashboards/xxxx\"\n }\n }\n },\n \"summarization\": \"MEAN\"\n }\n ],\n \"heightFactor\": 50\n }\n ]\n }\n ],\n \"parameterDetails\": {\n \"param\": {\n \"hideFromView\": false,\n \"description\": null,\n \"allowAll\": null,\n \"tagKey\": null,\n \"queryValue\": null,\n \"dynamicFieldType\": null,\n \"reverseDynSort\": null,\n \"parameterType\": \"SIMPLE\",\n \"label\": \"test\",\n \"defaultValue\": \"Label\",\n \"valuesToReadableStrings\": {\n \"Label\": \"test\"\n },\n \"selectedLabel\": \"Label\",\n \"value\": \"test\"\n }\n },\n \"tags\": {\n \"customerTags\": [\n \"terraform\"\n ]\n }\n }\n\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDashboardJson:\n type: wavefront:DashboardJson\n properties:\n dashboardJson: |2+\n {\n \"acl\": {\n \"canModify\": [\n \"group-uuid\",\n \"role-uuid\"\n ],\n \"canView\": [\n \"group-uuid\",\n \"role-uuid\"\n ]\n },\n \"name\": \"Terraform Test Dashboard Json\",\n \"description\": \"a\",\n \"eventFilterType\": \"BYCHART\",\n \"eventQuery\": \"\",\n \"defaultTimeWindow\": \"\",\n \"url\": \"tftestimport\",\n \"displayDescription\": false,\n \"displaySectionTableOfContents\": true,\n \"displayQueryParameters\": false,\n \"sections\": [\n {\n \"name\": \"section 1\",\n \"rows\": [\n {\n \"charts\": [\n {\n \"name\": \"chart 1\",\n \"sources\": [\n {\n \"name\": \"source 1\",\n \"query\": \"ts()\",\n \"scatterPlotSource\": \"Y\",\n \"querybuilderEnabled\": false,\n \"sourceDescription\": \"\"\n }\n ],\n \"units\": \"someunit\",\n \"base\": 0,\n \"noDefaultEvents\": false,\n \"interpolatePoints\": false,\n \"includeObsoleteMetrics\": false,\n \"description\": \"This is chart 1, showing something\",\n \"chartSettings\": {\n \"type\": \"markdown-widget\",\n \"max\": 100,\n \"expectedDataSpacing\": 120,\n \"windowing\": \"full\",\n \"windowSize\": 10,\n \"autoColumnTags\": false,\n \"columnTags\": \"deprecated\",\n \"tagMode\": \"all\",\n \"numTags\": 2,\n \"customTags\": [\n \"tag1\",\n \"tag2\"\n ],\n \"groupBySource\": true,\n \"y1Max\": 100,\n \"y1Units\": \"units\",\n \"y0ScaleSIBy1024\": true,\n \"y1ScaleSIBy1024\": true,\n \"y0UnitAutoscaling\": true,\n \"y1UnitAutoscaling\": true,\n \"fixedLegendEnabled\": true,\n \"fixedLegendUseRawStats\": true,\n \"fixedLegendPosition\": \"RIGHT\",\n \"fixedLegendDisplayStats\": [\n \"stat1\",\n \"stat2\"\n ],\n \"fixedLegendFilterSort\": \"TOP\",\n \"fixedLegendFilterLimit\": 1,\n \"fixedLegendFilterField\": \"CURRENT\",\n \"plainMarkdownContent\": \"markdown content\"\n },\n \"chartAttributes\": {\n \"dashboardLinks\": {\n \"*\": {\n \"variables\": {\n \"xxx\": \"xxx\"\n },\n \"destination\": \"/dashboards/xxxx\"\n }\n }\n },\n \"summarization\": \"MEAN\"\n }\n ],\n \"heightFactor\": 50\n }\n ]\n }\n ],\n \"parameterDetails\": {\n \"param\": {\n \"hideFromView\": false,\n \"description\": null,\n \"allowAll\": null,\n \"tagKey\": null,\n \"queryValue\": null,\n \"dynamicFieldType\": null,\n \"reverseDynSort\": null,\n \"parameterType\": \"SIMPLE\",\n \"label\": \"test\",\n \"defaultValue\": \"Label\",\n \"valuesToReadableStrings\": {\n \"Label\": \"test\"\n },\n \"selectedLabel\": \"Label\",\n \"value\": \"test\"\n }\n },\n \"tags\": {\n \"customerTags\": [\n \"terraform\"\n ]\n }\n }\n```\n\n*\n*Note:\n** 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.\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDashboard JSON can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/dashboardJson:DashboardJson dashboard_json tftestimport\n```\n ","properties":{"dashboardJson":{"type":"string","description":"See the [Wavefront API Documentation](https://docs.wavefront.com/wavefront_api.html#api-documentation-wavefront-instance)\nfor instructions on how to get to your API documentation for more details.\n","language":{"csharp":{"name":"JSON"}}}},"required":["dashboardJson"],"inputProperties":{"dashboardJson":{"type":"string","description":"See the [Wavefront API Documentation](https://docs.wavefront.com/wavefront_api.html#api-documentation-wavefront-instance)\nfor instructions on how to get to your API documentation for more details.\n","language":{"csharp":{"name":"JSON"}}}},"requiredInputs":["dashboardJson"],"stateInputs":{"description":"Input properties used for looking up and filtering DashboardJson resources.\n","properties":{"dashboardJson":{"type":"string","description":"See the [Wavefront API Documentation](https://docs.wavefront.com/wavefront_api.html#api-documentation-wavefront-instance)\nfor instructions on how to get to your API documentation for more details.\n","language":{"csharp":{"name":"JSON"}}}},"type":"object"}},"wavefront:index/derivedMetric:DerivedMetric":{"description":"Provides a Wavefront Derived Metric Resource. This allows derived metrics to be created,\nupdated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst derived = new wavefront.DerivedMetric(\"derived\", {\n minutes: 5,\n query: \"aliasMetric(5, \\\"some.metric\\\")\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nderived = wavefront.DerivedMetric(\"derived\",\n minutes=5,\n query=\"aliasMetric(5, \\\"some.metric\\\")\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var derived = new Wavefront.DerivedMetric(\"derived\", new()\n {\n Minutes = 5,\n Query = \"aliasMetric(5, \\\"some.metric\\\")\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewDerivedMetric(ctx, \"derived\", \u0026wavefront.DerivedMetricArgs{\n\t\t\tMinutes: pulumi.Int(5),\n\t\t\tQuery: pulumi.String(\"aliasMetric(5, \\\"some.metric\\\")\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.DerivedMetric;\nimport com.pulumi.wavefront.DerivedMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var derived = new DerivedMetric(\"derived\", DerivedMetricArgs.builder() \n .minutes(5)\n .query(\"aliasMetric(5, \\\"some.metric\\\")\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n derived:\n type: wavefront:DerivedMetric\n properties:\n minutes: 5\n query: aliasMetric(5, \"some.metric\")\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDerived Metrics can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/derivedMetric:DerivedMetric derived_metric 1577102900578\n```\n ","properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information for the derived metric.\n"},"minutes":{"type":"integer","description":"How frequently the query generating the derived metric is run.\n"},"name":{"type":"string","description":"The name of the Derived Metric in Wavefront.\n"},"query":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"}},"required":["minutes","name","query"],"inputProperties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information for the derived metric.\n"},"minutes":{"type":"integer","description":"How frequently the query generating the derived metric is run.\n"},"name":{"type":"string","description":"The name of the Derived Metric in Wavefront.\n"},"query":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"}},"requiredInputs":["minutes","query"],"stateInputs":{"description":"Input properties used for looking up and filtering DerivedMetric resources.\n","properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information for the derived metric.\n"},"minutes":{"type":"integer","description":"How frequently the query generating the derived metric is run.\n"},"name":{"type":"string","description":"The name of the Derived Metric in Wavefront.\n"},"query":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"}},"type":"object"}},"wavefront:index/event:Event":{"description":"Provides a Wavefront event resource. This allows events to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst event = new wavefront.Event(\"event\", {\n annotations: {\n details: \"description\",\n severity: \"info\",\n type: \"event type\",\n },\n tags: [\"eventTag1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nevent = wavefront.Event(\"event\",\n annotations={\n \"details\": \"description\",\n \"severity\": \"info\",\n \"type\": \"event type\",\n },\n tags=[\"eventTag1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @event = new Wavefront.Event(\"event\", new()\n {\n Annotations = \n {\n { \"details\", \"description\" },\n { \"severity\", \"info\" },\n { \"type\", \"event type\" },\n },\n Tags = new[]\n {\n \"eventTag1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewEvent(ctx, \"event\", \u0026wavefront.EventArgs{\n\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\"details\": pulumi.String(\"description\"),\n\t\t\t\t\"severity\": pulumi.String(\"info\"),\n\t\t\t\t\"type\": pulumi.String(\"event type\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eventTag1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.Event;\nimport com.pulumi.wavefront.EventArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var event = new Event(\"event\", EventArgs.builder() \n .annotations(Map.ofEntries(\n Map.entry(\"details\", \"description\"),\n Map.entry(\"severity\", \"info\"),\n Map.entry(\"type\", \"event type\")\n ))\n .tags(\"eventTag1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n event:\n type: wavefront:Event\n properties:\n annotations:\n details: description\n severity: info\n type: event type\n tags:\n - eventTag1\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nYou can import events by using the id, for example:\n\n```sh\n $ pulumi import wavefront:index/event:Event event 1479868728473\n```\n ","properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"The annotations associated with the event.\n"},"endtimeKey":{"type":"integer"},"name":{"type":"string","description":"The name of the event as it is displayed in Wavefront.\n"},"startTime":{"type":"integer","description":"The start time of the event in epoch milliseconds.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"}},"required":["annotations","name"],"inputProperties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"The annotations associated with the event.\n"},"endtimeKey":{"type":"integer"},"name":{"type":"string","description":"The name of the event as it is displayed in Wavefront.\n"},"startTime":{"type":"integer","description":"The start time of the event in epoch milliseconds.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"}},"requiredInputs":["annotations"],"stateInputs":{"description":"Input properties used for looking up and filtering Event resources.\n","properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"The annotations associated with the event.\n"},"endtimeKey":{"type":"integer"},"name":{"type":"string","description":"The name of the event as it is displayed in Wavefront.\n"},"startTime":{"type":"integer","description":"The start time of the event in epoch milliseconds.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"}},"type":"object"}},"wavefront:index/externalLink:ExternalLink":{"description":"Provides a Wavefront External Link Resource. This allows external links to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst basic = new wavefront.ExternalLink(\"basic\", {\n description: \"An external link description\",\n template: \"https://example.com/source={{{source}}}\u0026startTime={{startEpochMillis}}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nbasic = wavefront.ExternalLink(\"basic\",\n description=\"An external link description\",\n template=\"https://example.com/source={{{source}}}\u0026startTime={{startEpochMillis}}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new Wavefront.ExternalLink(\"basic\", new()\n {\n Description = \"An external link description\",\n Template = \"https://example.com/source={{{source}}}\u0026startTime={{startEpochMillis}}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewExternalLink(ctx, \"basic\", \u0026wavefront.ExternalLinkArgs{\n\t\t\tDescription: pulumi.String(\"An external link description\"),\n\t\t\tTemplate: pulumi.String(\"https://example.com/source={{{source}}}\u0026startTime={{startEpochMillis}}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.ExternalLink;\nimport com.pulumi.wavefront.ExternalLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new ExternalLink(\"basic\", ExternalLinkArgs.builder() \n .description(\"An external link description\")\n .template(\"https://example.com/source={{{source}}}\u0026startTime={{startEpochMillis}}\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: wavefront:ExternalLink\n properties:\n description: An external link description\n template: https://example.com/source={{{source}}}\u0026startTime={{startEpochMillis}}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMaintenance windows can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/externalLink:ExternalLink basic fVj6fz6zYC4aBkID\n```\n ","properties":{"description":{"type":"string","description":"Human-readable description for this link.\n"},"isLogIntegration":{"type":"boolean","description":"Whether this is a \"Log Integration\" subType of external link.\n"},"metricFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the metric name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"name":{"type":"string","description":"The name of the external link.\n"},"pointTagFilterRegexes":{"type":"object","additionalProperties":{"type":"string"},"description":"Controls whether a link is displayed in the context menu of a highlighted\nseries. This is a map from string to regular expression. The highlighted series must contain point tags whose\nkeys are present in the keys of this map and whose values match the regular expressions associated with those\nkeys in order for the link to be displayed.\n"},"sourceFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the source name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"template":{"type":"string","description":"The mustache template for this link. The template must expand to a full URL, including scheme, origin, etc.\n"}},"required":["description","name","template"],"inputProperties":{"description":{"type":"string","description":"Human-readable description for this link.\n"},"isLogIntegration":{"type":"boolean","description":"Whether this is a \"Log Integration\" subType of external link.\n"},"metricFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the metric name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"name":{"type":"string","description":"The name of the external link.\n"},"pointTagFilterRegexes":{"type":"object","additionalProperties":{"type":"string"},"description":"Controls whether a link is displayed in the context menu of a highlighted\nseries. This is a map from string to regular expression. The highlighted series must contain point tags whose\nkeys are present in the keys of this map and whose values match the regular expressions associated with those\nkeys in order for the link to be displayed.\n"},"sourceFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the source name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"template":{"type":"string","description":"The mustache template for this link. The template must expand to a full URL, including scheme, origin, etc.\n"}},"requiredInputs":["description","template"],"stateInputs":{"description":"Input properties used for looking up and filtering ExternalLink resources.\n","properties":{"description":{"type":"string","description":"Human-readable description for this link.\n"},"isLogIntegration":{"type":"boolean","description":"Whether this is a \"Log Integration\" subType of external link.\n"},"metricFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the metric name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"name":{"type":"string","description":"The name of the external link.\n"},"pointTagFilterRegexes":{"type":"object","additionalProperties":{"type":"string"},"description":"Controls whether a link is displayed in the context menu of a highlighted\nseries. This is a map from string to regular expression. The highlighted series must contain point tags whose\nkeys are present in the keys of this map and whose values match the regular expressions associated with those\nkeys in order for the link to be displayed.\n"},"sourceFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the source name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"template":{"type":"string","description":"The mustache template for this link. The template must expand to a full URL, including scheme, origin, etc.\n"}},"type":"object"}},"wavefront:index/ingestionPolicy:IngestionPolicy":{"description":"Provides a Wavefront Ingestion Policy Resource. This allows ingestion policies to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst basic = new wavefront.IngestionPolicy(\"basic\", {description: \"An ingestion policy for testing\"});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nbasic = wavefront.IngestionPolicy(\"basic\", description=\"An ingestion policy for testing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new Wavefront.IngestionPolicy(\"basic\", new()\n {\n Description = \"An ingestion policy for testing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewIngestionPolicy(ctx, \"basic\", \u0026wavefront.IngestionPolicyArgs{\n\t\t\tDescription: pulumi.String(\"An ingestion policy for testing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.IngestionPolicy;\nimport com.pulumi.wavefront.IngestionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new IngestionPolicy(\"basic\", IngestionPolicyArgs.builder() \n .description(\"An ingestion policy for testing\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: wavefront:IngestionPolicy\n properties:\n description: An ingestion policy for testing\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\ningestion policies can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/ingestionPolicy:IngestionPolicy basic test_ingestion-1611946841064\n```\n ","properties":{"accounts":{"type":"array","items":{"type":"string"}},"description":{"type":"string","description":"The description of the ingestion policy.\n"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"The name of the ingestion policy.\n"},"namespaces":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"$ref":"#/types/wavefront:index/IngestionPolicyTag:IngestionPolicyTag"}}},"required":["description","name","scope"],"inputProperties":{"accounts":{"type":"array","items":{"type":"string"}},"description":{"type":"string","description":"The description of the ingestion policy.\n"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"The name of the ingestion policy.\n"},"namespaces":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"$ref":"#/types/wavefront:index/IngestionPolicyTag:IngestionPolicyTag"}}},"requiredInputs":["description","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering IngestionPolicy resources.\n","properties":{"accounts":{"type":"array","items":{"type":"string"}},"description":{"type":"string","description":"The description of the ingestion policy.\n"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"The name of the ingestion policy.\n"},"namespaces":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"$ref":"#/types/wavefront:index/IngestionPolicyTag:IngestionPolicyTag"}}},"type":"object"}},"wavefront:index/maintenanceWindow:MaintenanceWindow":{"description":"Provides a Wavefront Maintenance Window Resource. This allows maintenance windows to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst basic = new wavefront.MaintenanceWindow(\"basic\", {\n endTimeInSeconds: 1601123456,\n reason: \"Routine maintenance for 2020\",\n relevantHostNames: [\n \"my_hostname\",\n \"my_other_hostname\",\n ],\n startTimeInSeconds: 1600123456,\n title: \"Routine maintenance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nbasic = wavefront.MaintenanceWindow(\"basic\",\n end_time_in_seconds=1601123456,\n reason=\"Routine maintenance for 2020\",\n relevant_host_names=[\n \"my_hostname\",\n \"my_other_hostname\",\n ],\n start_time_in_seconds=1600123456,\n title=\"Routine maintenance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new Wavefront.MaintenanceWindow(\"basic\", new()\n {\n EndTimeInSeconds = 1601123456,\n Reason = \"Routine maintenance for 2020\",\n RelevantHostNames = new[]\n {\n \"my_hostname\",\n \"my_other_hostname\",\n },\n StartTimeInSeconds = 1600123456,\n Title = \"Routine maintenance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewMaintenanceWindow(ctx, \"basic\", \u0026wavefront.MaintenanceWindowArgs{\n\t\t\tEndTimeInSeconds: pulumi.Int(1601123456),\n\t\t\tReason: pulumi.String(\"Routine maintenance for 2020\"),\n\t\t\tRelevantHostNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my_hostname\"),\n\t\t\t\tpulumi.String(\"my_other_hostname\"),\n\t\t\t},\n\t\t\tStartTimeInSeconds: pulumi.Int(1600123456),\n\t\t\tTitle: pulumi.String(\"Routine maintenance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.MaintenanceWindow;\nimport com.pulumi.wavefront.MaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new MaintenanceWindow(\"basic\", MaintenanceWindowArgs.builder() \n .endTimeInSeconds(1601123456)\n .reason(\"Routine maintenance for 2020\")\n .relevantHostNames( \n \"my_hostname\",\n \"my_other_hostname\")\n .startTimeInSeconds(1600123456)\n .title(\"Routine maintenance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: wavefront:MaintenanceWindow\n properties:\n endTimeInSeconds: 1.601123456e+09\n reason: Routine maintenance for 2020\n relevantHostNames:\n - my_hostname\n - my_other_hostname\n startTimeInSeconds: 1.600123456e+09\n title: Routine maintenance\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMaintenance windows can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import wavefront:index/maintenanceWindow:MaintenanceWindow basic 1600383357095\n```\n ","properties":{"endTimeInSeconds":{"type":"integer","description":"end time in seconds after 1 Jan 1970 GMT.\n"},"hostTagGroupHostNamesGroupAnded":{"type":"boolean","description":"If `true`, a source/host must be in `relevant_host_names`\nand have tags matching the specification formed by `relevant_host_tags` and `relevant_host_tags_anded` in\norder for this maintenance window to apply. If `false`, a source/host must either be in `relevant_host_names`\nor match `relevant_host_tags` and `relevant_host_tags_anded`. Default: `false`.\n"},"reason":{"type":"string","description":"The reason for the maintenance window.\n"},"relevantCustomerTags":{"type":"array","items":{"type":"string"},"description":"List of alert tags whose matching alerts will be put into maintenance because\nof this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostNames":{"type":"array","items":{"type":"string"},"description":"List of source/host names that will be put into maintenance because of this\nmaintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostTags":{"type":"array","items":{"type":"string"},"description":"List of source/host tags whose matching sources/hosts will be put into maintenance\nbecause of this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or\n`relevant_host_names` is required.\n"},"relevantHostTagsAnded":{"type":"boolean","description":"Whether to AND source/host tags listed in `relevant_host_tags`.\nIf `true`, a source/host must contain all tags in order for the maintenance window to apply. If `false`,\nthe tags are OR'ed, and a source/host must contain one of the tags. Default: `false`.\n"},"startTimeInSeconds":{"type":"integer","description":"start time in seconds after 1 Jan 1970 GMT.\n"},"title":{"type":"string","description":"The title of the maintenance window.\n"}},"required":["endTimeInSeconds","reason","startTimeInSeconds","title"],"inputProperties":{"endTimeInSeconds":{"type":"integer","description":"end time in seconds after 1 Jan 1970 GMT.\n"},"hostTagGroupHostNamesGroupAnded":{"type":"boolean","description":"If `true`, a source/host must be in `relevant_host_names`\nand have tags matching the specification formed by `relevant_host_tags` and `relevant_host_tags_anded` in\norder for this maintenance window to apply. If `false`, a source/host must either be in `relevant_host_names`\nor match `relevant_host_tags` and `relevant_host_tags_anded`. Default: `false`.\n"},"reason":{"type":"string","description":"The reason for the maintenance window.\n"},"relevantCustomerTags":{"type":"array","items":{"type":"string"},"description":"List of alert tags whose matching alerts will be put into maintenance because\nof this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostNames":{"type":"array","items":{"type":"string"},"description":"List of source/host names that will be put into maintenance because of this\nmaintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostTags":{"type":"array","items":{"type":"string"},"description":"List of source/host tags whose matching sources/hosts will be put into maintenance\nbecause of this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or\n`relevant_host_names` is required.\n"},"relevantHostTagsAnded":{"type":"boolean","description":"Whether to AND source/host tags listed in `relevant_host_tags`.\nIf `true`, a source/host must contain all tags in order for the maintenance window to apply. If `false`,\nthe tags are OR'ed, and a source/host must contain one of the tags. Default: `false`.\n"},"startTimeInSeconds":{"type":"integer","description":"start time in seconds after 1 Jan 1970 GMT.\n"},"title":{"type":"string","description":"The title of the maintenance window.\n"}},"requiredInputs":["endTimeInSeconds","reason","startTimeInSeconds","title"],"stateInputs":{"description":"Input properties used for looking up and filtering MaintenanceWindow resources.\n","properties":{"endTimeInSeconds":{"type":"integer","description":"end time in seconds after 1 Jan 1970 GMT.\n"},"hostTagGroupHostNamesGroupAnded":{"type":"boolean","description":"If `true`, a source/host must be in `relevant_host_names`\nand have tags matching the specification formed by `relevant_host_tags` and `relevant_host_tags_anded` in\norder for this maintenance window to apply. If `false`, a source/host must either be in `relevant_host_names`\nor match `relevant_host_tags` and `relevant_host_tags_anded`. Default: `false`.\n"},"reason":{"type":"string","description":"The reason for the maintenance window.\n"},"relevantCustomerTags":{"type":"array","items":{"type":"string"},"description":"List of alert tags whose matching alerts will be put into maintenance because\nof this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostNames":{"type":"array","items":{"type":"string"},"description":"List of source/host names that will be put into maintenance because of this\nmaintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostTags":{"type":"array","items":{"type":"string"},"description":"List of source/host tags whose matching sources/hosts will be put into maintenance\nbecause of this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or\n`relevant_host_names` is required.\n"},"relevantHostTagsAnded":{"type":"boolean","description":"Whether to AND source/host tags listed in `relevant_host_tags`.\nIf `true`, a source/host must contain all tags in order for the maintenance window to apply. If `false`,\nthe tags are OR'ed, and a source/host must contain one of the tags. Default: `false`.\n"},"startTimeInSeconds":{"type":"integer","description":"start time in seconds after 1 Jan 1970 GMT.\n"},"title":{"type":"string","description":"The title of the maintenance window.\n"}},"type":"object"}},"wavefront:index/metricsPolicy:MetricsPolicy":{"description":"Provides a Wavefront Metrics Policy Resource. This allows management of Metrics Policy to control access to time series, histograms, and delta counters\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst everyone = wavefront.getDefaultUserGroup({});\nconst main = new wavefront.MetricsPolicy(\"main\", {policyRules: [{\n name: \"Allow All Metrics\",\n description: \"Predefined policy rule. Allows access to all metrics (timeseries, histograms, and counters) for all accounts. If this rule is removed, all accounts can access all metrics if there are no matching blocking rules.\",\n prefixes: [\"*\"],\n tagsAnded: false,\n accessType: \"ALLOW\",\n userGroupIds: [everyone.then(everyone =\u003e everyone.groupId)],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\neveryone = wavefront.get_default_user_group()\nmain = wavefront.MetricsPolicy(\"main\", policy_rules=[wavefront.MetricsPolicyPolicyRuleArgs(\n name=\"Allow All Metrics\",\n description=\"Predefined policy rule. Allows access to all metrics (timeseries, histograms, and counters) for all accounts. If this rule is removed, all accounts can access all metrics if there are no matching blocking rules.\",\n prefixes=[\"*\"],\n tags_anded=False,\n access_type=\"ALLOW\",\n user_group_ids=[everyone.group_id],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var everyone = Wavefront.GetDefaultUserGroup.Invoke();\n\n var main = new Wavefront.MetricsPolicy(\"main\", new()\n {\n PolicyRules = new[]\n {\n new Wavefront.Inputs.MetricsPolicyPolicyRuleArgs\n {\n Name = \"Allow All Metrics\",\n Description = \"Predefined policy rule. Allows access to all metrics (timeseries, histograms, and counters) for all accounts. If this rule is removed, all accounts can access all metrics if there are no matching blocking rules.\",\n Prefixes = new[]\n {\n \"*\",\n },\n TagsAnded = false,\n AccessType = \"ALLOW\",\n UserGroupIds = new[]\n {\n everyone.Apply(getDefaultUserGroupResult =\u003e getDefaultUserGroupResult.GroupId),\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\teveryone, err := wavefront.GetDefaultUserGroup(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wavefront.NewMetricsPolicy(ctx, \"main\", \u0026wavefront.MetricsPolicyArgs{\n\t\t\tPolicyRules: wavefront.MetricsPolicyPolicyRuleArray{\n\t\t\t\t\u0026wavefront.MetricsPolicyPolicyRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"Allow All Metrics\"),\n\t\t\t\t\tDescription: pulumi.String(\"Predefined policy rule. Allows access to all metrics (timeseries, histograms, and counters) for all accounts. If this rule is removed, all accounts can access all metrics if there are no matching blocking rules.\"),\n\t\t\t\t\tPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tTagsAnded: pulumi.Bool(false),\n\t\t\t\t\tAccessType: pulumi.String(\"ALLOW\"),\n\t\t\t\t\tUserGroupIds: pulumi.StringArray{\n\t\t\t\t\t\t*pulumi.String(everyone.GroupId),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.MetricsPolicy;\nimport com.pulumi.wavefront.MetricsPolicyArgs;\nimport com.pulumi.wavefront.inputs.MetricsPolicyPolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var everyone = WavefrontFunctions.getDefaultUserGroup();\n\n var main = new MetricsPolicy(\"main\", MetricsPolicyArgs.builder() \n .policyRules(MetricsPolicyPolicyRuleArgs.builder()\n .name(\"Allow All Metrics\")\n .description(\"Predefined policy rule. Allows access to all metrics (timeseries, histograms, and counters) for all accounts. If this rule is removed, all accounts can access all metrics if there are no matching blocking rules.\")\n .prefixes(\"*\")\n .tagsAnded(false)\n .accessType(\"ALLOW\")\n .userGroupIds(everyone.applyValue(getDefaultUserGroupResult -\u003e getDefaultUserGroupResult.groupId()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: wavefront:MetricsPolicy\n properties:\n policyRules:\n - name: Allow All Metrics\n description: Predefined policy rule. Allows access to all metrics (timeseries, histograms, and counters) for all accounts. If this rule is removed, all accounts can access all metrics if there are no matching blocking rules.\n prefixes:\n - '*'\n tagsAnded: false\n accessType: ALLOW\n userGroupIds:\n - ${everyone.groupId}\nvariables:\n everyone:\n fn::invoke:\n Function: wavefront:getDefaultUserGroup\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n## Data Source\n\nProvides a Wavefront Metrics Policy Data Source. This allows looking up the current policy and associated rules.\n\n### Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst policyMetricsPolicy = wavefront.getMetricsPolicy({});\nexport const policy = policyMetricsPolicy;\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\npolicy_metrics_policy = wavefront.get_metrics_policy()\npulumi.export(\"policy\", policy_metrics_policy)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyMetricsPolicy = Wavefront.GetMetricsPolicy.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"policy\"] = policyMetricsPolicy,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicyMetricsPolicy, err := wavefront.LookupMetricsPolicy(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"policy\", policyMetricsPolicy)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var policyMetricsPolicy = WavefrontFunctions.getMetricsPolicy();\n\n ctx.export(\"policy\", policyMetricsPolicy.applyValue(getMetricsPolicyResult -\u003e getMetricsPolicyResult));\n }\n}\n```\n```yaml\nvariables:\n policyMetricsPolicy:\n fn::invoke:\n Function: wavefront:getMetricsPolicy\n Arguments: {}\noutputs:\n policy: ${policyMetricsPolicy}\n```\n\n\n## Import\n\nUsers can be imported by using the `updated_epoch_millis`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/metricsPolicy:MetricsPolicy some_metrics_policy 1651846476678\n```\n ","properties":{"customer":{"type":"string","description":"The customer the user is associated with.\n"},"policyRules":{"type":"array","items":{"$ref":"#/types/wavefront:index/MetricsPolicyPolicyRule:MetricsPolicyPolicyRule"},"description":"List of Metrics Policies, must have at least one entry.\n"},"updatedEpochMillis":{"type":"integer","description":"When the policy was applied in epoch_millis.\n"},"updaterId":{"type":"string","description":"The account_id who applied the current policy.\n"}},"required":["customer","policyRules","updatedEpochMillis","updaterId"],"inputProperties":{"policyRules":{"type":"array","items":{"$ref":"#/types/wavefront:index/MetricsPolicyPolicyRule:MetricsPolicyPolicyRule"},"description":"List of Metrics Policies, must have at least one entry.\n"}},"requiredInputs":["policyRules"],"stateInputs":{"description":"Input properties used for looking up and filtering MetricsPolicy resources.\n","properties":{"customer":{"type":"string","description":"The customer the user is associated with.\n"},"policyRules":{"type":"array","items":{"$ref":"#/types/wavefront:index/MetricsPolicyPolicyRule:MetricsPolicyPolicyRule"},"description":"List of Metrics Policies, must have at least one entry.\n"},"updatedEpochMillis":{"type":"integer","description":"When the policy was applied in epoch_millis.\n"},"updaterId":{"type":"string","description":"The account_id who applied the current policy.\n"}},"type":"object"}},"wavefront:index/role:Role":{"description":"Provides a Wavefront Role Resource. This allows roles to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst role = new wavefront.Role(\"role\", {});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nrole = wavefront.Role(\"role\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var role = new Wavefront.Role(\"role\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewRole(ctx, \"role\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.Role;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var role = new Role(\"role\");\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: wavefront:Role\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRoles can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/role:Role some_role a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"assignees":{"type":"array","items":{"type":"string"},"description":"A list of user groups or accounts to assign to this role.\n"},"description":{"type":"string","description":"A short description of the role.\n"},"name":{"type":"string","description":"The name of the role.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"A list of permissions to assign to this role. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"}},"required":["name"],"inputProperties":{"assignees":{"type":"array","items":{"type":"string"},"description":"A list of user groups or accounts to assign to this role.\n"},"description":{"type":"string","description":"A short description of the role.\n"},"name":{"type":"string","description":"The name of the role.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"A list of permissions to assign to this role. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Role resources.\n","properties":{"assignees":{"type":"array","items":{"type":"string"},"description":"A list of user groups or accounts to assign to this role.\n"},"description":{"type":"string","description":"A short description of the role.\n"},"name":{"type":"string","description":"The name of the role.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"A list of permissions to assign to this role. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"}},"type":"object"}},"wavefront:index/serviceAccount:ServiceAccount":{"description":"Provides a Wavefront Service Account Resource. This allows service accounts to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst basic = new wavefront.ServiceAccount(\"basic\", {\n active: true,\n identifier: \"sa::tftesting\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nbasic = wavefront.ServiceAccount(\"basic\",\n active=True,\n identifier=\"sa::tftesting\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new Wavefront.ServiceAccount(\"basic\", new()\n {\n Active = true,\n Identifier = \"sa::tftesting\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewServiceAccount(ctx, \"basic\", \u0026wavefront.ServiceAccountArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tIdentifier: pulumi.String(\"sa::tftesting\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.ServiceAccount;\nimport com.pulumi.wavefront.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new ServiceAccount(\"basic\", ServiceAccountArgs.builder() \n .active(true)\n .identifier(\"sa::tftesting\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: wavefront:ServiceAccount\n properties:\n active: true\n identifier: sa::tftesting\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nService accounts can be imported by using `identifier`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/serviceAccount:ServiceAccount basic sa::tftesting\n```\n ","properties":{"active":{"type":"boolean","description":"Whether or not the service account is active.\n"},"description":{"type":"string","description":"The description of the service account.\n"},"identifier":{"type":"string","description":"The unique identifier of the service account to create. Must have the prefix `sa::`.\n"},"ingestionPolicy":{"type":"string","description":"ID of ingestion policy.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permission to grant to this service account. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"List of user groups for this service account.\n"}},"required":["identifier","permissions","userGroups"],"inputProperties":{"active":{"type":"boolean","description":"Whether or not the service account is active.\n"},"description":{"type":"string","description":"The description of the service account.\n"},"identifier":{"type":"string","description":"The unique identifier of the service account to create. Must have the prefix `sa::`.\n","willReplaceOnChanges":true},"ingestionPolicy":{"type":"string","description":"ID of ingestion policy.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permission to grant to this service account. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"List of user groups for this service account.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceAccount resources.\n","properties":{"active":{"type":"boolean","description":"Whether or not the service account is active.\n"},"description":{"type":"string","description":"The description of the service account.\n"},"identifier":{"type":"string","description":"The unique identifier of the service account to create. Must have the prefix `sa::`.\n","willReplaceOnChanges":true},"ingestionPolicy":{"type":"string","description":"ID of ingestion policy.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permission to grant to this service account. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"List of user groups for this service account.\n"}},"type":"object"}},"wavefront:index/user:User":{"description":"Provides a Wavefront User Resource. This allows user accounts to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst basic = new wavefront.User(\"basic\", {email: \"test+tftesting@example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nbasic = wavefront.User(\"basic\", email=\"test+tftesting@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new Wavefront.User(\"basic\", new()\n {\n Email = \"test+tftesting@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewUser(ctx, \"basic\", \u0026wavefront.UserArgs{\n\t\t\tEmail: pulumi.String(\"test+tftesting@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.User;\nimport com.pulumi.wavefront.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new User(\"basic\", UserArgs.builder() \n .email(\"test+tftesting@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: wavefront:User\n properties:\n email: test+tftesting@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsers can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/user:User some_user test@example.com\n```\n ","properties":{"customer":{"type":"string","description":"The customer the user is associated with.\n"},"email":{"type":"string","description":"The unique identifier of the user account to create. Must be a valid email address.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permission to grant to this user. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"List of user groups to this user.\n"}},"required":["customer","email","permissions","userGroups"],"inputProperties":{"customer":{"type":"string","description":"The customer the user is associated with.\n"},"email":{"type":"string","description":"The unique identifier of the user account to create. Must be a valid email address.\n","willReplaceOnChanges":true},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permission to grant to this user. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"List of user groups to this user.\n"}},"requiredInputs":["email"],"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"customer":{"type":"string","description":"The customer the user is associated with.\n"},"email":{"type":"string","description":"The unique identifier of the user account to create. Must be a valid email address.\n","willReplaceOnChanges":true},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permission to grant to this user. Valid options are\n`agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`,\n`host_tag_management`, `metrics_management`, and `user_management`.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"List of user groups to this user.\n"}},"type":"object"}},"wavefront:index/userGroup:UserGroup":{"description":"Provides a Wavefront User Group Resource. This allows user groups to be created, updated, and deleted.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst basic = new wavefront.UserGroup(\"basic\", {description: \"Basic User Group for Unit Tests\"});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nbasic = wavefront.UserGroup(\"basic\", description=\"Basic User Group for Unit Tests\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new Wavefront.UserGroup(\"basic\", new()\n {\n Description = \"Basic User Group for Unit Tests\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.NewUserGroup(ctx, \"basic\", \u0026wavefront.UserGroupArgs{\n\t\t\tDescription: pulumi.String(\"Basic User Group for Unit Tests\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.UserGroup;\nimport com.pulumi.wavefront.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new UserGroup(\"basic\", UserGroupArgs.builder() \n .description(\"Basic User Group for Unit Tests\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: wavefront:UserGroup\n properties:\n description: Basic User Group for Unit Tests\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUser Groups can be imported by using the `id`, e.g.:\n\n```sh\n $ pulumi import wavefront:index/userGroup:UserGroup some_group a411c16b-3cf7-4f03-bf11-8ca05aab898d\n```\n ","properties":{"description":{"type":"string","description":"A short description of the user group.\n"},"name":{"type":"string","description":"The name of the user group.\n"}},"required":["description","name"],"inputProperties":{"description":{"type":"string","description":"A short description of the user group.\n"},"name":{"type":"string","description":"The name of the user group.\n"}},"requiredInputs":["description"],"stateInputs":{"description":"Input properties used for looking up and filtering UserGroup resources.\n","properties":{"description":{"type":"string","description":"A short description of the user group.\n"},"name":{"type":"string","description":"The name of the user group.\n"}},"type":"object"}}},"functions":{"wavefront:index/getAlert:getAlert":{"description":"Use this data source to get information about a Wavefront alert by its ID.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getAlert({\n id: \"alert-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_alert(id=\"alert-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetAlert.Invoke(new()\n {\n Id = \"alert-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupAlert(ctx, \u0026wavefront.LookupAlertArgs{\n\t\t\tId: \"alert-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetAlertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getAlert(GetAlertArgs.builder()\n .id(\"alert-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getAlert\n Arguments:\n id: alert-id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getAlert.\n","properties":{"id":{"type":"string","description":"The ID associated with the alert data to be fetched.\n"},"targets":{"type":"object","additionalProperties":{"type":"string"},"description":"A comma-separated list of the email addresses or integration endpoints (such as PagerDuty or webhook) to notify when the alert status changes. Multiple target types can be in the list.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getAlert.\n","properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information about this alert.\n"},"alertType":{"type":"string","description":"The type of alert in Wavefront.\n"},"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of users or groups that can modify the alert.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of users or groups that can view the alert.\n"},"condition":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute). The alert fires and notifications are triggered when a data series matching this query evaluates to a non-zero value for a set number of consecutive minutes.\n"},"conditions":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of severity to condition for which this alert will trigger.\n"},"displayExpression":{"type":"string","description":"A second query the results of which are displayed in the alert user interface instead of the condition query.\n"},"evaluateRealtimeData":{"type":"boolean","description":"A Boolean flag to enable real-time evaluation.\n"},"failingHostLabelPairs":{"type":"array","items":{"$ref":"#/types/wavefront:index/getAlertFailingHostLabelPair:getAlertFailingHostLabelPair"},"description":"A list of failing host label pairs.\n"},"id":{"type":"string","description":"The ID of the alert in Wavefront.\n"},"inMaintenanceHostLabelPairs":{"type":"array","items":{"$ref":"#/types/wavefront:index/getAlertInMaintenanceHostLabelPair:getAlertInMaintenanceHostLabelPair"},"description":"A list of in maintenance host label pairs.\n"},"includeObsoleteMetrics":{"type":"boolean","description":"A Boolean flag indicating whether to include obsolete metrics or not.\n"},"minutes":{"type":"integer","description":"The number of consecutive minutes that a series matching the condition query must evaluate to \"true\" (non-zero value) before the alert fires.\n"},"name":{"type":"string","description":"The name of the alert as it is displayed in Wavefront.\n"},"notificationResendFrequencyMinutes":{"type":"integer","description":"How often to re-trigger a continually failing alert.\n"},"processRateMinutes":{"type":"integer","description":"The specified query is executed every `process_rate_minutes` minutes.\n"},"resolveAfterMinutes":{"type":"integer","description":"The number of consecutive minutes that a firing series matching the condition query must evaluate to \"false\" (zero value) before the alert resolves.\n"},"severity":{"type":"string","description":"The severity of the alert.\n"},"severityLists":{"type":"array","items":{"type":"string"}},"statuses":{"type":"array","items":{"type":"string"},"description":"The status of the alert.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags assigned to the alert.\n"},"target":{"type":"string","description":"An email address or integration endpoint (such as PagerDuty or webhook) to notify when the alert status changes.\n"},"targets":{"type":"object","additionalProperties":{"type":"string"},"description":"A comma-separated list of the email addresses or integration endpoints (such as PagerDuty or webhook) to notify when the alert status changes. Multiple target types can be in the list.\n"}},"type":"object","required":["additionalInformation","alertType","canModifies","canViews","condition","conditions","displayExpression","evaluateRealtimeData","failingHostLabelPairs","id","inMaintenanceHostLabelPairs","includeObsoleteMetrics","minutes","name","notificationResendFrequencyMinutes","processRateMinutes","resolveAfterMinutes","severity","severityLists","statuses","tags","target"]}},"wavefront:index/getAlerts:getAlerts":{"description":"Use this data source to get information about all Wavefront alerts.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getAlerts({\n limit: 10,\n offset: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_alerts(limit=10,\n offset=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetAlerts.Invoke(new()\n {\n Limit = 10,\n Offset = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetAlerts(ctx, \u0026wavefront.GetAlertsArgs{\n\t\t\tLimit: pulumi.IntRef(10),\n\t\t\tOffset: pulumi.IntRef(0),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetAlertsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getAlerts(GetAlertsArgs.builder()\n .limit(10)\n .offset(0)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getAlerts\n Arguments:\n limit: 10\n offset: 0\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getAlerts.\n","properties":{"limit":{"type":"integer","description":"Limit is the maximum number of results to be returned. Defaults to 100.\n"},"offset":{"type":"integer","description":"Offset is the offset from the first result to be returned. Defaults to 0.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAlerts.\n","properties":{"alerts":{"type":"array","items":{"$ref":"#/types/wavefront:index/getAlertsAlert:getAlertsAlert"},"description":"List of all alerts in Wavefront. For each alert you will see a list of attributes.\n"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"type":"object","required":["alerts","id"]}},"wavefront:index/getDashboard:getDashboard":{"description":"Use this data source to get information about a certain Wavefront dashboard by its ID.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getDashboard({\n id: \"dashboard-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_dashboard(id=\"dashboard-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetDashboard.Invoke(new()\n {\n Id = \"dashboard-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupDashboard(ctx, \u0026wavefront.LookupDashboardArgs{\n\t\t\tId: \"dashboard-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetDashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getDashboard(GetDashboardArgs.builder()\n .id(\"dashboard-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getDashboard\n Arguments:\n id: dashboard-id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getDashboard.\n","properties":{"id":{"type":"string","description":"The ID associated with the dashboard data to be fetched.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDashboard.\n","properties":{"canModifies":{"type":"array","items":{"type":"string"},"description":"A list of users that have modify ACL access to the dashboard.\n"},"canViews":{"type":"array","items":{"type":"string"},"description":"A list of users that have view ACL access to the dashboard.\n"},"chartTitleBgColor":{"type":"string"},"chartTitleColor":{"type":"string"},"chartTitleScalar":{"type":"integer"},"createdEpochMillis":{"type":"integer"},"creatorId":{"type":"string"},"customer":{"type":"string"},"defaultEndTime":{"type":"integer"},"defaultStartTime":{"type":"integer"},"defaultTimeWindow":{"type":"string"},"deleted":{"type":"boolean"},"description":{"type":"string","description":"Description of the chart.\n"},"displayDescription":{"type":"boolean"},"displayQueryParameters":{"type":"boolean","description":"Whether the dashboard parameters section is opened by default when the dashboard\nis shown.\n"},"displaySectionTableOfContents":{"type":"boolean","description":"Whether the \"pills\" quick-linked the sections of the dashboard are\ndisplayed by default when the dashboard is shown.\n"},"eventFilterType":{"type":"string","description":"How charts belonging to this dashboard should display events. `BYCHART` is default if\nunspecified. Valid options are: `BYCHART`, `AUTOMATIC`, `ALL`, `NONE`, `BYDASHBOARD`, and `BYCHARTANDDASHBOARD`.\n"},"eventQuery":{"type":"string"},"favorite":{"type":"boolean"},"hidden":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the parameters.\n"},"numCharts":{"type":"integer"},"numFavorites":{"type":"integer"},"parameterDetails":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardParameterDetail:getDashboardParameterDetail"},"description":"The current JSON representation of dashboard parameters. See parameter details.\n"},"parameters":{"type":"object","additionalProperties":{"$ref":"pulumi.json#/Any"}},"sections":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardSection:getDashboardSection"}},"systemOwned":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to assign to this resource.\n"},"updatedEpochMillis":{"type":"integer"},"updaterId":{"type":"string"},"url":{"type":"string","description":"Unique identifier, also a URL slug of the dashboard.\n"},"viewsLastDay":{"type":"integer"},"viewsLastMonth":{"type":"integer"},"viewsLastWeek":{"type":"integer"}},"type":"object","required":["canModifies","canViews","chartTitleBgColor","chartTitleColor","chartTitleScalar","createdEpochMillis","creatorId","customer","defaultEndTime","defaultStartTime","defaultTimeWindow","deleted","description","displayDescription","displayQueryParameters","displaySectionTableOfContents","eventFilterType","eventQuery","favorite","hidden","id","name","numCharts","numFavorites","parameterDetails","parameters","sections","systemOwned","tags","updatedEpochMillis","updaterId","url","viewsLastDay","viewsLastMonth","viewsLastWeek"]}},"wavefront:index/getDashboards:getDashboards":{"description":"Use this data source to get information about all Wavefront dashboards.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getDashboards({\n limit: 10,\n offset: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_dashboards(limit=10,\n offset=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetDashboards.Invoke(new()\n {\n Limit = 10,\n Offset = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetDashboards(ctx, \u0026wavefront.GetDashboardsArgs{\n\t\t\tLimit: pulumi.IntRef(10),\n\t\t\tOffset: pulumi.IntRef(0),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetDashboardsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getDashboards(GetDashboardsArgs.builder()\n .limit(10)\n .offset(0)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getDashboards\n Arguments:\n limit: 10\n offset: 0\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getDashboards.\n","properties":{"limit":{"type":"integer","description":"Limit is the maximum number of results to be returned. Defaults to 100.\n"},"offset":{"type":"integer","description":"Offset is the offset from the first result to be returned. Defaults to 0.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDashboards.\n","properties":{"dashboards":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDashboardsDashboard:getDashboardsDashboard"},"description":"List of all Wavefront dashboards. For each dashboard you will see a list of attributes.\n"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"type":"object","required":["dashboards","id"]}},"wavefront:index/getDefaultUserGroup:getDefaultUserGroup":{"description":"Use this data source to get the Group ID of the `Everyone` group in Wavefront.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst everyoneGroup = wavefront.getDefaultUserGroup({});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\neveryone_group = wavefront.get_default_user_group()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var everyoneGroup = Wavefront.GetDefaultUserGroup.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetDefaultUserGroup(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var everyoneGroup = WavefrontFunctions.getDefaultUserGroup();\n\n }\n}\n```\n```yaml\nvariables:\n everyoneGroup:\n fn::invoke:\n Function: wavefront:getDefaultUserGroup\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}","outputs":{"description":"A collection of values returned by getDefaultUserGroup.\n","properties":{"groupId":{"type":"string","description":"Set to the Group ID of the `Everyone` group, suitable for referencing\nin other resources that support group memberships.\n"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"}},"type":"object","required":["groupId","id"]}},"wavefront:index/getDerivedMetric:getDerivedMetric":{"description":"Use this data source to get information about a certain Wavefront derived metric by its ID.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getDerivedMetric({\n id: \"derived_metric_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_derived_metric(id=\"derived_metric_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetDerivedMetric.Invoke(new()\n {\n Id = \"derived_metric_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupDerivedMetric(ctx, \u0026wavefront.LookupDerivedMetricArgs{\n\t\t\tId: \"derived_metric_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetDerivedMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getDerivedMetric(GetDerivedMetricArgs.builder()\n .id(\"derived_metric_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getDerivedMetric\n Arguments:\n id: derived_metric_id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getDerivedMetric.\n","properties":{"id":{"type":"string","description":"The ID associated with the derived metric data to be fetched.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDerivedMetric.\n","properties":{"additionalInformation":{"type":"string","description":"User-supplied additional explanatory information about the derived metric.\n"},"createUserId":{"type":"string","description":"The ID of the user who created the derived metric.\n"},"createdEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the derived metric is created.\n"},"deleted":{"type":"boolean","description":"A Boolean flag indicating whether the derived metric is deleted or not.\n"},"hostsUseds":{"type":"array","items":{"type":"string"},"description":"A list of hosts used in the derived metric.\n"},"id":{"type":"string","description":"The ID of the derived metric in Wavefront.\n"},"inTrash":{"type":"boolean","description":"A Boolean variable indicating trash status.\n"},"includeObsoleteMetrics":{"type":"boolean","description":"A Boolean flag indicating whether to include obsolete metrics or not.\n"},"lastErrorMessage":{"type":"string","description":"Last error message occurred.\n"},"lastFailedTime":{"type":"integer","description":"Timestamp of the last failed derived metric.\n"},"lastProcessedMillis":{"type":"integer","description":"The last processed timestamp.\n"},"lastQueryTime":{"type":"integer","description":"The timestamp indicating the last time the query was executed.\n"},"metricsUseds":{"type":"array","items":{"type":"string"},"description":"A list of metrics used in the derived metric.\n"},"minutes":{"type":"integer","description":"How frequently the query generating the derived metric is run.\n"},"name":{"type":"string","description":"The name of the derived metric in Wavefront.\n"},"pointsScannedAtLastQuery":{"type":"integer","description":"The number of points scanned when last query was executed.\n"},"processRateMinutes":{"type":"integer","description":"The specified query is executed every `process_rate_minutes` minutes.\n"},"query":{"type":"string","description":"A Wavefront query that is evaluated at regular intervals (default is 1 minute).\n"},"queryFailing":{"type":"boolean","description":"A Boolean variable indicating whether query is failing for the derived metric.\n"},"queryQbEnabled":{"type":"boolean","description":"A Boolean flag for enabling `query_qb`\n"},"statuses":{"type":"array","items":{"type":"string"},"description":"The status of the derived metric.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags assigned to the derived metric.\n"},"updateUserId":{"type":"string","description":"The ID of the user who updated the derived metric.\n"},"updatedEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the derived metric is updated.\n"}},"type":"object","required":["additionalInformation","createUserId","createdEpochMillis","deleted","hostsUseds","id","inTrash","includeObsoleteMetrics","lastErrorMessage","lastFailedTime","lastProcessedMillis","lastQueryTime","metricsUseds","minutes","name","pointsScannedAtLastQuery","processRateMinutes","query","queryFailing","queryQbEnabled","statuses","tags","updateUserId","updatedEpochMillis"]}},"wavefront:index/getDerivedMetrics:getDerivedMetrics":{"description":"Use this data source to get information about all Wavefront derived metrics.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getDerivedMetrics({\n limit: 10,\n offset: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_derived_metrics(limit=10,\n offset=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetDerivedMetrics.Invoke(new()\n {\n Limit = 10,\n Offset = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetDerivedMetrics(ctx, \u0026wavefront.GetDerivedMetricsArgs{\n\t\t\tLimit: pulumi.IntRef(10),\n\t\t\tOffset: pulumi.IntRef(0),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetDerivedMetricsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getDerivedMetrics(GetDerivedMetricsArgs.builder()\n .limit(10)\n .offset(0)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getDerivedMetrics\n Arguments:\n limit: 10\n offset: 0\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getDerivedMetrics.\n","properties":{"limit":{"type":"integer","description":"Limit is the maximum number of results to be returned. Defaults to 100.\n"},"offset":{"type":"integer","description":"Offset is the offset from the first result to be returned. Defaults to 0.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDerivedMetrics.\n","properties":{"derivedMetrics":{"type":"array","items":{"$ref":"#/types/wavefront:index/getDerivedMetricsDerivedMetric:getDerivedMetricsDerivedMetric"},"description":"List of all derived metrics in Wavefront. For each derived metric you will see a list of attributes.\n"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"type":"object","required":["derivedMetrics","id"]}},"wavefront:index/getEvent:getEvent":{"description":"Use this data source to get information about a certain Wavefront event.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getEvent({\n id: \"sample-event-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_event(id=\"sample-event-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetEvent.Invoke(new()\n {\n Id = \"sample-event-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupEvent(ctx, \u0026wavefront.LookupEventArgs{\n\t\t\tId: \"sample-event-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetEventArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getEvent(GetEventArgs.builder()\n .id(\"sample-event-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getEvent\n Arguments:\n id: sample-event-id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getEvent.\n","properties":{"id":{"type":"string","description":"The ID associated with the event data to be fetched.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getEvent.\n","properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations associated with the event.\n"},"details":{"type":"string","description":"The description of the event.\n"},"endtimeKey":{"type":"integer"},"id":{"type":"string","description":"The ID of the event in Wavefront.\n"},"isEphemeral":{"type":"boolean","description":"A Boolean flag. If set to `true`, creates a point-in-time event (i.e. with no duration).\n"},"name":{"type":"string","description":"The name of the event in Wavefront.\n"},"severity":{"type":"string","description":"The severity category of the event.\n"},"startTime":{"type":"integer","description":"The start time of the event in epoch milliseconds.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags assigned to the event.\n"},"type":{"type":"string","description":"The type of the event.\n"}},"type":"object","required":["annotations","details","endtimeKey","id","isEphemeral","name","severity","startTime","tags","type"]}},"wavefront:index/getEvents:getEvents":{"description":"Use this data source to get information about all Wavefront events.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getEvents({\n earliestStartTimeEpochMillis: 1665427195,\n latestStartTimeEpochMillis: 1665427195,\n limit: 10,\n offset: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_events(earliest_start_time_epoch_millis=1665427195,\n latest_start_time_epoch_millis=1665427195,\n limit=10,\n offset=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetEvents.Invoke(new()\n {\n EarliestStartTimeEpochMillis = 1665427195,\n LatestStartTimeEpochMillis = 1665427195,\n Limit = 10,\n Offset = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetEvents(ctx, \u0026wavefront.GetEventsArgs{\n\t\t\tEarliestStartTimeEpochMillis: 1665427195,\n\t\t\tLatestStartTimeEpochMillis: 1665427195,\n\t\t\tLimit: pulumi.IntRef(10),\n\t\t\tOffset: pulumi.IntRef(0),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetEventsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getEvents(GetEventsArgs.builder()\n .earliestStartTimeEpochMillis(1665427195)\n .latestStartTimeEpochMillis(1665427195)\n .limit(10)\n .offset(0)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getEvents\n Arguments:\n earliestStartTimeEpochMillis: 1.665427195e+09\n latestStartTimeEpochMillis: 1.665427195e+09\n limit: 10\n offset: 0\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getEvents.\n","properties":{"earliestStartTimeEpochMillis":{"type":"integer","description":"The earliest start time in epoch milliseconds.\n"},"latestStartTimeEpochMillis":{"type":"integer","description":"The latest start time in epoch milliseconds.\n"},"limit":{"type":"integer","description":"Limit is the maximum number of results to be returned. Defaults to 100.\n"},"offset":{"type":"integer","description":"Offset is the offset from the first result to be returned. Defaults to 0.\n"}},"type":"object","required":["earliestStartTimeEpochMillis","latestStartTimeEpochMillis"]},"outputs":{"description":"A collection of values returned by getEvents.\n","properties":{"earliestStartTimeEpochMillis":{"type":"integer","description":"Earliest start time in epoch milliseconds.\n"},"events":{"type":"array","items":{"$ref":"#/types/wavefront:index/getEventsEvent:getEventsEvent"},"description":"List of all events in Wavefront. For each event you will see a list of attributes.\n"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"latestStartTimeEpochMillis":{"type":"integer","description":"Latest start time in epoch milliseconds.\n"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"type":"object","required":["earliestStartTimeEpochMillis","events","latestStartTimeEpochMillis","id"]}},"wavefront:index/getExternalLink:getExternalLink":{"description":"Use this data source to get information about a Wavefront external link by its ID.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getExternalLink({\n id: \"sample-external-link-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_external_link(id=\"sample-external-link-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetExternalLink.Invoke(new()\n {\n Id = \"sample-external-link-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupExternalLink(ctx, \u0026wavefront.LookupExternalLinkArgs{\n\t\t\tId: \"sample-external-link-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetExternalLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getExternalLink(GetExternalLinkArgs.builder()\n .id(\"sample-external-link-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getExternalLink\n Arguments:\n id: sample-external-link-id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getExternalLink.\n","properties":{"id":{"type":"string","description":"The ID of the external link.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getExternalLink.\n","properties":{"createdEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the external link is created.\n"},"creatorId":{"type":"string","description":"The ID of the user who created the external link.\n"},"description":{"type":"string","description":"Human-readable description of this link.\n"},"id":{"type":"string","description":"The ID of the external link.\n"},"isLogIntegration":{"type":"boolean","description":"Whether this is a \"Log Integration\" subType of external link.\n"},"metricFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the metric name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"name":{"type":"string","description":"The name of the external link.\n"},"pointTagFilterRegexes":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional) Controls whether a link is displayed in the context menu of a highlighted\nseries. This is a map from string to regular expression. The highlighted series must contain point tags whose\nkeys are present in the keys of this map and whose values match the regular expressions associated with those\nkeys in order for the link to be displayed.\n"},"sourceFilterRegex":{"type":"string","description":"Controls whether a link is displayed in the context menu of a highlighted series. If present, the source name of the highlighted series must match this regular expression in order for the link to be displayed.\n"},"template":{"type":"string","description":"The mustache template for the link. The template must expand to a full URL, including scheme, origin, etc.\n"},"updatedEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the external link is updated.\n"},"updaterId":{"type":"string","description":"The ID of the user who updated the external link.\n"}},"type":"object","required":["createdEpochMillis","creatorId","description","id","isLogIntegration","metricFilterRegex","name","pointTagFilterRegexes","sourceFilterRegex","template","updatedEpochMillis","updaterId"]}},"wavefront:index/getExternalLinks:getExternalLinks":{"description":"Use this data source to get information about all Wavefront external links.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getExternalLinks({\n limit: 10,\n offset: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_external_links(limit=10,\n offset=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetExternalLinks.Invoke(new()\n {\n Limit = 10,\n Offset = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetExternalLinks(ctx, \u0026wavefront.GetExternalLinksArgs{\n\t\t\tLimit: pulumi.IntRef(10),\n\t\t\tOffset: pulumi.IntRef(0),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetExternalLinksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getExternalLinks(GetExternalLinksArgs.builder()\n .limit(10)\n .offset(0)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getExternalLinks\n Arguments:\n limit: 10\n offset: 0\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getExternalLinks.\n","properties":{"limit":{"type":"integer","description":"Limit is the maximum number of results to be returned. Defaults to 100.\n"},"offset":{"type":"integer","description":"Offset is the offset from the first result to be returned. Defaults to 0.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getExternalLinks.\n","properties":{"externalLinks":{"type":"array","items":{"$ref":"#/types/wavefront:index/getExternalLinksExternalLink:getExternalLinksExternalLink"},"description":"List of all external links in Wavefront. For each external link you will see a list of attributes.\n"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"type":"object","required":["externalLinks","id"]}},"wavefront:index/getMaintenanceWindow:getMaintenanceWindow":{"description":"Use this data source to get information about a Wavefront maintenance window by its ID.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getMaintenanceWindow({\n id: \"sample-maintenance-window-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_maintenance_window(id=\"sample-maintenance-window-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetMaintenanceWindow.Invoke(new()\n {\n Id = \"sample-maintenance-window-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupMaintenanceWindow(ctx, \u0026wavefront.LookupMaintenanceWindowArgs{\n\t\t\tId: \"sample-maintenance-window-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetMaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getMaintenanceWindow(GetMaintenanceWindowArgs.builder()\n .id(\"sample-maintenance-window-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getMaintenanceWindow\n Arguments:\n id: sample-maintenance-window-id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getMaintenanceWindow.\n","properties":{"id":{"type":"string","description":"The ID of the maintenance window.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getMaintenanceWindow.\n","properties":{"createdEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the maintenance window is created.\n"},"creatorId":{"type":"string","description":"The ID of the user who created the maintenance window.\n"},"customerId":{"type":"string","description":"The ID of the customer in Wavefront.\n"},"endTimeInSeconds":{"type":"integer","description":"The end time in seconds after 1 Jan 1970 GMT.\n"},"eventName":{"type":"string","description":"The event name of the maintenance window.\n"},"hostTagGroupHostNamesGroupAnded":{"type":"boolean","description":"If set to `true`, the source or host must be in `relevant_host_names` and must have tags matching the specification formed by `relevant_host_tags` and `relevant_host_tags_anded` in for this maintenance window to apply.\nIf set to false, the source or host must either be in `relevant_host_names` or match `relevant_host_tags` and `relevant_host_tags_anded`. Default value is `false`.\n"},"id":{"type":"string","description":"The ID of the maintenance window.\n"},"reason":{"type":"string","description":"The reason for the maintenance window.\n"},"relevantCustomerTags":{"type":"array","items":{"type":"string"},"description":"The list of alert tags whose matching alerts will be put into maintenance because\nof this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostNames":{"type":"array","items":{"type":"string"},"description":"The list of source or host names that will be put into maintenance because of this\nmaintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or `relevant_host_names`\nis required.\n"},"relevantHostTags":{"type":"array","items":{"type":"string"},"description":"The list of source or host tags whose matching sources or hosts will be put into maintenance\nbecause of this maintenance window. At least one of `relevant_customer_tags`, `relevant_host_tags`, or\n`relevant_host_names` is required.\n"},"relevantHostTagsAnded":{"type":"boolean","description":"Whether to AND source or host tags listed in `relevant_host_tags`.\nIf set to `true`, the source or host must contain all tags for the maintenance window to apply. If set to `false`,\nthe tags are OR'ed, and the source or host must contain one of the tags. Default value is `false`.\n"},"runningState":{"type":"string","description":"The running state of the maintenance window.\n"},"sortAttr":{"type":"integer"},"startTimeInSeconds":{"type":"integer","description":"The start time in seconds after 1 Jan 1970 GMT.\n"},"title":{"type":"string","description":"The title of the maintenance window.\n"},"updatedEpochMillis":{"type":"integer","description":"The timestamp in epoch milliseconds indicating when the maintenance window is updated.\n"},"updaterId":{"type":"string","description":"The ID of the user who updated the maintenance window.\n"}},"type":"object","required":["createdEpochMillis","creatorId","customerId","endTimeInSeconds","eventName","hostTagGroupHostNamesGroupAnded","id","reason","relevantCustomerTags","relevantHostNames","relevantHostTags","relevantHostTagsAnded","runningState","sortAttr","startTimeInSeconds","title","updatedEpochMillis","updaterId"]}},"wavefront:index/getMaintenanceWindowAll:getMaintenanceWindowAll":{"inputs":{"description":"A collection of arguments for invoking getMaintenanceWindowAll.\n","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"}},"type":"object"},"outputs":{"description":"A collection of values returned by getMaintenanceWindowAll.\n","properties":{"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"limit":{"type":"integer"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/wavefront:index/getMaintenanceWindowAllMaintenanceWindow:getMaintenanceWindowAllMaintenanceWindow"}},"offset":{"type":"integer"}},"type":"object","required":["maintenanceWindows","id"]}},"wavefront:index/getMetricsPolicy:getMetricsPolicy":{"outputs":{"description":"A collection of values returned by getMetricsPolicy.\n","properties":{"customer":{"type":"string"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"policyRules":{"type":"array","items":{"$ref":"#/types/wavefront:index/getMetricsPolicyPolicyRule:getMetricsPolicyPolicyRule"}},"updatedEpochMillis":{"type":"integer"},"updaterId":{"type":"string"}},"type":"object","required":["customer","policyRules","updatedEpochMillis","updaterId","id"]}},"wavefront:index/getRole:getRole":{"description":"Use this data source to get information about a Wavefront role by its ID.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getRole({\n id: \"role-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_role(id=\"role-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetRole.Invoke(new()\n {\n Id = \"role-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupRole(ctx, \u0026wavefront.LookupRoleArgs{\n\t\t\tId: \"role-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getRole(GetRoleArgs.builder()\n .id(\"role-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getRole\n Arguments:\n id: role-id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getRole.\n","properties":{"id":{"type":"string","description":"The ID associated with the role data to be fetched.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getRole.\n","properties":{"description":{"type":"string","description":"Human-readable description of the role.\n"},"id":{"type":"string","description":"The ID of the role in Wavefront.\n"},"name":{"type":"string","description":"The name of the role in Wavefront.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"The list of permissions associated with role.\n"}},"type":"object","required":["description","id","name","permissions"]}},"wavefront:index/getRoles:getRoles":{"description":"Use this data source to get all Roles in Wavefront.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst roles = wavefront.getRoles({\n limit: 10,\n offset: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nroles = wavefront.get_roles(limit=10,\n offset=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roles = Wavefront.GetRoles.Invoke(new()\n {\n Limit = 10,\n Offset = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetRoles(ctx, \u0026wavefront.GetRolesArgs{\n\t\t\tLimit: pulumi.IntRef(10),\n\t\t\tOffset: pulumi.IntRef(0),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roles = WavefrontFunctions.getRoles(GetRolesArgs.builder()\n .limit(10)\n .offset(0)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n roles:\n fn::invoke:\n Function: wavefront:getRoles\n Arguments:\n limit: 10\n offset: 0\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getRoles.\n","properties":{"limit":{"type":"integer","description":"Limit is the maximum number of results to be returned. Defaults to 100.\n"},"offset":{"type":"integer","description":"Offset is the offset from the first result to be returned. Defaults to 0.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRoles.\n","properties":{"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"limit":{"type":"integer"},"offset":{"type":"integer"},"roles":{"type":"array","items":{"$ref":"#/types/wavefront:index/getRolesRole:getRolesRole"},"description":"List of Wavefront Roles.\n"}},"type":"object","required":["roles","id"]}},"wavefront:index/getUser:getUser":{"description":"Use this data source to get information for a given user by email from Wavefront.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getUser({\n email: \"example.user@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_user(email=\"example.user@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetUser.Invoke(new()\n {\n Email = \"example.user@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupUser(ctx, \u0026wavefront.LookupUserArgs{\n\t\t\tEmail: \"example.user@example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getUser(GetUserArgs.builder()\n .email(\"example.user@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getUser\n Arguments:\n email: example.user@example.com\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getUser.\n","properties":{"email":{"type":"string","description":"The email associated with the user data to be fetched.\n"}},"type":"object","required":["email"]},"outputs":{"description":"A collection of values returned by getUser.\n","properties":{"customer":{"type":"string","description":"The customer the user is associated with.\n"},"email":{"type":"string"},"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"lastSuccessfulLogin":{"type":"integer","description":"When the user last logged in to Wavefront.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of permissions granted to a user.\n"},"userGroupIds":{"type":"array","items":{"type":"string"},"description":"List of User Group Ids the user is a member of.\n"}},"type":"object","required":["customer","email","lastSuccessfulLogin","permissions","userGroupIds","id"]}},"wavefront:index/getUserGroup:getUserGroup":{"description":"Use this data source to get information about a Wavefront user group by its ID.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst example = wavefront.getUserGroup({\n id: \"user-group-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nexample = wavefront.get_user_group(id=\"user-group-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Wavefront.GetUserGroup.Invoke(new()\n {\n Id = \"user-group-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.LookupUserGroup(ctx, \u0026wavefront.LookupUserGroupArgs{\n\t\t\tId: \"user-group-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetUserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = WavefrontFunctions.getUserGroup(GetUserGroupArgs.builder()\n .id(\"user-group-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: wavefront:getUserGroup\n Arguments:\n id: user-group-id\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getUserGroup.\n","properties":{"id":{"type":"string","description":"The ID associated with the user group data to be fetched.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getUserGroup.\n","properties":{"description":{"type":"string","description":"Human-readable description of the group.\n"},"id":{"type":"string","description":"The ID of the group in Wavefront.\n"},"name":{"type":"string","description":"The name of the group in Wavefront.\n"},"roles":{"type":"array","items":{"type":"string"},"description":"The list of roles associated with the group.\n"},"users":{"type":"array","items":{"type":"string"},"description":"The list of users assigned to the group.\n"}},"type":"object","required":["description","id","name","roles","users"]}},"wavefront:index/getUserGroups:getUserGroups":{"description":"Use this data source to get all User Groups in Wavefront.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst groups = wavefront.getUserGroups({\n limit: 10,\n offset: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\ngroups = wavefront.get_user_groups(limit=10,\n offset=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var groups = Wavefront.GetUserGroups.Invoke(new()\n {\n Limit = 10,\n Offset = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetUserGroups(ctx, \u0026wavefront.GetUserGroupsArgs{\n\t\t\tLimit: pulumi.IntRef(10),\n\t\t\tOffset: pulumi.IntRef(0),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport com.pulumi.wavefront.inputs.GetUserGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var groups = WavefrontFunctions.getUserGroups(GetUserGroupsArgs.builder()\n .limit(10)\n .offset(0)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n groups:\n fn::invoke:\n Function: wavefront:getUserGroups\n Arguments:\n limit: 10\n offset: 0\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking getUserGroups.\n","properties":{"limit":{"type":"integer","description":"Limit is the maximum number of results to be returned. Defaults to 100.\n"},"offset":{"type":"integer","description":"Offset is the offset from the first result to be returned. Defaults to 0.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUserGroups.\n","properties":{"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"limit":{"type":"integer"},"offset":{"type":"integer"},"userGroups":{"type":"array","items":{"$ref":"#/types/wavefront:index/getUserGroupsUserGroup:getUserGroupsUserGroup"},"description":"List of user groups.\n"}},"type":"object","required":["userGroups","id"]}},"wavefront:index/getUsers:getUsers":{"description":"Use this data source to get all users in Wavefront.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as wavefront from \"@pulumi/wavefront\";\n\nconst users = wavefront.getUsers({});\n```\n```python\nimport pulumi\nimport pulumi_wavefront as wavefront\n\nusers = wavefront.get_users()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Wavefront = Pulumi.Wavefront;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Wavefront.GetUsers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-wavefront/sdk/v3/go/wavefront\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wavefront.GetUsers(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.wavefront.WavefrontFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = WavefrontFunctions.getUsers();\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n Function: wavefront:getUsers\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}","outputs":{"description":"A collection of values returned by getUsers.\n","properties":{"id":{"type":"string","description":"The provider-assigned unique ID for this managed resource.\n"},"users":{"type":"array","items":{"$ref":"#/types/wavefront:index/getUsersUser:getUsersUser"},"description":"List of all users in Wavefront.\n"}},"type":"object","required":["users","id"]}}}} \ No newline at end of file diff --git a/provider/go.mod b/provider/go.mod index 87c165c9..96bcc8fd 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -3,8 +3,8 @@ module github.com/pulumi/pulumi-wavefront/provider/v3 go 1.21 require ( - github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0 - github.com/pulumi/pulumi/sdk/v3 v3.81.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.61.0 + github.com/pulumi/pulumi/sdk/v3 v3.86.0 github.com/vmware/terraform-provider-wavefront v0.0.0-20230808000921-0f52eec14793 ) @@ -18,7 +18,7 @@ require ( cloud.google.com/go/longrunning v0.5.1 // indirect cloud.google.com/go/storage v1.30.1 // indirect dario.cat/mergo v1.0.0 // indirect - github.com/AlecAivazis/survey/v2 v2.0.5 // indirect + github.com/AlecAivazis/survey/v2 v2.3.7 // indirect github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 // indirect @@ -189,7 +189,7 @@ require ( github.com/pulumi/pulumi-java/pkg v0.9.6 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 // indirect github.com/pulumi/pulumi-yaml v1.2.2 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.81.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.86.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index 3e0a3d33..623d4d1f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -629,8 +629,8 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7 gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= -github.com/AlecAivazis/survey/v2 v2.0.5 h1:xpZp+Q55wi5C7Iaze+40onHnEkex1jSc34CltJjOoPM= -github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= +github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -740,7 +740,6 @@ github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5 github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -1685,7 +1684,7 @@ github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUq github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= -github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02 h1:AgcIVYPa6XJnU3phs104wLj8l5GEththEw6+F79YsIY= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -1827,7 +1826,6 @@ github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NB github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -2179,16 +2177,16 @@ github.com/pulumi/pulumi-java/pkg v0.9.6 h1:UJrOAsYHRchwb4QlfI9Q224qg1TOI3rIsI6D github.com/pulumi/pulumi-java/pkg v0.9.6/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1 h1:SCg1gjfY9N4yn8U8peIUYATifjoDABkyR7H9lmefsfc= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1/go.mod h1:7OeUPH8rpt5ipyj9EFcnXpuzQ8SHL0dyqdfa8nOacdk= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0 h1:55mlXQtnYo2Pa1y0VeILi1W382vK10raX4z69LX2jn0= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0/go.mod h1:o0Vfch2UXtHOnGYpNElzGg4htT6B8X8hS9fa5AguP7g= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.61.0 h1:ryRfPhwm78Ni+U1uaAsITAI6dD2tLtb3suhJXGWb9cM= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.61.0/go.mod h1:k6iVhOWqTkMWxMdd7njoSkPXBJC/T2Rs44Iif3yDgXw= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 h1:rIzMmtcVpPX8ynaz6/nW5AHNY63DiNfCohqmxWvMpM4= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= github.com/pulumi/pulumi-yaml v1.2.2 h1:W6BeUBLhDrJ2GSU0em1AUVelG9PBI4ABY61DdhJOO3E= github.com/pulumi/pulumi-yaml v1.2.2/go.mod h1:EgakC7b/4+VBNnlgM1RZIea2gUstV8s/7bdFJZt0P64= -github.com/pulumi/pulumi/pkg/v3 v3.81.0 h1:6rf2farQLszi8inHCu9YdJtDvK0fqNguix51b3FEDRQ= -github.com/pulumi/pulumi/pkg/v3 v3.81.0/go.mod h1:URXozJB/abhxb2yOwa5ywHjT2dqt9SmAX2iLkdcOOl0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWntJWQ4Q0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= +github.com/pulumi/pulumi/pkg/v3 v3.86.0 h1:G4spuT89ZN8lSxT9WkMF/JaP7n+wu7ubEly7Yy8uza0= +github.com/pulumi/pulumi/pkg/v3 v3.86.0/go.mod h1:Qs55gPhUwM/Dua3VRtHXLLlpY8uEe+llDBIZc+1pvHM= +github.com/pulumi/pulumi/sdk/v3 v3.86.0 h1:Cxg0rGdvMt9GqGvesFTj8+WaO/ihmALYlQf4zm1GzFw= +github.com/pulumi/pulumi/sdk/v3 v3.86.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= @@ -2316,7 +2314,6 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -2533,7 +2530,6 @@ golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaE golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -2807,7 +2803,6 @@ golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 20d1ef94..92dc72ce 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -8,7 +8,7 @@ namespace Pulumi.Wavefront { public static class Config { - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification = + [global::System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification = "Double underscore prefix used to avoid conflicts with variable names.")] private sealed class __Value { diff --git a/sdk/go.mod b/sdk/go.mod index a9570ee4..61bdc3aa 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.81.0 + github.com/pulumi/pulumi/sdk/v3 v3.86.0 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 47f92757..0559cbd4 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -143,8 +143,8 @@ github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWntJWQ4Q0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= +github.com/pulumi/pulumi/sdk/v3 v3.86.0 h1:Cxg0rGdvMt9GqGvesFTj8+WaO/ihmALYlQf4zm1GzFw= +github.com/pulumi/pulumi/sdk/v3 v3.86.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/python/pulumi_wavefront/_inputs.py b/sdk/python/pulumi_wavefront/_inputs.py index 2121b9be..0aa4e498 100644 --- a/sdk/python/pulumi_wavefront/_inputs.py +++ b/sdk/python/pulumi_wavefront/_inputs.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ @@ -36,10 +36,23 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] filter: (Required) String that filters the route. Space delimited. Currently only allows a single key value pair. (e.g. `env prod`) """ - pulumi.set(__self__, "method", method) - pulumi.set(__self__, "target", target) + AlertTargetRouteArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + method=method, + target=target, + filter=filter, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + method: pulumi.Input[str], + target: pulumi.Input[str], + filter: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("method", method) + _setter("target", target) if filter is not None: - pulumi.set(__self__, "filter", filter) + _setter("filter", filter) @property @pulumi.getter @@ -89,8 +102,19 @@ def __init__(__self__, *, :param pulumi.Input[str] app_name: The name of a NewRelic App. :param pulumi.Input[str] metric_filter_regex: A regular expression that a metric name must match (case-insensitively) in order to be ingested. """ - pulumi.set(__self__, "app_name", app_name) - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + CloudIntegrationNewRelicMetricFilterArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + app_name=app_name, + metric_filter_regex=metric_filter_regex, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + app_name: pulumi.Input[str], + metric_filter_regex: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("app_name", app_name) + _setter("metric_filter_regex", metric_filter_regex) @property @pulumi.getter(name="appName") @@ -142,18 +166,43 @@ def __init__(__self__, *, :param pulumi.Input[str] query_value: For `DYNAMIC` parameter types, the query to execute to return values. :param pulumi.Input[str] tag_key: for `TAG_KEY` dynamic field types, the tag key to return. """ - pulumi.set(__self__, "default_value", default_value) - pulumi.set(__self__, "hide_from_view", hide_from_view) - pulumi.set(__self__, "label", label) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "parameter_type", parameter_type) - pulumi.set(__self__, "values_to_readable_strings", values_to_readable_strings) + DashboardParameterDetailArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + default_value=default_value, + hide_from_view=hide_from_view, + label=label, + name=name, + parameter_type=parameter_type, + values_to_readable_strings=values_to_readable_strings, + dynamic_field_type=dynamic_field_type, + query_value=query_value, + tag_key=tag_key, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + default_value: pulumi.Input[str], + hide_from_view: pulumi.Input[bool], + label: pulumi.Input[str], + name: pulumi.Input[str], + parameter_type: pulumi.Input[str], + values_to_readable_strings: pulumi.Input[Mapping[str, pulumi.Input[str]]], + dynamic_field_type: Optional[pulumi.Input[str]] = None, + query_value: Optional[pulumi.Input[str]] = None, + tag_key: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("default_value", default_value) + _setter("hide_from_view", hide_from_view) + _setter("label", label) + _setter("name", name) + _setter("parameter_type", parameter_type) + _setter("values_to_readable_strings", values_to_readable_strings) if dynamic_field_type is not None: - pulumi.set(__self__, "dynamic_field_type", dynamic_field_type) + _setter("dynamic_field_type", dynamic_field_type) if query_value is not None: - pulumi.set(__self__, "query_value", query_value) + _setter("query_value", query_value) if tag_key is not None: - pulumi.set(__self__, "tag_key", tag_key) + _setter("tag_key", tag_key) @property @pulumi.getter(name="defaultValue") @@ -275,8 +324,19 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of this section. :param pulumi.Input[Sequence[pulumi.Input['DashboardSectionRowArgs']]] rows: See dashboard section rows. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "rows", rows) + DashboardSectionArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + name=name, + rows=rows, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + name: pulumi.Input[str], + rows: pulumi.Input[Sequence[pulumi.Input['DashboardSectionRowArgs']]], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("name", name) + _setter("rows", rows) @property @pulumi.getter @@ -310,7 +370,16 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input['DashboardSectionRowChartArgs']]] charts: Charts in this section. See dashboard chart. """ - pulumi.set(__self__, "charts", charts) + DashboardSectionRowArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + charts=charts, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + charts: pulumi.Input[Sequence[pulumi.Input['DashboardSectionRowChartArgs']]], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("charts", charts) @property @pulumi.getter @@ -348,19 +417,44 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Description of the chart. :param pulumi.Input[bool] no_default_events: Show events related to the sources included in queries """ - pulumi.set(__self__, "chart_setting", chart_setting) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "sources", sources) - pulumi.set(__self__, "summarization", summarization) - pulumi.set(__self__, "units", units) + DashboardSectionRowChartArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + chart_setting=chart_setting, + name=name, + sources=sources, + summarization=summarization, + units=units, + base=base, + chart_attribute=chart_attribute, + description=description, + no_default_events=no_default_events, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + chart_setting: pulumi.Input['DashboardSectionRowChartChartSettingArgs'], + name: pulumi.Input[str], + sources: pulumi.Input[Sequence[pulumi.Input['DashboardSectionRowChartSourceArgs']]], + summarization: pulumi.Input[str], + units: pulumi.Input[str], + base: Optional[pulumi.Input[int]] = None, + chart_attribute: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + no_default_events: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("chart_setting", chart_setting) + _setter("name", name) + _setter("sources", sources) + _setter("summarization", summarization) + _setter("units", units) if base is not None: - pulumi.set(__self__, "base", base) + _setter("base", base) if chart_attribute is not None: - pulumi.set(__self__, "chart_attribute", chart_attribute) + _setter("chart_attribute", chart_attribute) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if no_default_events is not None: - pulumi.set(__self__, "no_default_events", no_default_events) + _setter("no_default_events", no_default_events) @property @pulumi.getter(name="chartSetting") @@ -614,119 +708,240 @@ def __init__(__self__, *, :param pulumi.Input[float] ymax: For x-y scatterplots, max value for the Y-axis. Set to null for auto. :param pulumi.Input[float] ymin: For x-y scatterplots, min value for the Y-axis. Set to null for auto. """ - pulumi.set(__self__, "type", type) + DashboardSectionRowChartChartSettingArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + type=type, + auto_column_tags=auto_column_tags, + column_tags=column_tags, + custom_tags=custom_tags, + expected_data_spacing=expected_data_spacing, + fixed_legend_display_stats=fixed_legend_display_stats, + fixed_legend_enabled=fixed_legend_enabled, + fixed_legend_filter_field=fixed_legend_filter_field, + fixed_legend_filter_limit=fixed_legend_filter_limit, + fixed_legend_filter_sort=fixed_legend_filter_sort, + fixed_legend_hide_label=fixed_legend_hide_label, + fixed_legend_position=fixed_legend_position, + fixed_legend_use_raw_stats=fixed_legend_use_raw_stats, + group_by_source=group_by_source, + invert_dynamic_legend_hover_control=invert_dynamic_legend_hover_control, + line_type=line_type, + max=max, + min=min, + num_tags=num_tags, + plain_markdown_content=plain_markdown_content, + show_hosts=show_hosts, + show_labels=show_labels, + show_raw_values=show_raw_values, + sort_values_descending=sort_values_descending, + sparkline_decimal_precision=sparkline_decimal_precision, + sparkline_display_color=sparkline_display_color, + sparkline_display_font_size=sparkline_display_font_size, + sparkline_display_horizontal_position=sparkline_display_horizontal_position, + sparkline_display_postfix=sparkline_display_postfix, + sparkline_display_prefix=sparkline_display_prefix, + sparkline_display_value_type=sparkline_display_value_type, + sparkline_display_vertical_position=sparkline_display_vertical_position, + sparkline_fill_color=sparkline_fill_color, + sparkline_line_color=sparkline_line_color, + sparkline_size=sparkline_size, + sparkline_value_color_map_apply_to=sparkline_value_color_map_apply_to, + sparkline_value_color_map_colors=sparkline_value_color_map_colors, + sparkline_value_color_map_values=sparkline_value_color_map_values, + sparkline_value_color_map_values_v2s=sparkline_value_color_map_values_v2s, + sparkline_value_text_map_texts=sparkline_value_text_map_texts, + sparkline_value_text_map_thresholds=sparkline_value_text_map_thresholds, + stack_type=stack_type, + tag_mode=tag_mode, + time_based_coloring=time_based_coloring, + window_size=window_size, + windowing=windowing, + xmax=xmax, + xmin=xmin, + y0_scale_si_by1024=y0_scale_si_by1024, + y0_unit_autoscaling=y0_unit_autoscaling, + y1_scale_si_by1024=y1_scale_si_by1024, + y1_unit_autoscaling=y1_unit_autoscaling, + y1_units=y1_units, + y1max=y1max, + y1min=y1min, + ymax=ymax, + ymin=ymin, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + type: pulumi.Input[str], + auto_column_tags: Optional[pulumi.Input[bool]] = None, + column_tags: Optional[pulumi.Input[str]] = None, + custom_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + expected_data_spacing: Optional[pulumi.Input[int]] = None, + fixed_legend_display_stats: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + fixed_legend_enabled: Optional[pulumi.Input[bool]] = None, + fixed_legend_filter_field: Optional[pulumi.Input[str]] = None, + fixed_legend_filter_limit: Optional[pulumi.Input[int]] = None, + fixed_legend_filter_sort: Optional[pulumi.Input[str]] = None, + fixed_legend_hide_label: Optional[pulumi.Input[bool]] = None, + fixed_legend_position: Optional[pulumi.Input[str]] = None, + fixed_legend_use_raw_stats: Optional[pulumi.Input[bool]] = None, + group_by_source: Optional[pulumi.Input[bool]] = None, + invert_dynamic_legend_hover_control: Optional[pulumi.Input[bool]] = None, + line_type: Optional[pulumi.Input[str]] = None, + max: Optional[pulumi.Input[float]] = None, + min: Optional[pulumi.Input[float]] = None, + num_tags: Optional[pulumi.Input[int]] = None, + plain_markdown_content: Optional[pulumi.Input[str]] = None, + show_hosts: Optional[pulumi.Input[bool]] = None, + show_labels: Optional[pulumi.Input[bool]] = None, + show_raw_values: Optional[pulumi.Input[bool]] = None, + sort_values_descending: Optional[pulumi.Input[bool]] = None, + sparkline_decimal_precision: Optional[pulumi.Input[int]] = None, + sparkline_display_color: Optional[pulumi.Input[str]] = None, + sparkline_display_font_size: Optional[pulumi.Input[str]] = None, + sparkline_display_horizontal_position: Optional[pulumi.Input[str]] = None, + sparkline_display_postfix: Optional[pulumi.Input[str]] = None, + sparkline_display_prefix: Optional[pulumi.Input[str]] = None, + sparkline_display_value_type: Optional[pulumi.Input[str]] = None, + sparkline_display_vertical_position: Optional[pulumi.Input[str]] = None, + sparkline_fill_color: Optional[pulumi.Input[str]] = None, + sparkline_line_color: Optional[pulumi.Input[str]] = None, + sparkline_size: Optional[pulumi.Input[str]] = None, + sparkline_value_color_map_apply_to: Optional[pulumi.Input[str]] = None, + sparkline_value_color_map_colors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + sparkline_value_color_map_values: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + sparkline_value_color_map_values_v2s: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]] = None, + sparkline_value_text_map_texts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + sparkline_value_text_map_thresholds: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]] = None, + stack_type: Optional[pulumi.Input[str]] = None, + tag_mode: Optional[pulumi.Input[str]] = None, + time_based_coloring: Optional[pulumi.Input[bool]] = None, + window_size: Optional[pulumi.Input[int]] = None, + windowing: Optional[pulumi.Input[str]] = None, + xmax: Optional[pulumi.Input[float]] = None, + xmin: Optional[pulumi.Input[float]] = None, + y0_scale_si_by1024: Optional[pulumi.Input[bool]] = None, + y0_unit_autoscaling: Optional[pulumi.Input[bool]] = None, + y1_scale_si_by1024: Optional[pulumi.Input[bool]] = None, + y1_unit_autoscaling: Optional[pulumi.Input[bool]] = None, + y1_units: Optional[pulumi.Input[str]] = None, + y1max: Optional[pulumi.Input[float]] = None, + y1min: Optional[pulumi.Input[float]] = None, + ymax: Optional[pulumi.Input[float]] = None, + ymin: Optional[pulumi.Input[float]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("type", type) if auto_column_tags is not None: - pulumi.set(__self__, "auto_column_tags", auto_column_tags) + _setter("auto_column_tags", auto_column_tags) if column_tags is not None: - pulumi.set(__self__, "column_tags", column_tags) + _setter("column_tags", column_tags) if custom_tags is not None: - pulumi.set(__self__, "custom_tags", custom_tags) + _setter("custom_tags", custom_tags) if expected_data_spacing is not None: - pulumi.set(__self__, "expected_data_spacing", expected_data_spacing) + _setter("expected_data_spacing", expected_data_spacing) if fixed_legend_display_stats is not None: - pulumi.set(__self__, "fixed_legend_display_stats", fixed_legend_display_stats) + _setter("fixed_legend_display_stats", fixed_legend_display_stats) if fixed_legend_enabled is not None: - pulumi.set(__self__, "fixed_legend_enabled", fixed_legend_enabled) + _setter("fixed_legend_enabled", fixed_legend_enabled) if fixed_legend_filter_field is not None: - pulumi.set(__self__, "fixed_legend_filter_field", fixed_legend_filter_field) + _setter("fixed_legend_filter_field", fixed_legend_filter_field) if fixed_legend_filter_limit is not None: - pulumi.set(__self__, "fixed_legend_filter_limit", fixed_legend_filter_limit) + _setter("fixed_legend_filter_limit", fixed_legend_filter_limit) if fixed_legend_filter_sort is not None: - pulumi.set(__self__, "fixed_legend_filter_sort", fixed_legend_filter_sort) + _setter("fixed_legend_filter_sort", fixed_legend_filter_sort) if fixed_legend_hide_label is not None: - pulumi.set(__self__, "fixed_legend_hide_label", fixed_legend_hide_label) + _setter("fixed_legend_hide_label", fixed_legend_hide_label) if fixed_legend_position is not None: - pulumi.set(__self__, "fixed_legend_position", fixed_legend_position) + _setter("fixed_legend_position", fixed_legend_position) if fixed_legend_use_raw_stats is not None: - pulumi.set(__self__, "fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) + _setter("fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) if group_by_source is not None: - pulumi.set(__self__, "group_by_source", group_by_source) + _setter("group_by_source", group_by_source) if invert_dynamic_legend_hover_control is not None: - pulumi.set(__self__, "invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) + _setter("invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) if line_type is not None: - pulumi.set(__self__, "line_type", line_type) + _setter("line_type", line_type) if max is not None: - pulumi.set(__self__, "max", max) + _setter("max", max) if min is not None: - pulumi.set(__self__, "min", min) + _setter("min", min) if num_tags is not None: - pulumi.set(__self__, "num_tags", num_tags) + _setter("num_tags", num_tags) if plain_markdown_content is not None: - pulumi.set(__self__, "plain_markdown_content", plain_markdown_content) + _setter("plain_markdown_content", plain_markdown_content) if show_hosts is not None: - pulumi.set(__self__, "show_hosts", show_hosts) + _setter("show_hosts", show_hosts) if show_labels is not None: - pulumi.set(__self__, "show_labels", show_labels) + _setter("show_labels", show_labels) if show_raw_values is not None: - pulumi.set(__self__, "show_raw_values", show_raw_values) + _setter("show_raw_values", show_raw_values) if sort_values_descending is not None: - pulumi.set(__self__, "sort_values_descending", sort_values_descending) + _setter("sort_values_descending", sort_values_descending) if sparkline_decimal_precision is not None: - pulumi.set(__self__, "sparkline_decimal_precision", sparkline_decimal_precision) + _setter("sparkline_decimal_precision", sparkline_decimal_precision) if sparkline_display_color is not None: - pulumi.set(__self__, "sparkline_display_color", sparkline_display_color) + _setter("sparkline_display_color", sparkline_display_color) if sparkline_display_font_size is not None: - pulumi.set(__self__, "sparkline_display_font_size", sparkline_display_font_size) + _setter("sparkline_display_font_size", sparkline_display_font_size) if sparkline_display_horizontal_position is not None: - pulumi.set(__self__, "sparkline_display_horizontal_position", sparkline_display_horizontal_position) + _setter("sparkline_display_horizontal_position", sparkline_display_horizontal_position) if sparkline_display_postfix is not None: - pulumi.set(__self__, "sparkline_display_postfix", sparkline_display_postfix) + _setter("sparkline_display_postfix", sparkline_display_postfix) if sparkline_display_prefix is not None: - pulumi.set(__self__, "sparkline_display_prefix", sparkline_display_prefix) + _setter("sparkline_display_prefix", sparkline_display_prefix) if sparkline_display_value_type is not None: - pulumi.set(__self__, "sparkline_display_value_type", sparkline_display_value_type) + _setter("sparkline_display_value_type", sparkline_display_value_type) if sparkline_display_vertical_position is not None: - pulumi.set(__self__, "sparkline_display_vertical_position", sparkline_display_vertical_position) + _setter("sparkline_display_vertical_position", sparkline_display_vertical_position) if sparkline_fill_color is not None: - pulumi.set(__self__, "sparkline_fill_color", sparkline_fill_color) + _setter("sparkline_fill_color", sparkline_fill_color) if sparkline_line_color is not None: - pulumi.set(__self__, "sparkline_line_color", sparkline_line_color) + _setter("sparkline_line_color", sparkline_line_color) if sparkline_size is not None: - pulumi.set(__self__, "sparkline_size", sparkline_size) + _setter("sparkline_size", sparkline_size) if sparkline_value_color_map_apply_to is not None: - pulumi.set(__self__, "sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) + _setter("sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) if sparkline_value_color_map_colors is not None: - pulumi.set(__self__, "sparkline_value_color_map_colors", sparkline_value_color_map_colors) + _setter("sparkline_value_color_map_colors", sparkline_value_color_map_colors) if sparkline_value_color_map_values is not None: - pulumi.set(__self__, "sparkline_value_color_map_values", sparkline_value_color_map_values) + _setter("sparkline_value_color_map_values", sparkline_value_color_map_values) if sparkline_value_color_map_values_v2s is not None: - pulumi.set(__self__, "sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) + _setter("sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) if sparkline_value_text_map_texts is not None: - pulumi.set(__self__, "sparkline_value_text_map_texts", sparkline_value_text_map_texts) + _setter("sparkline_value_text_map_texts", sparkline_value_text_map_texts) if sparkline_value_text_map_thresholds is not None: - pulumi.set(__self__, "sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) + _setter("sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) if stack_type is not None: - pulumi.set(__self__, "stack_type", stack_type) + _setter("stack_type", stack_type) if tag_mode is not None: - pulumi.set(__self__, "tag_mode", tag_mode) + _setter("tag_mode", tag_mode) if time_based_coloring is not None: - pulumi.set(__self__, "time_based_coloring", time_based_coloring) + _setter("time_based_coloring", time_based_coloring) if window_size is not None: - pulumi.set(__self__, "window_size", window_size) + _setter("window_size", window_size) if windowing is not None: - pulumi.set(__self__, "windowing", windowing) + _setter("windowing", windowing) if xmax is not None: - pulumi.set(__self__, "xmax", xmax) + _setter("xmax", xmax) if xmin is not None: - pulumi.set(__self__, "xmin", xmin) + _setter("xmin", xmin) if y0_scale_si_by1024 is not None: - pulumi.set(__self__, "y0_scale_si_by1024", y0_scale_si_by1024) + _setter("y0_scale_si_by1024", y0_scale_si_by1024) if y0_unit_autoscaling is not None: - pulumi.set(__self__, "y0_unit_autoscaling", y0_unit_autoscaling) + _setter("y0_unit_autoscaling", y0_unit_autoscaling) if y1_scale_si_by1024 is not None: - pulumi.set(__self__, "y1_scale_si_by1024", y1_scale_si_by1024) + _setter("y1_scale_si_by1024", y1_scale_si_by1024) if y1_unit_autoscaling is not None: - pulumi.set(__self__, "y1_unit_autoscaling", y1_unit_autoscaling) + _setter("y1_unit_autoscaling", y1_unit_autoscaling) if y1_units is not None: - pulumi.set(__self__, "y1_units", y1_units) + _setter("y1_units", y1_units) if y1max is not None: - pulumi.set(__self__, "y1max", y1max) + _setter("y1max", y1max) if y1min is not None: - pulumi.set(__self__, "y1min", y1min) + _setter("y1min", y1min) if ymax is not None: - pulumi.set(__self__, "ymax", ymax) + _setter("ymax", ymax) if ymin is not None: - pulumi.set(__self__, "ymin", ymin) + _setter("ymin", ymin) @property @pulumi.getter @@ -1456,16 +1671,35 @@ def __init__(__self__, *, :param pulumi.Input[str] scatter_plot_source: For scatter plots, does this query source the X-axis or the Y-axis, `X`, or `Y`. :param pulumi.Input[str] source_description: A description for the purpose of this source. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "query", query) + DashboardSectionRowChartSourceArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + name=name, + query=query, + disabled=disabled, + query_builder_enabled=query_builder_enabled, + scatter_plot_source=scatter_plot_source, + source_description=source_description, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + name: pulumi.Input[str], + query: pulumi.Input[str], + disabled: Optional[pulumi.Input[bool]] = None, + query_builder_enabled: Optional[pulumi.Input[bool]] = None, + scatter_plot_source: Optional[pulumi.Input[str]] = None, + source_description: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("name", name) + _setter("query", query) if disabled is not None: - pulumi.set(__self__, "disabled", disabled) + _setter("disabled", disabled) if query_builder_enabled is not None: - pulumi.set(__self__, "query_builder_enabled", query_builder_enabled) + _setter("query_builder_enabled", query_builder_enabled) if scatter_plot_source is not None: - pulumi.set(__self__, "scatter_plot_source", scatter_plot_source) + _setter("scatter_plot_source", scatter_plot_source) if source_description is not None: - pulumi.set(__self__, "source_description", source_description) + _setter("source_description", source_description) @property @pulumi.getter @@ -1545,8 +1779,19 @@ class IngestionPolicyTagArgs: def __init__(__self__, *, key: pulumi.Input[str], value: pulumi.Input[str]): - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "value", value) + IngestionPolicyTagArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: pulumi.Input[str], + value: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("key", key) + _setter("value", value) @property @pulumi.getter @@ -1590,19 +1835,44 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['MetricsPolicyPolicyRuleTagArgs']]] tags: List of Key/Value tags to select target metrics for policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_group_ids: List of user group ids to apply Metrics Policy to. Must have at least one associated account_id, user_group_id, or role_id. """ - pulumi.set(__self__, "access_type", access_type) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "prefixes", prefixes) - pulumi.set(__self__, "tags_anded", tags_anded) + MetricsPolicyPolicyRuleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_type=access_type, + description=description, + name=name, + prefixes=prefixes, + tags_anded=tags_anded, + account_ids=account_ids, + role_ids=role_ids, + tags=tags, + user_group_ids=user_group_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_type: pulumi.Input[str], + description: pulumi.Input[str], + name: pulumi.Input[str], + prefixes: pulumi.Input[Sequence[pulumi.Input[str]]], + tags_anded: pulumi.Input[bool], + account_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['MetricsPolicyPolicyRuleTagArgs']]]] = None, + user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("access_type", access_type) + _setter("description", description) + _setter("name", name) + _setter("prefixes", prefixes) + _setter("tags_anded", tags_anded) if account_ids is not None: - pulumi.set(__self__, "account_ids", account_ids) + _setter("account_ids", account_ids) if role_ids is not None: - pulumi.set(__self__, "role_ids", role_ids) + _setter("role_ids", role_ids) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if user_group_ids is not None: - pulumi.set(__self__, "user_group_ids", user_group_ids) + _setter("user_group_ids", user_group_ids) @property @pulumi.getter(name="accessType") @@ -1722,8 +1992,19 @@ def __init__(__self__, *, :param pulumi.Input[str] key: The tag's key. :param pulumi.Input[str] value: The tag's value. """ - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "value", value) + MetricsPolicyPolicyRuleTagArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: pulumi.Input[str], + value: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("key", key) + _setter("value", value) @property @pulumi.getter diff --git a/sdk/python/pulumi_wavefront/alert.py b/sdk/python/pulumi_wavefront/alert.py index 52720e48..4f4154e8 100644 --- a/sdk/python/pulumi_wavefront/alert.py +++ b/sdk/python/pulumi_wavefront/alert.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['AlertArgs', 'Alert'] @@ -62,36 +62,75 @@ def __init__(__self__, *, Alert target format: ({email}|pd:{pd_key}|target:{alert-target-id}). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] threshold_targets: A string to string map of Targets for severity. """ - pulumi.set(__self__, "minutes", minutes) - pulumi.set(__self__, "tags", tags) + AlertArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + minutes=minutes, + tags=tags, + additional_information=additional_information, + alert_type=alert_type, + can_modifies=can_modifies, + can_views=can_views, + condition=condition, + conditions=conditions, + display_expression=display_expression, + name=name, + notification_resend_frequency_minutes=notification_resend_frequency_minutes, + process_rate_minutes=process_rate_minutes, + resolve_after_minutes=resolve_after_minutes, + severity=severity, + target=target, + threshold_targets=threshold_targets, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + minutes: pulumi.Input[int], + tags: pulumi.Input[Sequence[pulumi.Input[str]]], + additional_information: Optional[pulumi.Input[str]] = None, + alert_type: Optional[pulumi.Input[str]] = None, + can_modifies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + can_views: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + condition: Optional[pulumi.Input[str]] = None, + conditions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + display_expression: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + notification_resend_frequency_minutes: Optional[pulumi.Input[int]] = None, + process_rate_minutes: Optional[pulumi.Input[int]] = None, + resolve_after_minutes: Optional[pulumi.Input[int]] = None, + severity: Optional[pulumi.Input[str]] = None, + target: Optional[pulumi.Input[str]] = None, + threshold_targets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("minutes", minutes) + _setter("tags", tags) if additional_information is not None: - pulumi.set(__self__, "additional_information", additional_information) + _setter("additional_information", additional_information) if alert_type is not None: - pulumi.set(__self__, "alert_type", alert_type) + _setter("alert_type", alert_type) if can_modifies is not None: - pulumi.set(__self__, "can_modifies", can_modifies) + _setter("can_modifies", can_modifies) if can_views is not None: - pulumi.set(__self__, "can_views", can_views) + _setter("can_views", can_views) if condition is not None: - pulumi.set(__self__, "condition", condition) + _setter("condition", condition) if conditions is not None: - pulumi.set(__self__, "conditions", conditions) + _setter("conditions", conditions) if display_expression is not None: - pulumi.set(__self__, "display_expression", display_expression) + _setter("display_expression", display_expression) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if notification_resend_frequency_minutes is not None: - pulumi.set(__self__, "notification_resend_frequency_minutes", notification_resend_frequency_minutes) + _setter("notification_resend_frequency_minutes", notification_resend_frequency_minutes) if process_rate_minutes is not None: - pulumi.set(__self__, "process_rate_minutes", process_rate_minutes) + _setter("process_rate_minutes", process_rate_minutes) if resolve_after_minutes is not None: - pulumi.set(__self__, "resolve_after_minutes", resolve_after_minutes) + _setter("resolve_after_minutes", resolve_after_minutes) if severity is not None: - pulumi.set(__self__, "severity", severity) + _setter("severity", severity) if target is not None: - pulumi.set(__self__, "target", target) + _setter("target", target) if threshold_targets is not None: - pulumi.set(__self__, "threshold_targets", threshold_targets) + _setter("threshold_targets", threshold_targets) @property @pulumi.getter @@ -350,38 +389,77 @@ def __init__(__self__, *, Alert target format: ({email}|pd:{pd_key}|target:{alert-target-id}). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] threshold_targets: A string to string map of Targets for severity. """ + _AlertState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_information=additional_information, + alert_type=alert_type, + can_modifies=can_modifies, + can_views=can_views, + condition=condition, + conditions=conditions, + display_expression=display_expression, + minutes=minutes, + name=name, + notification_resend_frequency_minutes=notification_resend_frequency_minutes, + process_rate_minutes=process_rate_minutes, + resolve_after_minutes=resolve_after_minutes, + severity=severity, + tags=tags, + target=target, + threshold_targets=threshold_targets, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_information: Optional[pulumi.Input[str]] = None, + alert_type: Optional[pulumi.Input[str]] = None, + can_modifies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + can_views: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + condition: Optional[pulumi.Input[str]] = None, + conditions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + display_expression: Optional[pulumi.Input[str]] = None, + minutes: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + notification_resend_frequency_minutes: Optional[pulumi.Input[int]] = None, + process_rate_minutes: Optional[pulumi.Input[int]] = None, + resolve_after_minutes: Optional[pulumi.Input[int]] = None, + severity: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + target: Optional[pulumi.Input[str]] = None, + threshold_targets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_information is not None: - pulumi.set(__self__, "additional_information", additional_information) + _setter("additional_information", additional_information) if alert_type is not None: - pulumi.set(__self__, "alert_type", alert_type) + _setter("alert_type", alert_type) if can_modifies is not None: - pulumi.set(__self__, "can_modifies", can_modifies) + _setter("can_modifies", can_modifies) if can_views is not None: - pulumi.set(__self__, "can_views", can_views) + _setter("can_views", can_views) if condition is not None: - pulumi.set(__self__, "condition", condition) + _setter("condition", condition) if conditions is not None: - pulumi.set(__self__, "conditions", conditions) + _setter("conditions", conditions) if display_expression is not None: - pulumi.set(__self__, "display_expression", display_expression) + _setter("display_expression", display_expression) if minutes is not None: - pulumi.set(__self__, "minutes", minutes) + _setter("minutes", minutes) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if notification_resend_frequency_minutes is not None: - pulumi.set(__self__, "notification_resend_frequency_minutes", notification_resend_frequency_minutes) + _setter("notification_resend_frequency_minutes", notification_resend_frequency_minutes) if process_rate_minutes is not None: - pulumi.set(__self__, "process_rate_minutes", process_rate_minutes) + _setter("process_rate_minutes", process_rate_minutes) if resolve_after_minutes is not None: - pulumi.set(__self__, "resolve_after_minutes", resolve_after_minutes) + _setter("resolve_after_minutes", resolve_after_minutes) if severity is not None: - pulumi.set(__self__, "severity", severity) + _setter("severity", severity) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if target is not None: - pulumi.set(__self__, "target", target) + _setter("target", target) if threshold_targets is not None: - pulumi.set(__self__, "threshold_targets", threshold_targets) + _setter("threshold_targets", threshold_targets) @property @pulumi.getter(name="additionalInformation") @@ -719,6 +797,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + AlertArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/alert_target.py b/sdk/python/pulumi_wavefront/alert_target.py index e66a1faa..52a0ff2c 100644 --- a/sdk/python/pulumi_wavefront/alert_target.py +++ b/sdk/python/pulumi_wavefront/alert_target.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -44,24 +44,53 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the alert target as it is displayed in Wavefront. :param pulumi.Input[Sequence[pulumi.Input['AlertTargetRouteArgs']]] routes: List of routing targets that this alert target will notify. See Route """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "recipient", recipient) - pulumi.set(__self__, "template", template) - pulumi.set(__self__, "triggers", triggers) + AlertTargetArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + recipient=recipient, + template=template, + triggers=triggers, + content_type=content_type, + custom_headers=custom_headers, + email_subject=email_subject, + is_html_content=is_html_content, + method=method, + name=name, + routes=routes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: pulumi.Input[str], + recipient: pulumi.Input[str], + template: pulumi.Input[str], + triggers: pulumi.Input[Sequence[pulumi.Input[str]]], + content_type: Optional[pulumi.Input[str]] = None, + custom_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + email_subject: Optional[pulumi.Input[str]] = None, + is_html_content: Optional[pulumi.Input[bool]] = None, + method: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input['AlertTargetRouteArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) + _setter("recipient", recipient) + _setter("template", template) + _setter("triggers", triggers) if content_type is not None: - pulumi.set(__self__, "content_type", content_type) + _setter("content_type", content_type) if custom_headers is not None: - pulumi.set(__self__, "custom_headers", custom_headers) + _setter("custom_headers", custom_headers) if email_subject is not None: - pulumi.set(__self__, "email_subject", email_subject) + _setter("email_subject", email_subject) if is_html_content is not None: - pulumi.set(__self__, "is_html_content", is_html_content) + _setter("is_html_content", is_html_content) if method is not None: - pulumi.set(__self__, "method", method) + _setter("method", method) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if routes is not None: - pulumi.set(__self__, "routes", routes) + _setter("routes", routes) @property @pulumi.getter @@ -232,30 +261,61 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] triggers: A list of occurrences on which this webhook will be fired. Valid values are `ALERT_OPENED`, `ALERT_UPDATED`, `ALERT_RESOLVED`, `ALERT_MAINTENANCE`, `ALERT_SNOOZED`, `ALERT_NO_DATA`, `ALERT_NO_DATA_RESOLVED`, `ALERT_NO_DATA_MAINTENANCE`. """ + _AlertTargetState._configure( + lambda key, value: pulumi.set(__self__, key, value), + content_type=content_type, + custom_headers=custom_headers, + description=description, + email_subject=email_subject, + is_html_content=is_html_content, + method=method, + name=name, + recipient=recipient, + routes=routes, + target_id=target_id, + template=template, + triggers=triggers, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + content_type: Optional[pulumi.Input[str]] = None, + custom_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + email_subject: Optional[pulumi.Input[str]] = None, + is_html_content: Optional[pulumi.Input[bool]] = None, + method: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + recipient: Optional[pulumi.Input[str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input['AlertTargetRouteArgs']]]] = None, + target_id: Optional[pulumi.Input[str]] = None, + template: Optional[pulumi.Input[str]] = None, + triggers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if content_type is not None: - pulumi.set(__self__, "content_type", content_type) + _setter("content_type", content_type) if custom_headers is not None: - pulumi.set(__self__, "custom_headers", custom_headers) + _setter("custom_headers", custom_headers) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if email_subject is not None: - pulumi.set(__self__, "email_subject", email_subject) + _setter("email_subject", email_subject) if is_html_content is not None: - pulumi.set(__self__, "is_html_content", is_html_content) + _setter("is_html_content", is_html_content) if method is not None: - pulumi.set(__self__, "method", method) + _setter("method", method) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if recipient is not None: - pulumi.set(__self__, "recipient", recipient) + _setter("recipient", recipient) if routes is not None: - pulumi.set(__self__, "routes", routes) + _setter("routes", routes) if target_id is not None: - pulumi.set(__self__, "target_id", target_id) + _setter("target_id", target_id) if template is not None: - pulumi.set(__self__, "template", template) + _setter("template", template) if triggers is not None: - pulumi.set(__self__, "triggers", triggers) + _setter("triggers", triggers) @property @pulumi.getter(name="contentType") @@ -519,6 +579,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + AlertTargetArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_app_dynamics.py b/sdk/python/pulumi_wavefront/cloud_integration_app_dynamics.py index e2c987b8..976892e2 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_app_dynamics.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_app_dynamics.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationAppDynamicsArgs', 'CloudIntegrationAppDynamics'] @@ -53,36 +53,77 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The human-readable name of this integration. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "controller_name", controller_name) - pulumi.set(__self__, "encrypted_password", encrypted_password) - pulumi.set(__self__, "service", service) - pulumi.set(__self__, "user_name", user_name) + CloudIntegrationAppDynamicsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + controller_name=controller_name, + encrypted_password=encrypted_password, + service=service, + user_name=user_name, + additional_tags=additional_tags, + app_filter_regexes=app_filter_regexes, + enable_app_infra_metrics=enable_app_infra_metrics, + enable_backend_metrics=enable_backend_metrics, + enable_business_trx_metrics=enable_business_trx_metrics, + enable_error_metrics=enable_error_metrics, + enable_individual_node_metrics=enable_individual_node_metrics, + enable_overall_perf_metrics=enable_overall_perf_metrics, + enable_rollup=enable_rollup, + enable_service_endpoint_metrics=enable_service_endpoint_metrics, + force_save=force_save, + name=name, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + controller_name: pulumi.Input[str], + encrypted_password: pulumi.Input[str], + service: pulumi.Input[str], + user_name: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + app_filter_regexes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_app_infra_metrics: Optional[pulumi.Input[bool]] = None, + enable_backend_metrics: Optional[pulumi.Input[bool]] = None, + enable_business_trx_metrics: Optional[pulumi.Input[bool]] = None, + enable_error_metrics: Optional[pulumi.Input[bool]] = None, + enable_individual_node_metrics: Optional[pulumi.Input[bool]] = None, + enable_overall_perf_metrics: Optional[pulumi.Input[bool]] = None, + enable_rollup: Optional[pulumi.Input[bool]] = None, + enable_service_endpoint_metrics: Optional[pulumi.Input[bool]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("controller_name", controller_name) + _setter("encrypted_password", encrypted_password) + _setter("service", service) + _setter("user_name", user_name) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if app_filter_regexes is not None: - pulumi.set(__self__, "app_filter_regexes", app_filter_regexes) + _setter("app_filter_regexes", app_filter_regexes) if enable_app_infra_metrics is not None: - pulumi.set(__self__, "enable_app_infra_metrics", enable_app_infra_metrics) + _setter("enable_app_infra_metrics", enable_app_infra_metrics) if enable_backend_metrics is not None: - pulumi.set(__self__, "enable_backend_metrics", enable_backend_metrics) + _setter("enable_backend_metrics", enable_backend_metrics) if enable_business_trx_metrics is not None: - pulumi.set(__self__, "enable_business_trx_metrics", enable_business_trx_metrics) + _setter("enable_business_trx_metrics", enable_business_trx_metrics) if enable_error_metrics is not None: - pulumi.set(__self__, "enable_error_metrics", enable_error_metrics) + _setter("enable_error_metrics", enable_error_metrics) if enable_individual_node_metrics is not None: - pulumi.set(__self__, "enable_individual_node_metrics", enable_individual_node_metrics) + _setter("enable_individual_node_metrics", enable_individual_node_metrics) if enable_overall_perf_metrics is not None: - pulumi.set(__self__, "enable_overall_perf_metrics", enable_overall_perf_metrics) + _setter("enable_overall_perf_metrics", enable_overall_perf_metrics) if enable_rollup is not None: - pulumi.set(__self__, "enable_rollup", enable_rollup) + _setter("enable_rollup", enable_rollup) if enable_service_endpoint_metrics is not None: - pulumi.set(__self__, "enable_service_endpoint_metrics", enable_service_endpoint_metrics) + _setter("enable_service_endpoint_metrics", enable_service_endpoint_metrics) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="controllerName") @@ -333,40 +374,81 @@ def __init__(__self__, *, :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. :param pulumi.Input[str] user_name: Username is a combination of userName and the account name. """ + _CloudIntegrationAppDynamicsState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + app_filter_regexes=app_filter_regexes, + controller_name=controller_name, + enable_app_infra_metrics=enable_app_infra_metrics, + enable_backend_metrics=enable_backend_metrics, + enable_business_trx_metrics=enable_business_trx_metrics, + enable_error_metrics=enable_error_metrics, + enable_individual_node_metrics=enable_individual_node_metrics, + enable_overall_perf_metrics=enable_overall_perf_metrics, + enable_rollup=enable_rollup, + enable_service_endpoint_metrics=enable_service_endpoint_metrics, + encrypted_password=encrypted_password, + force_save=force_save, + name=name, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + user_name=user_name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + app_filter_regexes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + controller_name: Optional[pulumi.Input[str]] = None, + enable_app_infra_metrics: Optional[pulumi.Input[bool]] = None, + enable_backend_metrics: Optional[pulumi.Input[bool]] = None, + enable_business_trx_metrics: Optional[pulumi.Input[bool]] = None, + enable_error_metrics: Optional[pulumi.Input[bool]] = None, + enable_individual_node_metrics: Optional[pulumi.Input[bool]] = None, + enable_overall_perf_metrics: Optional[pulumi.Input[bool]] = None, + enable_rollup: Optional[pulumi.Input[bool]] = None, + enable_service_endpoint_metrics: Optional[pulumi.Input[bool]] = None, + encrypted_password: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + user_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if app_filter_regexes is not None: - pulumi.set(__self__, "app_filter_regexes", app_filter_regexes) + _setter("app_filter_regexes", app_filter_regexes) if controller_name is not None: - pulumi.set(__self__, "controller_name", controller_name) + _setter("controller_name", controller_name) if enable_app_infra_metrics is not None: - pulumi.set(__self__, "enable_app_infra_metrics", enable_app_infra_metrics) + _setter("enable_app_infra_metrics", enable_app_infra_metrics) if enable_backend_metrics is not None: - pulumi.set(__self__, "enable_backend_metrics", enable_backend_metrics) + _setter("enable_backend_metrics", enable_backend_metrics) if enable_business_trx_metrics is not None: - pulumi.set(__self__, "enable_business_trx_metrics", enable_business_trx_metrics) + _setter("enable_business_trx_metrics", enable_business_trx_metrics) if enable_error_metrics is not None: - pulumi.set(__self__, "enable_error_metrics", enable_error_metrics) + _setter("enable_error_metrics", enable_error_metrics) if enable_individual_node_metrics is not None: - pulumi.set(__self__, "enable_individual_node_metrics", enable_individual_node_metrics) + _setter("enable_individual_node_metrics", enable_individual_node_metrics) if enable_overall_perf_metrics is not None: - pulumi.set(__self__, "enable_overall_perf_metrics", enable_overall_perf_metrics) + _setter("enable_overall_perf_metrics", enable_overall_perf_metrics) if enable_rollup is not None: - pulumi.set(__self__, "enable_rollup", enable_rollup) + _setter("enable_rollup", enable_rollup) if enable_service_endpoint_metrics is not None: - pulumi.set(__self__, "enable_service_endpoint_metrics", enable_service_endpoint_metrics) + _setter("enable_service_endpoint_metrics", enable_service_endpoint_metrics) if encrypted_password is not None: - pulumi.set(__self__, "encrypted_password", encrypted_password) + _setter("encrypted_password", encrypted_password) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) if user_name is not None: - pulumi.set(__self__, "user_name", user_name) + _setter("user_name", user_name) @property @pulumi.getter(name="additionalTags") @@ -684,6 +766,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationAppDynamicsArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_aws_external_id.py b/sdk/python/pulumi_wavefront/cloud_integration_aws_external_id.py index af6800f5..d7712860 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_aws_external_id.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_aws_external_id.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationAwsExternalIdArgs', 'CloudIntegrationAwsExternalId'] @@ -18,6 +18,11 @@ def __init__(__self__): The set of arguments for constructing a CloudIntegrationAwsExternalId resource. """ pass + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + opts: Optional[pulumi.ResourceOptions]=None): + pass class CloudIntegrationAwsExternalId(pulumi.CustomResource): @@ -85,6 +90,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationAwsExternalIdArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_azure.py b/sdk/python/pulumi_wavefront/cloud_integration_azure.py index 9ad5610b..cb2adc22 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_azure.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_azure.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationAzureArgs', 'CloudIntegrationAzure'] @@ -39,24 +39,53 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_group_filters: A list of Azure resource groups from which to pull metrics. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "client_id", client_id) - pulumi.set(__self__, "client_secret", client_secret) - pulumi.set(__self__, "service", service) - pulumi.set(__self__, "tenant", tenant) + CloudIntegrationAzureArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + service=service, + tenant=tenant, + additional_tags=additional_tags, + category_filters=category_filters, + force_save=force_save, + metric_filter_regex=metric_filter_regex, + name=name, + resource_group_filters=resource_group_filters, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + service: pulumi.Input[str], + tenant: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + category_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_group_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("service", service) + _setter("tenant", tenant) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if category_filters is not None: - pulumi.set(__self__, "category_filters", category_filters) + _setter("category_filters", category_filters) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if resource_group_filters is not None: - pulumi.set(__self__, "resource_group_filters", resource_group_filters) + _setter("resource_group_filters", resource_group_filters) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="clientId") @@ -219,28 +248,57 @@ def __init__(__self__, *, :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. :param pulumi.Input[str] tenant: Tenant ID for an Azure service account within your project. """ + _CloudIntegrationAzureState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + category_filters=category_filters, + client_id=client_id, + client_secret=client_secret, + force_save=force_save, + metric_filter_regex=metric_filter_regex, + name=name, + resource_group_filters=resource_group_filters, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + tenant=tenant, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + category_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_group_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + tenant: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if category_filters is not None: - pulumi.set(__self__, "category_filters", category_filters) + _setter("category_filters", category_filters) if client_id is not None: - pulumi.set(__self__, "client_id", client_id) + _setter("client_id", client_id) if client_secret is not None: - pulumi.set(__self__, "client_secret", client_secret) + _setter("client_secret", client_secret) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if resource_group_filters is not None: - pulumi.set(__self__, "resource_group_filters", resource_group_filters) + _setter("resource_group_filters", resource_group_filters) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) if tenant is not None: - pulumi.set(__self__, "tenant", tenant) + _setter("tenant", tenant) @property @pulumi.getter(name="additionalTags") @@ -470,6 +528,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationAzureArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_azure_activity_log.py b/sdk/python/pulumi_wavefront/cloud_integration_azure_activity_log.py index c3acab77..7af61606 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_azure_activity_log.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_azure_activity_log.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationAzureActivityLogArgs', 'CloudIntegrationAzureActivityLog'] @@ -35,20 +35,45 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The human-readable name of this integration. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "client_id", client_id) - pulumi.set(__self__, "client_secret", client_secret) - pulumi.set(__self__, "service", service) - pulumi.set(__self__, "tenant", tenant) + CloudIntegrationAzureActivityLogArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + service=service, + tenant=tenant, + additional_tags=additional_tags, + category_filters=category_filters, + force_save=force_save, + name=name, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + service: pulumi.Input[str], + tenant: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + category_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("service", service) + _setter("tenant", tenant) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if category_filters is not None: - pulumi.set(__self__, "category_filters", category_filters) + _setter("category_filters", category_filters) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="clientId") @@ -183,24 +208,49 @@ def __init__(__self__, *, :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. :param pulumi.Input[str] tenant: Tenant ID for an Azure service account within your project. """ + _CloudIntegrationAzureActivityLogState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + category_filters=category_filters, + client_id=client_id, + client_secret=client_secret, + force_save=force_save, + name=name, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + tenant=tenant, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + category_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + tenant: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if category_filters is not None: - pulumi.set(__self__, "category_filters", category_filters) + _setter("category_filters", category_filters) if client_id is not None: - pulumi.set(__self__, "client_id", client_id) + _setter("client_id", client_id) if client_secret is not None: - pulumi.set(__self__, "client_secret", client_secret) + _setter("client_secret", client_secret) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) if tenant is not None: - pulumi.set(__self__, "tenant", tenant) + _setter("tenant", tenant) @property @pulumi.getter(name="additionalTags") @@ -404,6 +454,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationAzureActivityLogArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_cloud_trail.py b/sdk/python/pulumi_wavefront/cloud_integration_cloud_trail.py index 63e88913..205d433a 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_cloud_trail.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_cloud_trail.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationCloudTrailArgs', 'CloudIntegrationCloudTrail'] @@ -39,23 +39,52 @@ def __init__(__self__, *, :param pulumi.Input[str] prefix: The common prefix, if any, appended to all CloudTrail log files. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "bucket_name", bucket_name) - pulumi.set(__self__, "external_id", external_id) - pulumi.set(__self__, "region", region) - pulumi.set(__self__, "role_arn", role_arn) - pulumi.set(__self__, "service", service) + CloudIntegrationCloudTrailArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + bucket_name=bucket_name, + external_id=external_id, + region=region, + role_arn=role_arn, + service=service, + additional_tags=additional_tags, + filter_rule=filter_rule, + force_save=force_save, + name=name, + prefix=prefix, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + bucket_name: pulumi.Input[str], + external_id: pulumi.Input[str], + region: pulumi.Input[str], + role_arn: pulumi.Input[str], + service: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + filter_rule: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("bucket_name", bucket_name) + _setter("external_id", external_id) + _setter("region", region) + _setter("role_arn", role_arn) + _setter("service", service) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if filter_rule is not None: - pulumi.set(__self__, "filter_rule", filter_rule) + _setter("filter_rule", filter_rule) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if prefix is not None: - pulumi.set(__self__, "prefix", prefix) + _setter("prefix", prefix) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="bucketName") @@ -218,28 +247,57 @@ def __init__(__self__, *, :param pulumi.Input[str] service: A value denoting which cloud service this service integrates with. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ + _CloudIntegrationCloudTrailState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + bucket_name=bucket_name, + external_id=external_id, + filter_rule=filter_rule, + force_save=force_save, + name=name, + prefix=prefix, + region=region, + role_arn=role_arn, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + bucket_name: Optional[pulumi.Input[str]] = None, + external_id: Optional[pulumi.Input[str]] = None, + filter_rule: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if bucket_name is not None: - pulumi.set(__self__, "bucket_name", bucket_name) + _setter("bucket_name", bucket_name) if external_id is not None: - pulumi.set(__self__, "external_id", external_id) + _setter("external_id", external_id) if filter_rule is not None: - pulumi.set(__self__, "filter_rule", filter_rule) + _setter("filter_rule", filter_rule) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if prefix is not None: - pulumi.set(__self__, "prefix", prefix) + _setter("prefix", prefix) if region is not None: - pulumi.set(__self__, "region", region) + _setter("region", region) if role_arn is not None: - pulumi.set(__self__, "role_arn", role_arn) + _setter("role_arn", role_arn) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="additionalTags") @@ -473,6 +531,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationCloudTrailArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_cloud_watch.py b/sdk/python/pulumi_wavefront/cloud_integration_cloud_watch.py index 3792ea35..8ce213d6 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_cloud_watch.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_cloud_watch.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationCloudWatchArgs', 'CloudIntegrationCloudWatch'] @@ -46,27 +46,58 @@ def __init__(__self__, *, If the volume's AWS tags match this allow list, CloudWatch data about this volume is ingested. Multiple entries are OR'ed. """ - pulumi.set(__self__, "external_id", external_id) - pulumi.set(__self__, "role_arn", role_arn) - pulumi.set(__self__, "service", service) + CloudIntegrationCloudWatchArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + external_id=external_id, + role_arn=role_arn, + service=service, + additional_tags=additional_tags, + force_save=force_save, + instance_selection_tags=instance_selection_tags, + metric_filter_regex=metric_filter_regex, + name=name, + namespaces=namespaces, + point_tag_filter_regex=point_tag_filter_regex, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + volume_selection_tags=volume_selection_tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + external_id: pulumi.Input[str], + role_arn: pulumi.Input[str], + service: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + instance_selection_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + point_tag_filter_regex: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + volume_selection_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("external_id", external_id) + _setter("role_arn", role_arn) + _setter("service", service) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if instance_selection_tags is not None: - pulumi.set(__self__, "instance_selection_tags", instance_selection_tags) + _setter("instance_selection_tags", instance_selection_tags) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if namespaces is not None: - pulumi.set(__self__, "namespaces", namespaces) + _setter("namespaces", namespaces) if point_tag_filter_regex is not None: - pulumi.set(__self__, "point_tag_filter_regex", point_tag_filter_regex) + _setter("point_tag_filter_regex", point_tag_filter_regex) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) if volume_selection_tags is not None: - pulumi.set(__self__, "volume_selection_tags", volume_selection_tags) + _setter("volume_selection_tags", volume_selection_tags) @property @pulumi.getter(name="externalId") @@ -253,30 +284,61 @@ def __init__(__self__, *, If the volume's AWS tags match this allow list, CloudWatch data about this volume is ingested. Multiple entries are OR'ed. """ + _CloudIntegrationCloudWatchState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + external_id=external_id, + force_save=force_save, + instance_selection_tags=instance_selection_tags, + metric_filter_regex=metric_filter_regex, + name=name, + namespaces=namespaces, + point_tag_filter_regex=point_tag_filter_regex, + role_arn=role_arn, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + volume_selection_tags=volume_selection_tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + external_id: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + instance_selection_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + point_tag_filter_regex: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + volume_selection_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if external_id is not None: - pulumi.set(__self__, "external_id", external_id) + _setter("external_id", external_id) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if instance_selection_tags is not None: - pulumi.set(__self__, "instance_selection_tags", instance_selection_tags) + _setter("instance_selection_tags", instance_selection_tags) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if namespaces is not None: - pulumi.set(__self__, "namespaces", namespaces) + _setter("namespaces", namespaces) if point_tag_filter_regex is not None: - pulumi.set(__self__, "point_tag_filter_regex", point_tag_filter_regex) + _setter("point_tag_filter_regex", point_tag_filter_regex) if role_arn is not None: - pulumi.set(__self__, "role_arn", role_arn) + _setter("role_arn", role_arn) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) if volume_selection_tags is not None: - pulumi.set(__self__, "volume_selection_tags", volume_selection_tags) + _setter("volume_selection_tags", volume_selection_tags) @property @pulumi.getter(name="additionalTags") @@ -532,6 +594,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationCloudWatchArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_ec2.py b/sdk/python/pulumi_wavefront/cloud_integration_ec2.py index 417a1d87..7be1cde2 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_ec2.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_ec2.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationEc2Args', 'CloudIntegrationEc2'] @@ -35,19 +35,42 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The human-readable name of this integration. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "external_id", external_id) - pulumi.set(__self__, "role_arn", role_arn) - pulumi.set(__self__, "service", service) + CloudIntegrationEc2Args._configure( + lambda key, value: pulumi.set(__self__, key, value), + external_id=external_id, + role_arn=role_arn, + service=service, + additional_tags=additional_tags, + force_save=force_save, + hostname_tags=hostname_tags, + name=name, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + external_id: pulumi.Input[str], + role_arn: pulumi.Input[str], + service: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + hostname_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("external_id", external_id) + _setter("role_arn", role_arn) + _setter("service", service) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if hostname_tags is not None: - pulumi.set(__self__, "hostname_tags", hostname_tags) + _setter("hostname_tags", hostname_tags) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="externalId") @@ -172,22 +195,45 @@ def __init__(__self__, *, :param pulumi.Input[str] service: A value denoting which cloud service this service integrates with. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ + _CloudIntegrationEc2State._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + external_id=external_id, + force_save=force_save, + hostname_tags=hostname_tags, + name=name, + role_arn=role_arn, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + external_id: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + hostname_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if external_id is not None: - pulumi.set(__self__, "external_id", external_id) + _setter("external_id", external_id) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if hostname_tags is not None: - pulumi.set(__self__, "hostname_tags", hostname_tags) + _setter("hostname_tags", hostname_tags) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if role_arn is not None: - pulumi.set(__self__, "role_arn", role_arn) + _setter("role_arn", role_arn) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="additionalTags") @@ -379,6 +425,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationEc2Args._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_gcp.py b/sdk/python/pulumi_wavefront/cloud_integration_gcp.py index c2ba8938..3a9e4d5c 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_gcp.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_gcp.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationGcpArgs', 'CloudIntegrationGcp'] @@ -40,21 +40,46 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The human-readable name of this integration. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "json_key", json_key) - pulumi.set(__self__, "project_id", project_id) - pulumi.set(__self__, "service", service) + CloudIntegrationGcpArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + json_key=json_key, + project_id=project_id, + service=service, + additional_tags=additional_tags, + categories=categories, + force_save=force_save, + metric_filter_regex=metric_filter_regex, + name=name, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + json_key: pulumi.Input[str], + project_id: pulumi.Input[str], + service: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + categories: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("json_key", json_key) + _setter("project_id", project_id) + _setter("service", service) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if categories is not None: - pulumi.set(__self__, "categories", categories) + _setter("categories", categories) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="jsonKey") @@ -199,24 +224,49 @@ def __init__(__self__, *, :param pulumi.Input[str] service: A value denoting which cloud service this service integrates with. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ + _CloudIntegrationGcpState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + categories=categories, + force_save=force_save, + json_key=json_key, + metric_filter_regex=metric_filter_regex, + name=name, + project_id=project_id, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + categories: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + json_key: Optional[pulumi.Input[str]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if categories is not None: - pulumi.set(__self__, "categories", categories) + _setter("categories", categories) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if json_key is not None: - pulumi.set(__self__, "json_key", json_key) + _setter("json_key", json_key) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if project_id is not None: - pulumi.set(__self__, "project_id", project_id) + _setter("project_id", project_id) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="additionalTags") @@ -430,6 +480,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationGcpArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_gcp_billing.py b/sdk/python/pulumi_wavefront/cloud_integration_gcp_billing.py index 1d86bcd7..1f3c7087 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_gcp_billing.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_gcp_billing.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CloudIntegrationGcpBillingArgs', 'CloudIntegrationGcpBilling'] @@ -34,18 +34,41 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The human-readable name of this integration. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "api_key", api_key) - pulumi.set(__self__, "json_key", json_key) - pulumi.set(__self__, "project_id", project_id) - pulumi.set(__self__, "service", service) + CloudIntegrationGcpBillingArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + api_key=api_key, + json_key=json_key, + project_id=project_id, + service=service, + additional_tags=additional_tags, + force_save=force_save, + name=name, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + api_key: pulumi.Input[str], + json_key: pulumi.Input[str], + project_id: pulumi.Input[str], + service: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("api_key", api_key) + _setter("json_key", json_key) + _setter("project_id", project_id) + _setter("service", service) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="apiKey") @@ -168,22 +191,45 @@ def __init__(__self__, *, :param pulumi.Input[str] service: A value denoting which cloud service this service integrates with. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ + _CloudIntegrationGcpBillingState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + api_key=api_key, + force_save=force_save, + json_key=json_key, + name=name, + project_id=project_id, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + api_key: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + json_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if api_key is not None: - pulumi.set(__self__, "api_key", api_key) + _setter("api_key", api_key) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if json_key is not None: - pulumi.set(__self__, "json_key", json_key) + _setter("json_key", json_key) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if project_id is not None: - pulumi.set(__self__, "project_id", project_id) + _setter("project_id", project_id) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="additionalTags") @@ -377,6 +423,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationGcpBillingArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/cloud_integration_new_relic.py b/sdk/python/pulumi_wavefront/cloud_integration_new_relic.py index bd645e59..9cdd4203 100644 --- a/sdk/python/pulumi_wavefront/cloud_integration_new_relic.py +++ b/sdk/python/pulumi_wavefront/cloud_integration_new_relic.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -37,22 +37,47 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The human-readable name of this integration. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ - pulumi.set(__self__, "api_key", api_key) - pulumi.set(__self__, "service", service) + CloudIntegrationNewRelicArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + api_key=api_key, + service=service, + additional_tags=additional_tags, + app_filter_regex=app_filter_regex, + force_save=force_save, + host_filter_regex=host_filter_regex, + metric_filters=metric_filters, + name=name, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + api_key: pulumi.Input[str], + service: pulumi.Input[str], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + app_filter_regex: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + host_filter_regex: Optional[pulumi.Input[str]] = None, + metric_filters: Optional[pulumi.Input[Sequence[pulumi.Input['CloudIntegrationNewRelicMetricFilterArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("api_key", api_key) + _setter("service", service) if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if app_filter_regex is not None: - pulumi.set(__self__, "app_filter_regex", app_filter_regex) + _setter("app_filter_regex", app_filter_regex) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if host_filter_regex is not None: - pulumi.set(__self__, "host_filter_regex", host_filter_regex) + _setter("host_filter_regex", host_filter_regex) if metric_filters is not None: - pulumi.set(__self__, "metric_filters", metric_filters) + _setter("metric_filters", metric_filters) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="apiKey") @@ -187,24 +212,49 @@ def __init__(__self__, *, :param pulumi.Input[str] service: A value denoting which cloud service this service integrates with. :param pulumi.Input[int] service_refresh_rate_in_minutes: How often, in minutes, to refresh the service. """ + _CloudIntegrationNewRelicState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_tags=additional_tags, + api_key=api_key, + app_filter_regex=app_filter_regex, + force_save=force_save, + host_filter_regex=host_filter_regex, + metric_filters=metric_filters, + name=name, + service=service, + service_refresh_rate_in_minutes=service_refresh_rate_in_minutes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + api_key: Optional[pulumi.Input[str]] = None, + app_filter_regex: Optional[pulumi.Input[str]] = None, + force_save: Optional[pulumi.Input[bool]] = None, + host_filter_regex: Optional[pulumi.Input[str]] = None, + metric_filters: Optional[pulumi.Input[Sequence[pulumi.Input['CloudIntegrationNewRelicMetricFilterArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + service_refresh_rate_in_minutes: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_tags is not None: - pulumi.set(__self__, "additional_tags", additional_tags) + _setter("additional_tags", additional_tags) if api_key is not None: - pulumi.set(__self__, "api_key", api_key) + _setter("api_key", api_key) if app_filter_regex is not None: - pulumi.set(__self__, "app_filter_regex", app_filter_regex) + _setter("app_filter_regex", app_filter_regex) if force_save is not None: - pulumi.set(__self__, "force_save", force_save) + _setter("force_save", force_save) if host_filter_regex is not None: - pulumi.set(__self__, "host_filter_regex", host_filter_regex) + _setter("host_filter_regex", host_filter_regex) if metric_filters is not None: - pulumi.set(__self__, "metric_filters", metric_filters) + _setter("metric_filters", metric_filters) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if service is not None: - pulumi.set(__self__, "service", service) + _setter("service", service) if service_refresh_rate_in_minutes is not None: - pulumi.set(__self__, "service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) + _setter("service_refresh_rate_in_minutes", service_refresh_rate_in_minutes) @property @pulumi.getter(name="additionalTags") @@ -400,6 +450,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CloudIntegrationNewRelicArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/config/__init__.pyi b/sdk/python/pulumi_wavefront/config/__init__.pyi index 0f699e46..9d8cf4aa 100644 --- a/sdk/python/pulumi_wavefront/config/__init__.pyi +++ b/sdk/python/pulumi_wavefront/config/__init__.pyi @@ -6,7 +6,7 @@ import copy import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from .. import _utilities address: Optional[str] diff --git a/sdk/python/pulumi_wavefront/config/vars.py b/sdk/python/pulumi_wavefront/config/vars.py index 1714279e..650bd720 100644 --- a/sdk/python/pulumi_wavefront/config/vars.py +++ b/sdk/python/pulumi_wavefront/config/vars.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from .. import _utilities import types diff --git a/sdk/python/pulumi_wavefront/dashboard.py b/sdk/python/pulumi_wavefront/dashboard.py index c6c49b0a..94d6731c 100644 --- a/sdk/python/pulumi_wavefront/dashboard.py +++ b/sdk/python/pulumi_wavefront/dashboard.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -44,24 +44,53 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of the dashboard. :param pulumi.Input[Sequence[pulumi.Input['DashboardParameterDetailArgs']]] parameter_details: The current JSON representation of dashboard parameters. See parameter details. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "sections", sections) - pulumi.set(__self__, "tags", tags) - pulumi.set(__self__, "url", url) + DashboardArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + sections=sections, + tags=tags, + url=url, + can_modifies=can_modifies, + can_views=can_views, + display_query_parameters=display_query_parameters, + display_section_table_of_contents=display_section_table_of_contents, + event_filter_type=event_filter_type, + name=name, + parameter_details=parameter_details, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: pulumi.Input[str], + sections: pulumi.Input[Sequence[pulumi.Input['DashboardSectionArgs']]], + tags: pulumi.Input[Sequence[pulumi.Input[str]]], + url: pulumi.Input[str], + can_modifies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + can_views: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + display_query_parameters: Optional[pulumi.Input[bool]] = None, + display_section_table_of_contents: Optional[pulumi.Input[bool]] = None, + event_filter_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + parameter_details: Optional[pulumi.Input[Sequence[pulumi.Input['DashboardParameterDetailArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) + _setter("sections", sections) + _setter("tags", tags) + _setter("url", url) if can_modifies is not None: - pulumi.set(__self__, "can_modifies", can_modifies) + _setter("can_modifies", can_modifies) if can_views is not None: - pulumi.set(__self__, "can_views", can_views) + _setter("can_views", can_views) if display_query_parameters is not None: - pulumi.set(__self__, "display_query_parameters", display_query_parameters) + _setter("display_query_parameters", display_query_parameters) if display_section_table_of_contents is not None: - pulumi.set(__self__, "display_section_table_of_contents", display_section_table_of_contents) + _setter("display_section_table_of_contents", display_section_table_of_contents) if event_filter_type is not None: - pulumi.set(__self__, "event_filter_type", event_filter_type) + _setter("event_filter_type", event_filter_type) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if parameter_details is not None: - pulumi.set(__self__, "parameter_details", parameter_details) + _setter("parameter_details", parameter_details) @property @pulumi.getter @@ -230,28 +259,57 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A set of tags to assign to this resource. :param pulumi.Input[str] url: Unique identifier, also a URL slug of the dashboard. """ + _DashboardState._configure( + lambda key, value: pulumi.set(__self__, key, value), + can_modifies=can_modifies, + can_views=can_views, + description=description, + display_query_parameters=display_query_parameters, + display_section_table_of_contents=display_section_table_of_contents, + event_filter_type=event_filter_type, + name=name, + parameter_details=parameter_details, + sections=sections, + tags=tags, + url=url, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + can_modifies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + can_views: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_query_parameters: Optional[pulumi.Input[bool]] = None, + display_section_table_of_contents: Optional[pulumi.Input[bool]] = None, + event_filter_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + parameter_details: Optional[pulumi.Input[Sequence[pulumi.Input['DashboardParameterDetailArgs']]]] = None, + sections: Optional[pulumi.Input[Sequence[pulumi.Input['DashboardSectionArgs']]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if can_modifies is not None: - pulumi.set(__self__, "can_modifies", can_modifies) + _setter("can_modifies", can_modifies) if can_views is not None: - pulumi.set(__self__, "can_views", can_views) + _setter("can_views", can_views) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if display_query_parameters is not None: - pulumi.set(__self__, "display_query_parameters", display_query_parameters) + _setter("display_query_parameters", display_query_parameters) if display_section_table_of_contents is not None: - pulumi.set(__self__, "display_section_table_of_contents", display_section_table_of_contents) + _setter("display_section_table_of_contents", display_section_table_of_contents) if event_filter_type is not None: - pulumi.set(__self__, "event_filter_type", event_filter_type) + _setter("event_filter_type", event_filter_type) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if parameter_details is not None: - pulumi.set(__self__, "parameter_details", parameter_details) + _setter("parameter_details", parameter_details) if sections is not None: - pulumi.set(__self__, "sections", sections) + _setter("sections", sections) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if url is not None: - pulumi.set(__self__, "url", url) + _setter("url", url) @property @pulumi.getter(name="canModifies") @@ -461,6 +519,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DashboardArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/dashboard_json.py b/sdk/python/pulumi_wavefront/dashboard_json.py index 34121265..5d8c267b 100644 --- a/sdk/python/pulumi_wavefront/dashboard_json.py +++ b/sdk/python/pulumi_wavefront/dashboard_json.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['DashboardJsonArgs', 'DashboardJson'] @@ -20,7 +20,16 @@ def __init__(__self__, *, :param pulumi.Input[str] dashboard_json: 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. """ - pulumi.set(__self__, "dashboard_json", dashboard_json) + DashboardJsonArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + dashboard_json=dashboard_json, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dashboard_json: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("dashboard_json", dashboard_json) @property @pulumi.getter(name="dashboardJson") @@ -45,8 +54,17 @@ def __init__(__self__, *, :param pulumi.Input[str] dashboard_json: 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. """ + _DashboardJsonState._configure( + lambda key, value: pulumi.set(__self__, key, value), + dashboard_json=dashboard_json, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dashboard_json: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if dashboard_json is not None: - pulumi.set(__self__, "dashboard_json", dashboard_json) + _setter("dashboard_json", dashboard_json) @property @pulumi.getter(name="dashboardJson") @@ -378,6 +396,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DashboardJsonArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/derived_metric.py b/sdk/python/pulumi_wavefront/derived_metric.py index 7ac1deb9..84f46774 100644 --- a/sdk/python/pulumi_wavefront/derived_metric.py +++ b/sdk/python/pulumi_wavefront/derived_metric.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['DerivedMetricArgs', 'DerivedMetric'] @@ -27,14 +27,31 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the Derived Metric in Wavefront. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A set of tags to assign to this resource. """ - pulumi.set(__self__, "minutes", minutes) - pulumi.set(__self__, "query", query) + DerivedMetricArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + minutes=minutes, + query=query, + additional_information=additional_information, + name=name, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + minutes: pulumi.Input[int], + query: pulumi.Input[str], + additional_information: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("minutes", minutes) + _setter("query", query) if additional_information is not None: - pulumi.set(__self__, "additional_information", additional_information) + _setter("additional_information", additional_information) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter @@ -113,16 +130,33 @@ def __init__(__self__, *, :param pulumi.Input[str] query: A Wavefront query that is evaluated at regular intervals (default is 1 minute). :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A set of tags to assign to this resource. """ + _DerivedMetricState._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_information=additional_information, + minutes=minutes, + name=name, + query=query, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_information: Optional[pulumi.Input[str]] = None, + minutes: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + query: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if additional_information is not None: - pulumi.set(__self__, "additional_information", additional_information) + _setter("additional_information", additional_information) if minutes is not None: - pulumi.set(__self__, "minutes", minutes) + _setter("minutes", minutes) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if query is not None: - pulumi.set(__self__, "query", query) + _setter("query", query) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="additionalInformation") @@ -266,6 +300,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DerivedMetricArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/event.py b/sdk/python/pulumi_wavefront/event.py index 8f715f00..5a6ba577 100644 --- a/sdk/python/pulumi_wavefront/event.py +++ b/sdk/python/pulumi_wavefront/event.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['EventArgs', 'Event'] @@ -26,15 +26,32 @@ def __init__(__self__, *, :param pulumi.Input[int] start_time: The start time of the event in epoch milliseconds. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A set of tags to assign to this resource. """ - pulumi.set(__self__, "annotations", annotations) + EventArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + annotations=annotations, + endtime_key=endtime_key, + name=name, + start_time=start_time, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + annotations: pulumi.Input[Mapping[str, pulumi.Input[str]]], + endtime_key: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("annotations", annotations) if endtime_key is not None: - pulumi.set(__self__, "endtime_key", endtime_key) + _setter("endtime_key", endtime_key) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if start_time is not None: - pulumi.set(__self__, "start_time", start_time) + _setter("start_time", start_time) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter @@ -109,16 +126,33 @@ def __init__(__self__, *, :param pulumi.Input[int] start_time: The start time of the event in epoch milliseconds. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A set of tags to assign to this resource. """ + _EventState._configure( + lambda key, value: pulumi.set(__self__, key, value), + annotations=annotations, + endtime_key=endtime_key, + name=name, + start_time=start_time, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + endtime_key: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if annotations is not None: - pulumi.set(__self__, "annotations", annotations) + _setter("annotations", annotations) if endtime_key is not None: - pulumi.set(__self__, "endtime_key", endtime_key) + _setter("endtime_key", endtime_key) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if start_time is not None: - pulumi.set(__self__, "start_time", start_time) + _setter("start_time", start_time) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter @@ -264,6 +298,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + EventArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/external_link.py b/sdk/python/pulumi_wavefront/external_link.py index 4b482bf5..60f1f7f3 100644 --- a/sdk/python/pulumi_wavefront/external_link.py +++ b/sdk/python/pulumi_wavefront/external_link.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ExternalLinkArgs', 'ExternalLink'] @@ -34,18 +34,39 @@ def __init__(__self__, *, keys in order for the link to be displayed. :param pulumi.Input[str] source_filter_regex: Controls whether a link is displayed in the context menu of a highlighted series. If present, the source name of the highlighted series must match this regular expression in order for the link to be displayed. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "template", template) + ExternalLinkArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + template=template, + is_log_integration=is_log_integration, + metric_filter_regex=metric_filter_regex, + name=name, + point_tag_filter_regexes=point_tag_filter_regexes, + source_filter_regex=source_filter_regex, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: pulumi.Input[str], + template: pulumi.Input[str], + is_log_integration: Optional[pulumi.Input[bool]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + point_tag_filter_regexes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + source_filter_regex: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) + _setter("template", template) if is_log_integration is not None: - pulumi.set(__self__, "is_log_integration", is_log_integration) + _setter("is_log_integration", is_log_integration) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if point_tag_filter_regexes is not None: - pulumi.set(__self__, "point_tag_filter_regexes", point_tag_filter_regexes) + _setter("point_tag_filter_regexes", point_tag_filter_regexes) if source_filter_regex is not None: - pulumi.set(__self__, "source_filter_regex", source_filter_regex) + _setter("source_filter_regex", source_filter_regex) @property @pulumi.getter @@ -158,20 +179,41 @@ def __init__(__self__, *, :param pulumi.Input[str] source_filter_regex: Controls whether a link is displayed in the context menu of a highlighted series. If present, the source name of the highlighted series must match this regular expression in order for the link to be displayed. :param pulumi.Input[str] template: The mustache template for this link. The template must expand to a full URL, including scheme, origin, etc. """ + _ExternalLinkState._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + is_log_integration=is_log_integration, + metric_filter_regex=metric_filter_regex, + name=name, + point_tag_filter_regexes=point_tag_filter_regexes, + source_filter_regex=source_filter_regex, + template=template, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: Optional[pulumi.Input[str]] = None, + is_log_integration: Optional[pulumi.Input[bool]] = None, + metric_filter_regex: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + point_tag_filter_regexes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + source_filter_regex: Optional[pulumi.Input[str]] = None, + template: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if is_log_integration is not None: - pulumi.set(__self__, "is_log_integration", is_log_integration) + _setter("is_log_integration", is_log_integration) if metric_filter_regex is not None: - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + _setter("metric_filter_regex", metric_filter_regex) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if point_tag_filter_regexes is not None: - pulumi.set(__self__, "point_tag_filter_regexes", point_tag_filter_regexes) + _setter("point_tag_filter_regexes", point_tag_filter_regexes) if source_filter_regex is not None: - pulumi.set(__self__, "source_filter_regex", source_filter_regex) + _setter("source_filter_regex", source_filter_regex) if template is not None: - pulumi.set(__self__, "template", template) + _setter("template", template) @property @pulumi.getter @@ -347,6 +389,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ExternalLinkArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/get_alert.py b/sdk/python/pulumi_wavefront/get_alert.py index a25db990..01e9636d 100644 --- a/sdk/python/pulumi_wavefront/get_alert.py +++ b/sdk/python/pulumi_wavefront/get_alert.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_alerts.py b/sdk/python/pulumi_wavefront/get_alerts.py index 05c3676a..fa2a6732 100644 --- a/sdk/python/pulumi_wavefront/get_alerts.py +++ b/sdk/python/pulumi_wavefront/get_alerts.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_dashboard.py b/sdk/python/pulumi_wavefront/get_dashboard.py index f9c7ae6b..d2bc0987 100644 --- a/sdk/python/pulumi_wavefront/get_dashboard.py +++ b/sdk/python/pulumi_wavefront/get_dashboard.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_dashboards.py b/sdk/python/pulumi_wavefront/get_dashboards.py index 5e1c8bbf..c1aa19d6 100644 --- a/sdk/python/pulumi_wavefront/get_dashboards.py +++ b/sdk/python/pulumi_wavefront/get_dashboards.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_default_user_group.py b/sdk/python/pulumi_wavefront/get_default_user_group.py index 29e94611..4f455243 100644 --- a/sdk/python/pulumi_wavefront/get_default_user_group.py +++ b/sdk/python/pulumi_wavefront/get_default_user_group.py @@ -6,13 +6,14 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ 'GetDefaultUserGroupResult', 'AwaitableGetDefaultUserGroupResult', 'get_default_user_group', + 'get_default_user_group_output', ] @pulumi.output_type @@ -76,3 +77,20 @@ def get_default_user_group(opts: Optional[pulumi.InvokeOptions] = None) -> Await return AwaitableGetDefaultUserGroupResult( group_id=pulumi.get(__ret__, 'group_id'), id=pulumi.get(__ret__, 'id')) + + +@_utilities.lift_output_func(get_default_user_group) +def get_default_user_group_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefaultUserGroupResult]: + """ + Use this data source to get the Group ID of the `Everyone` group in Wavefront. + + ## Example Usage + + ```python + import pulumi + import pulumi_wavefront as wavefront + + everyone_group = wavefront.get_default_user_group() + ``` + """ + ... diff --git a/sdk/python/pulumi_wavefront/get_derived_metric.py b/sdk/python/pulumi_wavefront/get_derived_metric.py index 72285376..68e39038 100644 --- a/sdk/python/pulumi_wavefront/get_derived_metric.py +++ b/sdk/python/pulumi_wavefront/get_derived_metric.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_wavefront/get_derived_metrics.py b/sdk/python/pulumi_wavefront/get_derived_metrics.py index 289934e9..e6687dcc 100644 --- a/sdk/python/pulumi_wavefront/get_derived_metrics.py +++ b/sdk/python/pulumi_wavefront/get_derived_metrics.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_event.py b/sdk/python/pulumi_wavefront/get_event.py index b75772de..2ea71d17 100644 --- a/sdk/python/pulumi_wavefront/get_event.py +++ b/sdk/python/pulumi_wavefront/get_event.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_wavefront/get_events.py b/sdk/python/pulumi_wavefront/get_events.py index 3d8f719f..2d2f9ca3 100644 --- a/sdk/python/pulumi_wavefront/get_events.py +++ b/sdk/python/pulumi_wavefront/get_events.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_external_link.py b/sdk/python/pulumi_wavefront/get_external_link.py index 78684c6c..e0baaaf4 100644 --- a/sdk/python/pulumi_wavefront/get_external_link.py +++ b/sdk/python/pulumi_wavefront/get_external_link.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_wavefront/get_external_links.py b/sdk/python/pulumi_wavefront/get_external_links.py index 635ba909..18316e6d 100644 --- a/sdk/python/pulumi_wavefront/get_external_links.py +++ b/sdk/python/pulumi_wavefront/get_external_links.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_maintenance_window.py b/sdk/python/pulumi_wavefront/get_maintenance_window.py index 032bc0d5..2de712e2 100644 --- a/sdk/python/pulumi_wavefront/get_maintenance_window.py +++ b/sdk/python/pulumi_wavefront/get_maintenance_window.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_wavefront/get_maintenance_window_all.py b/sdk/python/pulumi_wavefront/get_maintenance_window_all.py index 542a3cb8..cbb3b7c9 100644 --- a/sdk/python/pulumi_wavefront/get_maintenance_window_all.py +++ b/sdk/python/pulumi_wavefront/get_maintenance_window_all.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_metrics_policy.py b/sdk/python/pulumi_wavefront/get_metrics_policy.py index dda244b1..123faf57 100644 --- a/sdk/python/pulumi_wavefront/get_metrics_policy.py +++ b/sdk/python/pulumi_wavefront/get_metrics_policy.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs @@ -14,6 +14,7 @@ 'GetMetricsPolicyResult', 'AwaitableGetMetricsPolicyResult', 'get_metrics_policy', + 'get_metrics_policy_output', ] @pulumi.output_type @@ -94,3 +95,11 @@ def get_metrics_policy(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitable policy_rules=pulumi.get(__ret__, 'policy_rules'), updated_epoch_millis=pulumi.get(__ret__, 'updated_epoch_millis'), updater_id=pulumi.get(__ret__, 'updater_id')) + + +@_utilities.lift_output_func(get_metrics_policy) +def get_metrics_policy_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMetricsPolicyResult]: + """ + Use this data source to access information about an existing resource. + """ + ... diff --git a/sdk/python/pulumi_wavefront/get_role.py b/sdk/python/pulumi_wavefront/get_role.py index 11db4833..67bfe01b 100644 --- a/sdk/python/pulumi_wavefront/get_role.py +++ b/sdk/python/pulumi_wavefront/get_role.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_wavefront/get_roles.py b/sdk/python/pulumi_wavefront/get_roles.py index e9bf79c8..6b889e75 100644 --- a/sdk/python/pulumi_wavefront/get_roles.py +++ b/sdk/python/pulumi_wavefront/get_roles.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_user.py b/sdk/python/pulumi_wavefront/get_user.py index 9deba787..67211133 100644 --- a/sdk/python/pulumi_wavefront/get_user.py +++ b/sdk/python/pulumi_wavefront/get_user.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_wavefront/get_user_group.py b/sdk/python/pulumi_wavefront/get_user_group.py index e52e10dc..757836b9 100644 --- a/sdk/python/pulumi_wavefront/get_user_group.py +++ b/sdk/python/pulumi_wavefront/get_user_group.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_wavefront/get_user_groups.py b/sdk/python/pulumi_wavefront/get_user_groups.py index 63037a4f..094a049d 100644 --- a/sdk/python/pulumi_wavefront/get_user_groups.py +++ b/sdk/python/pulumi_wavefront/get_user_groups.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_wavefront/get_users.py b/sdk/python/pulumi_wavefront/get_users.py index c3c831d8..d8ebf323 100644 --- a/sdk/python/pulumi_wavefront/get_users.py +++ b/sdk/python/pulumi_wavefront/get_users.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs @@ -14,6 +14,7 @@ 'GetUsersResult', 'AwaitableGetUsersResult', 'get_users', + 'get_users_output', ] @pulumi.output_type @@ -76,3 +77,20 @@ def get_users(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUsersR return AwaitableGetUsersResult( id=pulumi.get(__ret__, 'id'), users=pulumi.get(__ret__, 'users')) + + +@_utilities.lift_output_func(get_users) +def get_users_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUsersResult]: + """ + Use this data source to get all users in Wavefront. + + ## Example Usage + + ```python + import pulumi + import pulumi_wavefront as wavefront + + users = wavefront.get_users() + ``` + """ + ... diff --git a/sdk/python/pulumi_wavefront/ingestion_policy.py b/sdk/python/pulumi_wavefront/ingestion_policy.py index a96e5a54..24d2682b 100644 --- a/sdk/python/pulumi_wavefront/ingestion_policy.py +++ b/sdk/python/pulumi_wavefront/ingestion_policy.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -29,20 +29,43 @@ def __init__(__self__, *, :param pulumi.Input[str] description: The description of the ingestion policy. :param pulumi.Input[str] name: The name of the ingestion policy. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "scope", scope) + IngestionPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + scope=scope, + accounts=accounts, + groups=groups, + name=name, + namespaces=namespaces, + sources=sources, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: pulumi.Input[str], + scope: pulumi.Input[str], + accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['IngestionPolicyTagArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) + _setter("scope", scope) if accounts is not None: - pulumi.set(__self__, "accounts", accounts) + _setter("accounts", accounts) if groups is not None: - pulumi.set(__self__, "groups", groups) + _setter("groups", groups) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if namespaces is not None: - pulumi.set(__self__, "namespaces", namespaces) + _setter("namespaces", namespaces) if sources is not None: - pulumi.set(__self__, "sources", sources) + _setter("sources", sources) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter @@ -139,22 +162,45 @@ def __init__(__self__, *, :param pulumi.Input[str] description: The description of the ingestion policy. :param pulumi.Input[str] name: The name of the ingestion policy. """ + _IngestionPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + accounts=accounts, + description=description, + groups=groups, + name=name, + namespaces=namespaces, + scope=scope, + sources=sources, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + scope: Optional[pulumi.Input[str]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['IngestionPolicyTagArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if accounts is not None: - pulumi.set(__self__, "accounts", accounts) + _setter("accounts", accounts) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if groups is not None: - pulumi.set(__self__, "groups", groups) + _setter("groups", groups) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if namespaces is not None: - pulumi.set(__self__, "namespaces", namespaces) + _setter("namespaces", namespaces) if scope is not None: - pulumi.set(__self__, "scope", scope) + _setter("scope", scope) if sources is not None: - pulumi.set(__self__, "sources", sources) + _setter("sources", sources) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter @@ -310,6 +356,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IngestionPolicyArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/maintenance_window.py b/sdk/python/pulumi_wavefront/maintenance_window.py index acc6322e..3da450a8 100644 --- a/sdk/python/pulumi_wavefront/maintenance_window.py +++ b/sdk/python/pulumi_wavefront/maintenance_window.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['MaintenanceWindowArgs', 'MaintenanceWindow'] @@ -46,20 +46,45 @@ def __init__(__self__, *, If `true`, a source/host must contain all tags in order for the maintenance window to apply. If `false`, the tags are OR'ed, and a source/host must contain one of the tags. Default: `false`. """ - pulumi.set(__self__, "end_time_in_seconds", end_time_in_seconds) - pulumi.set(__self__, "reason", reason) - pulumi.set(__self__, "start_time_in_seconds", start_time_in_seconds) - pulumi.set(__self__, "title", title) + MaintenanceWindowArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + end_time_in_seconds=end_time_in_seconds, + reason=reason, + start_time_in_seconds=start_time_in_seconds, + title=title, + host_tag_group_host_names_group_anded=host_tag_group_host_names_group_anded, + relevant_customer_tags=relevant_customer_tags, + relevant_host_names=relevant_host_names, + relevant_host_tags=relevant_host_tags, + relevant_host_tags_anded=relevant_host_tags_anded, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + end_time_in_seconds: pulumi.Input[int], + reason: pulumi.Input[str], + start_time_in_seconds: pulumi.Input[int], + title: pulumi.Input[str], + host_tag_group_host_names_group_anded: Optional[pulumi.Input[bool]] = None, + relevant_customer_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + relevant_host_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + relevant_host_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + relevant_host_tags_anded: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("end_time_in_seconds", end_time_in_seconds) + _setter("reason", reason) + _setter("start_time_in_seconds", start_time_in_seconds) + _setter("title", title) if host_tag_group_host_names_group_anded is not None: - pulumi.set(__self__, "host_tag_group_host_names_group_anded", host_tag_group_host_names_group_anded) + _setter("host_tag_group_host_names_group_anded", host_tag_group_host_names_group_anded) if relevant_customer_tags is not None: - pulumi.set(__self__, "relevant_customer_tags", relevant_customer_tags) + _setter("relevant_customer_tags", relevant_customer_tags) if relevant_host_names is not None: - pulumi.set(__self__, "relevant_host_names", relevant_host_names) + _setter("relevant_host_names", relevant_host_names) if relevant_host_tags is not None: - pulumi.set(__self__, "relevant_host_tags", relevant_host_tags) + _setter("relevant_host_tags", relevant_host_tags) if relevant_host_tags_anded is not None: - pulumi.set(__self__, "relevant_host_tags_anded", relevant_host_tags_anded) + _setter("relevant_host_tags_anded", relevant_host_tags_anded) @property @pulumi.getter(name="endTimeInSeconds") @@ -216,24 +241,49 @@ def __init__(__self__, *, :param pulumi.Input[int] start_time_in_seconds: start time in seconds after 1 Jan 1970 GMT. :param pulumi.Input[str] title: The title of the maintenance window. """ + _MaintenanceWindowState._configure( + lambda key, value: pulumi.set(__self__, key, value), + end_time_in_seconds=end_time_in_seconds, + host_tag_group_host_names_group_anded=host_tag_group_host_names_group_anded, + reason=reason, + relevant_customer_tags=relevant_customer_tags, + relevant_host_names=relevant_host_names, + relevant_host_tags=relevant_host_tags, + relevant_host_tags_anded=relevant_host_tags_anded, + start_time_in_seconds=start_time_in_seconds, + title=title, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + end_time_in_seconds: Optional[pulumi.Input[int]] = None, + host_tag_group_host_names_group_anded: Optional[pulumi.Input[bool]] = None, + reason: Optional[pulumi.Input[str]] = None, + relevant_customer_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + relevant_host_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + relevant_host_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + relevant_host_tags_anded: Optional[pulumi.Input[bool]] = None, + start_time_in_seconds: Optional[pulumi.Input[int]] = None, + title: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if end_time_in_seconds is not None: - pulumi.set(__self__, "end_time_in_seconds", end_time_in_seconds) + _setter("end_time_in_seconds", end_time_in_seconds) if host_tag_group_host_names_group_anded is not None: - pulumi.set(__self__, "host_tag_group_host_names_group_anded", host_tag_group_host_names_group_anded) + _setter("host_tag_group_host_names_group_anded", host_tag_group_host_names_group_anded) if reason is not None: - pulumi.set(__self__, "reason", reason) + _setter("reason", reason) if relevant_customer_tags is not None: - pulumi.set(__self__, "relevant_customer_tags", relevant_customer_tags) + _setter("relevant_customer_tags", relevant_customer_tags) if relevant_host_names is not None: - pulumi.set(__self__, "relevant_host_names", relevant_host_names) + _setter("relevant_host_names", relevant_host_names) if relevant_host_tags is not None: - pulumi.set(__self__, "relevant_host_tags", relevant_host_tags) + _setter("relevant_host_tags", relevant_host_tags) if relevant_host_tags_anded is not None: - pulumi.set(__self__, "relevant_host_tags_anded", relevant_host_tags_anded) + _setter("relevant_host_tags_anded", relevant_host_tags_anded) if start_time_in_seconds is not None: - pulumi.set(__self__, "start_time_in_seconds", start_time_in_seconds) + _setter("start_time_in_seconds", start_time_in_seconds) if title is not None: - pulumi.set(__self__, "title", title) + _setter("title", title) @property @pulumi.getter(name="endTimeInSeconds") @@ -465,6 +515,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + MaintenanceWindowArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/metrics_policy.py b/sdk/python/pulumi_wavefront/metrics_policy.py index 4b5a6438..dd70844d 100644 --- a/sdk/python/pulumi_wavefront/metrics_policy.py +++ b/sdk/python/pulumi_wavefront/metrics_policy.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -21,7 +21,16 @@ def __init__(__self__, *, The set of arguments for constructing a MetricsPolicy resource. :param pulumi.Input[Sequence[pulumi.Input['MetricsPolicyPolicyRuleArgs']]] policy_rules: List of Metrics Policies, must have at least one entry. """ - pulumi.set(__self__, "policy_rules", policy_rules) + MetricsPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + policy_rules=policy_rules, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + policy_rules: pulumi.Input[Sequence[pulumi.Input['MetricsPolicyPolicyRuleArgs']]], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("policy_rules", policy_rules) @property @pulumi.getter(name="policyRules") @@ -50,14 +59,29 @@ def __init__(__self__, *, :param pulumi.Input[int] updated_epoch_millis: When the policy was applied in epoch_millis. :param pulumi.Input[str] updater_id: The account_id who applied the current policy. """ + _MetricsPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + customer=customer, + policy_rules=policy_rules, + updated_epoch_millis=updated_epoch_millis, + updater_id=updater_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + customer: Optional[pulumi.Input[str]] = None, + policy_rules: Optional[pulumi.Input[Sequence[pulumi.Input['MetricsPolicyPolicyRuleArgs']]]] = None, + updated_epoch_millis: Optional[pulumi.Input[int]] = None, + updater_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if customer is not None: - pulumi.set(__self__, "customer", customer) + _setter("customer", customer) if policy_rules is not None: - pulumi.set(__self__, "policy_rules", policy_rules) + _setter("policy_rules", policy_rules) if updated_epoch_millis is not None: - pulumi.set(__self__, "updated_epoch_millis", updated_epoch_millis) + _setter("updated_epoch_millis", updated_epoch_millis) if updater_id is not None: - pulumi.set(__self__, "updater_id", updater_id) + _setter("updater_id", updater_id) @property @pulumi.getter @@ -217,6 +241,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + MetricsPolicyArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/outputs.py b/sdk/python/pulumi_wavefront/outputs.py index 28759c8d..e78243f1 100644 --- a/sdk/python/pulumi_wavefront/outputs.py +++ b/sdk/python/pulumi_wavefront/outputs.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs @@ -64,10 +64,23 @@ def __init__(__self__, *, :param Mapping[str, str] filter: (Required) String that filters the route. Space delimited. Currently only allows a single key value pair. (e.g. `env prod`) """ - pulumi.set(__self__, "method", method) - pulumi.set(__self__, "target", target) + AlertTargetRoute._configure( + lambda key, value: pulumi.set(__self__, key, value), + method=method, + target=target, + filter=filter, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + method: str, + target: str, + filter: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("method", method) + _setter("target", target) if filter is not None: - pulumi.set(__self__, "filter", filter) + _setter("filter", filter) @property @pulumi.getter @@ -124,8 +137,19 @@ def __init__(__self__, *, :param str app_name: The name of a NewRelic App. :param str metric_filter_regex: A regular expression that a metric name must match (case-insensitively) in order to be ingested. """ - pulumi.set(__self__, "app_name", app_name) - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) + CloudIntegrationNewRelicMetricFilter._configure( + lambda key, value: pulumi.set(__self__, key, value), + app_name=app_name, + metric_filter_regex=metric_filter_regex, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + app_name: str, + metric_filter_regex: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("app_name", app_name) + _setter("metric_filter_regex", metric_filter_regex) @property @pulumi.getter(name="appName") @@ -198,18 +222,43 @@ def __init__(__self__, *, :param str query_value: For `DYNAMIC` parameter types, the query to execute to return values. :param str tag_key: for `TAG_KEY` dynamic field types, the tag key to return. """ - pulumi.set(__self__, "default_value", default_value) - pulumi.set(__self__, "hide_from_view", hide_from_view) - pulumi.set(__self__, "label", label) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "parameter_type", parameter_type) - pulumi.set(__self__, "values_to_readable_strings", values_to_readable_strings) + DashboardParameterDetail._configure( + lambda key, value: pulumi.set(__self__, key, value), + default_value=default_value, + hide_from_view=hide_from_view, + label=label, + name=name, + parameter_type=parameter_type, + values_to_readable_strings=values_to_readable_strings, + dynamic_field_type=dynamic_field_type, + query_value=query_value, + tag_key=tag_key, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + default_value: str, + hide_from_view: bool, + label: str, + name: str, + parameter_type: str, + values_to_readable_strings: Mapping[str, str], + dynamic_field_type: Optional[str] = None, + query_value: Optional[str] = None, + tag_key: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("default_value", default_value) + _setter("hide_from_view", hide_from_view) + _setter("label", label) + _setter("name", name) + _setter("parameter_type", parameter_type) + _setter("values_to_readable_strings", values_to_readable_strings) if dynamic_field_type is not None: - pulumi.set(__self__, "dynamic_field_type", dynamic_field_type) + _setter("dynamic_field_type", dynamic_field_type) if query_value is not None: - pulumi.set(__self__, "query_value", query_value) + _setter("query_value", query_value) if tag_key is not None: - pulumi.set(__self__, "tag_key", tag_key) + _setter("tag_key", tag_key) @property @pulumi.getter(name="defaultValue") @@ -295,8 +344,19 @@ def __init__(__self__, *, :param str name: Name of this section. :param Sequence['DashboardSectionRowArgs'] rows: See dashboard section rows. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "rows", rows) + DashboardSection._configure( + lambda key, value: pulumi.set(__self__, key, value), + name=name, + rows=rows, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + name: str, + rows: Sequence['outputs.DashboardSectionRow'], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("name", name) + _setter("rows", rows) @property @pulumi.getter @@ -322,7 +382,16 @@ def __init__(__self__, *, """ :param Sequence['DashboardSectionRowChartArgs'] charts: Charts in this section. See dashboard chart. """ - pulumi.set(__self__, "charts", charts) + DashboardSectionRow._configure( + lambda key, value: pulumi.set(__self__, key, value), + charts=charts, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + charts: Sequence['outputs.DashboardSectionRowChart'], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("charts", charts) @property @pulumi.getter @@ -377,19 +446,44 @@ def __init__(__self__, *, :param str description: Description of the chart. :param bool no_default_events: Show events related to the sources included in queries """ - pulumi.set(__self__, "chart_setting", chart_setting) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "sources", sources) - pulumi.set(__self__, "summarization", summarization) - pulumi.set(__self__, "units", units) + DashboardSectionRowChart._configure( + lambda key, value: pulumi.set(__self__, key, value), + chart_setting=chart_setting, + name=name, + sources=sources, + summarization=summarization, + units=units, + base=base, + chart_attribute=chart_attribute, + description=description, + no_default_events=no_default_events, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + chart_setting: 'outputs.DashboardSectionRowChartChartSetting', + name: str, + sources: Sequence['outputs.DashboardSectionRowChartSource'], + summarization: str, + units: str, + base: Optional[int] = None, + chart_attribute: Optional[str] = None, + description: Optional[str] = None, + no_default_events: Optional[bool] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("chart_setting", chart_setting) + _setter("name", name) + _setter("sources", sources) + _setter("summarization", summarization) + _setter("units", units) if base is not None: - pulumi.set(__self__, "base", base) + _setter("base", base) if chart_attribute is not None: - pulumi.set(__self__, "chart_attribute", chart_attribute) + _setter("chart_attribute", chart_attribute) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if no_default_events is not None: - pulumi.set(__self__, "no_default_events", no_default_events) + _setter("no_default_events", no_default_events) @property @pulumi.getter(name="chartSetting") @@ -716,119 +810,240 @@ def __init__(__self__, *, :param float ymax: For x-y scatterplots, max value for the Y-axis. Set to null for auto. :param float ymin: For x-y scatterplots, min value for the Y-axis. Set to null for auto. """ - pulumi.set(__self__, "type", type) + DashboardSectionRowChartChartSetting._configure( + lambda key, value: pulumi.set(__self__, key, value), + type=type, + auto_column_tags=auto_column_tags, + column_tags=column_tags, + custom_tags=custom_tags, + expected_data_spacing=expected_data_spacing, + fixed_legend_display_stats=fixed_legend_display_stats, + fixed_legend_enabled=fixed_legend_enabled, + fixed_legend_filter_field=fixed_legend_filter_field, + fixed_legend_filter_limit=fixed_legend_filter_limit, + fixed_legend_filter_sort=fixed_legend_filter_sort, + fixed_legend_hide_label=fixed_legend_hide_label, + fixed_legend_position=fixed_legend_position, + fixed_legend_use_raw_stats=fixed_legend_use_raw_stats, + group_by_source=group_by_source, + invert_dynamic_legend_hover_control=invert_dynamic_legend_hover_control, + line_type=line_type, + max=max, + min=min, + num_tags=num_tags, + plain_markdown_content=plain_markdown_content, + show_hosts=show_hosts, + show_labels=show_labels, + show_raw_values=show_raw_values, + sort_values_descending=sort_values_descending, + sparkline_decimal_precision=sparkline_decimal_precision, + sparkline_display_color=sparkline_display_color, + sparkline_display_font_size=sparkline_display_font_size, + sparkline_display_horizontal_position=sparkline_display_horizontal_position, + sparkline_display_postfix=sparkline_display_postfix, + sparkline_display_prefix=sparkline_display_prefix, + sparkline_display_value_type=sparkline_display_value_type, + sparkline_display_vertical_position=sparkline_display_vertical_position, + sparkline_fill_color=sparkline_fill_color, + sparkline_line_color=sparkline_line_color, + sparkline_size=sparkline_size, + sparkline_value_color_map_apply_to=sparkline_value_color_map_apply_to, + sparkline_value_color_map_colors=sparkline_value_color_map_colors, + sparkline_value_color_map_values=sparkline_value_color_map_values, + sparkline_value_color_map_values_v2s=sparkline_value_color_map_values_v2s, + sparkline_value_text_map_texts=sparkline_value_text_map_texts, + sparkline_value_text_map_thresholds=sparkline_value_text_map_thresholds, + stack_type=stack_type, + tag_mode=tag_mode, + time_based_coloring=time_based_coloring, + window_size=window_size, + windowing=windowing, + xmax=xmax, + xmin=xmin, + y0_scale_si_by1024=y0_scale_si_by1024, + y0_unit_autoscaling=y0_unit_autoscaling, + y1_scale_si_by1024=y1_scale_si_by1024, + y1_unit_autoscaling=y1_unit_autoscaling, + y1_units=y1_units, + y1max=y1max, + y1min=y1min, + ymax=ymax, + ymin=ymin, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + type: str, + auto_column_tags: Optional[bool] = None, + column_tags: Optional[str] = None, + custom_tags: Optional[Sequence[str]] = None, + expected_data_spacing: Optional[int] = None, + fixed_legend_display_stats: Optional[Sequence[str]] = None, + fixed_legend_enabled: Optional[bool] = None, + fixed_legend_filter_field: Optional[str] = None, + fixed_legend_filter_limit: Optional[int] = None, + fixed_legend_filter_sort: Optional[str] = None, + fixed_legend_hide_label: Optional[bool] = None, + fixed_legend_position: Optional[str] = None, + fixed_legend_use_raw_stats: Optional[bool] = None, + group_by_source: Optional[bool] = None, + invert_dynamic_legend_hover_control: Optional[bool] = None, + line_type: Optional[str] = None, + max: Optional[float] = None, + min: Optional[float] = None, + num_tags: Optional[int] = None, + plain_markdown_content: Optional[str] = None, + show_hosts: Optional[bool] = None, + show_labels: Optional[bool] = None, + show_raw_values: Optional[bool] = None, + sort_values_descending: Optional[bool] = None, + sparkline_decimal_precision: Optional[int] = None, + sparkline_display_color: Optional[str] = None, + sparkline_display_font_size: Optional[str] = None, + sparkline_display_horizontal_position: Optional[str] = None, + sparkline_display_postfix: Optional[str] = None, + sparkline_display_prefix: Optional[str] = None, + sparkline_display_value_type: Optional[str] = None, + sparkline_display_vertical_position: Optional[str] = None, + sparkline_fill_color: Optional[str] = None, + sparkline_line_color: Optional[str] = None, + sparkline_size: Optional[str] = None, + sparkline_value_color_map_apply_to: Optional[str] = None, + sparkline_value_color_map_colors: Optional[Sequence[str]] = None, + sparkline_value_color_map_values: Optional[Sequence[int]] = None, + sparkline_value_color_map_values_v2s: Optional[Sequence[float]] = None, + sparkline_value_text_map_texts: Optional[Sequence[str]] = None, + sparkline_value_text_map_thresholds: Optional[Sequence[float]] = None, + stack_type: Optional[str] = None, + tag_mode: Optional[str] = None, + time_based_coloring: Optional[bool] = None, + window_size: Optional[int] = None, + windowing: Optional[str] = None, + xmax: Optional[float] = None, + xmin: Optional[float] = None, + y0_scale_si_by1024: Optional[bool] = None, + y0_unit_autoscaling: Optional[bool] = None, + y1_scale_si_by1024: Optional[bool] = None, + y1_unit_autoscaling: Optional[bool] = None, + y1_units: Optional[str] = None, + y1max: Optional[float] = None, + y1min: Optional[float] = None, + ymax: Optional[float] = None, + ymin: Optional[float] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("type", type) if auto_column_tags is not None: - pulumi.set(__self__, "auto_column_tags", auto_column_tags) + _setter("auto_column_tags", auto_column_tags) if column_tags is not None: - pulumi.set(__self__, "column_tags", column_tags) + _setter("column_tags", column_tags) if custom_tags is not None: - pulumi.set(__self__, "custom_tags", custom_tags) + _setter("custom_tags", custom_tags) if expected_data_spacing is not None: - pulumi.set(__self__, "expected_data_spacing", expected_data_spacing) + _setter("expected_data_spacing", expected_data_spacing) if fixed_legend_display_stats is not None: - pulumi.set(__self__, "fixed_legend_display_stats", fixed_legend_display_stats) + _setter("fixed_legend_display_stats", fixed_legend_display_stats) if fixed_legend_enabled is not None: - pulumi.set(__self__, "fixed_legend_enabled", fixed_legend_enabled) + _setter("fixed_legend_enabled", fixed_legend_enabled) if fixed_legend_filter_field is not None: - pulumi.set(__self__, "fixed_legend_filter_field", fixed_legend_filter_field) + _setter("fixed_legend_filter_field", fixed_legend_filter_field) if fixed_legend_filter_limit is not None: - pulumi.set(__self__, "fixed_legend_filter_limit", fixed_legend_filter_limit) + _setter("fixed_legend_filter_limit", fixed_legend_filter_limit) if fixed_legend_filter_sort is not None: - pulumi.set(__self__, "fixed_legend_filter_sort", fixed_legend_filter_sort) + _setter("fixed_legend_filter_sort", fixed_legend_filter_sort) if fixed_legend_hide_label is not None: - pulumi.set(__self__, "fixed_legend_hide_label", fixed_legend_hide_label) + _setter("fixed_legend_hide_label", fixed_legend_hide_label) if fixed_legend_position is not None: - pulumi.set(__self__, "fixed_legend_position", fixed_legend_position) + _setter("fixed_legend_position", fixed_legend_position) if fixed_legend_use_raw_stats is not None: - pulumi.set(__self__, "fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) + _setter("fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) if group_by_source is not None: - pulumi.set(__self__, "group_by_source", group_by_source) + _setter("group_by_source", group_by_source) if invert_dynamic_legend_hover_control is not None: - pulumi.set(__self__, "invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) + _setter("invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) if line_type is not None: - pulumi.set(__self__, "line_type", line_type) + _setter("line_type", line_type) if max is not None: - pulumi.set(__self__, "max", max) + _setter("max", max) if min is not None: - pulumi.set(__self__, "min", min) + _setter("min", min) if num_tags is not None: - pulumi.set(__self__, "num_tags", num_tags) + _setter("num_tags", num_tags) if plain_markdown_content is not None: - pulumi.set(__self__, "plain_markdown_content", plain_markdown_content) + _setter("plain_markdown_content", plain_markdown_content) if show_hosts is not None: - pulumi.set(__self__, "show_hosts", show_hosts) + _setter("show_hosts", show_hosts) if show_labels is not None: - pulumi.set(__self__, "show_labels", show_labels) + _setter("show_labels", show_labels) if show_raw_values is not None: - pulumi.set(__self__, "show_raw_values", show_raw_values) + _setter("show_raw_values", show_raw_values) if sort_values_descending is not None: - pulumi.set(__self__, "sort_values_descending", sort_values_descending) + _setter("sort_values_descending", sort_values_descending) if sparkline_decimal_precision is not None: - pulumi.set(__self__, "sparkline_decimal_precision", sparkline_decimal_precision) + _setter("sparkline_decimal_precision", sparkline_decimal_precision) if sparkline_display_color is not None: - pulumi.set(__self__, "sparkline_display_color", sparkline_display_color) + _setter("sparkline_display_color", sparkline_display_color) if sparkline_display_font_size is not None: - pulumi.set(__self__, "sparkline_display_font_size", sparkline_display_font_size) + _setter("sparkline_display_font_size", sparkline_display_font_size) if sparkline_display_horizontal_position is not None: - pulumi.set(__self__, "sparkline_display_horizontal_position", sparkline_display_horizontal_position) + _setter("sparkline_display_horizontal_position", sparkline_display_horizontal_position) if sparkline_display_postfix is not None: - pulumi.set(__self__, "sparkline_display_postfix", sparkline_display_postfix) + _setter("sparkline_display_postfix", sparkline_display_postfix) if sparkline_display_prefix is not None: - pulumi.set(__self__, "sparkline_display_prefix", sparkline_display_prefix) + _setter("sparkline_display_prefix", sparkline_display_prefix) if sparkline_display_value_type is not None: - pulumi.set(__self__, "sparkline_display_value_type", sparkline_display_value_type) + _setter("sparkline_display_value_type", sparkline_display_value_type) if sparkline_display_vertical_position is not None: - pulumi.set(__self__, "sparkline_display_vertical_position", sparkline_display_vertical_position) + _setter("sparkline_display_vertical_position", sparkline_display_vertical_position) if sparkline_fill_color is not None: - pulumi.set(__self__, "sparkline_fill_color", sparkline_fill_color) + _setter("sparkline_fill_color", sparkline_fill_color) if sparkline_line_color is not None: - pulumi.set(__self__, "sparkline_line_color", sparkline_line_color) + _setter("sparkline_line_color", sparkline_line_color) if sparkline_size is not None: - pulumi.set(__self__, "sparkline_size", sparkline_size) + _setter("sparkline_size", sparkline_size) if sparkline_value_color_map_apply_to is not None: - pulumi.set(__self__, "sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) + _setter("sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) if sparkline_value_color_map_colors is not None: - pulumi.set(__self__, "sparkline_value_color_map_colors", sparkline_value_color_map_colors) + _setter("sparkline_value_color_map_colors", sparkline_value_color_map_colors) if sparkline_value_color_map_values is not None: - pulumi.set(__self__, "sparkline_value_color_map_values", sparkline_value_color_map_values) + _setter("sparkline_value_color_map_values", sparkline_value_color_map_values) if sparkline_value_color_map_values_v2s is not None: - pulumi.set(__self__, "sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) + _setter("sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) if sparkline_value_text_map_texts is not None: - pulumi.set(__self__, "sparkline_value_text_map_texts", sparkline_value_text_map_texts) + _setter("sparkline_value_text_map_texts", sparkline_value_text_map_texts) if sparkline_value_text_map_thresholds is not None: - pulumi.set(__self__, "sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) + _setter("sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) if stack_type is not None: - pulumi.set(__self__, "stack_type", stack_type) + _setter("stack_type", stack_type) if tag_mode is not None: - pulumi.set(__self__, "tag_mode", tag_mode) + _setter("tag_mode", tag_mode) if time_based_coloring is not None: - pulumi.set(__self__, "time_based_coloring", time_based_coloring) + _setter("time_based_coloring", time_based_coloring) if window_size is not None: - pulumi.set(__self__, "window_size", window_size) + _setter("window_size", window_size) if windowing is not None: - pulumi.set(__self__, "windowing", windowing) + _setter("windowing", windowing) if xmax is not None: - pulumi.set(__self__, "xmax", xmax) + _setter("xmax", xmax) if xmin is not None: - pulumi.set(__self__, "xmin", xmin) + _setter("xmin", xmin) if y0_scale_si_by1024 is not None: - pulumi.set(__self__, "y0_scale_si_by1024", y0_scale_si_by1024) + _setter("y0_scale_si_by1024", y0_scale_si_by1024) if y0_unit_autoscaling is not None: - pulumi.set(__self__, "y0_unit_autoscaling", y0_unit_autoscaling) + _setter("y0_unit_autoscaling", y0_unit_autoscaling) if y1_scale_si_by1024 is not None: - pulumi.set(__self__, "y1_scale_si_by1024", y1_scale_si_by1024) + _setter("y1_scale_si_by1024", y1_scale_si_by1024) if y1_unit_autoscaling is not None: - pulumi.set(__self__, "y1_unit_autoscaling", y1_unit_autoscaling) + _setter("y1_unit_autoscaling", y1_unit_autoscaling) if y1_units is not None: - pulumi.set(__self__, "y1_units", y1_units) + _setter("y1_units", y1_units) if y1max is not None: - pulumi.set(__self__, "y1max", y1max) + _setter("y1max", y1max) if y1min is not None: - pulumi.set(__self__, "y1min", y1min) + _setter("y1min", y1min) if ymax is not None: - pulumi.set(__self__, "ymax", ymax) + _setter("ymax", ymax) if ymin is not None: - pulumi.set(__self__, "ymin", ymin) + _setter("ymin", ymin) @property @pulumi.getter @@ -1351,16 +1566,35 @@ def __init__(__self__, *, :param str scatter_plot_source: For scatter plots, does this query source the X-axis or the Y-axis, `X`, or `Y`. :param str source_description: A description for the purpose of this source. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "query", query) + DashboardSectionRowChartSource._configure( + lambda key, value: pulumi.set(__self__, key, value), + name=name, + query=query, + disabled=disabled, + query_builder_enabled=query_builder_enabled, + scatter_plot_source=scatter_plot_source, + source_description=source_description, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + name: str, + query: str, + disabled: Optional[bool] = None, + query_builder_enabled: Optional[bool] = None, + scatter_plot_source: Optional[str] = None, + source_description: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("name", name) + _setter("query", query) if disabled is not None: - pulumi.set(__self__, "disabled", disabled) + _setter("disabled", disabled) if query_builder_enabled is not None: - pulumi.set(__self__, "query_builder_enabled", query_builder_enabled) + _setter("query_builder_enabled", query_builder_enabled) if scatter_plot_source is not None: - pulumi.set(__self__, "scatter_plot_source", scatter_plot_source) + _setter("scatter_plot_source", scatter_plot_source) if source_description is not None: - pulumi.set(__self__, "source_description", source_description) + _setter("source_description", source_description) @property @pulumi.getter @@ -1416,8 +1650,19 @@ class IngestionPolicyTag(dict): def __init__(__self__, *, key: str, value: str): - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "value", value) + IngestionPolicyTag._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: str, + value: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("key", key) + _setter("value", value) @property @pulumi.getter @@ -1478,19 +1723,44 @@ def __init__(__self__, *, :param Sequence['MetricsPolicyPolicyRuleTagArgs'] tags: List of Key/Value tags to select target metrics for policy. :param Sequence[str] user_group_ids: List of user group ids to apply Metrics Policy to. Must have at least one associated account_id, user_group_id, or role_id. """ - pulumi.set(__self__, "access_type", access_type) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "prefixes", prefixes) - pulumi.set(__self__, "tags_anded", tags_anded) + MetricsPolicyPolicyRule._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_type=access_type, + description=description, + name=name, + prefixes=prefixes, + tags_anded=tags_anded, + account_ids=account_ids, + role_ids=role_ids, + tags=tags, + user_group_ids=user_group_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_type: str, + description: str, + name: str, + prefixes: Sequence[str], + tags_anded: bool, + account_ids: Optional[Sequence[str]] = None, + role_ids: Optional[Sequence[str]] = None, + tags: Optional[Sequence['outputs.MetricsPolicyPolicyRuleTag']] = None, + user_group_ids: Optional[Sequence[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("access_type", access_type) + _setter("description", description) + _setter("name", name) + _setter("prefixes", prefixes) + _setter("tags_anded", tags_anded) if account_ids is not None: - pulumi.set(__self__, "account_ids", account_ids) + _setter("account_ids", account_ids) if role_ids is not None: - pulumi.set(__self__, "role_ids", role_ids) + _setter("role_ids", role_ids) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if user_group_ids is not None: - pulumi.set(__self__, "user_group_ids", user_group_ids) + _setter("user_group_ids", user_group_ids) @property @pulumi.getter(name="accessType") @@ -1574,8 +1844,19 @@ def __init__(__self__, *, :param str key: The tag's key. :param str value: The tag's value. """ - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "value", value) + MetricsPolicyPolicyRuleTag._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: str, + value: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("key", key) + _setter("value", value) @property @pulumi.getter @@ -1599,8 +1880,19 @@ class GetAlertFailingHostLabelPairResult(dict): def __init__(__self__, *, firing: int, host: str): - pulumi.set(__self__, "firing", firing) - pulumi.set(__self__, "host", host) + GetAlertFailingHostLabelPairResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + firing=firing, + host=host, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + firing: int, + host: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("firing", firing) + _setter("host", host) @property @pulumi.getter @@ -1618,8 +1910,19 @@ class GetAlertInMaintenanceHostLabelPairResult(dict): def __init__(__self__, *, firing: int, host: str): - pulumi.set(__self__, "firing", firing) - pulumi.set(__self__, "host", host) + GetAlertInMaintenanceHostLabelPairResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + firing=firing, + host=host, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + firing: int, + host: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("firing", firing) + _setter("host", host) @property @pulumi.getter @@ -1682,30 +1985,83 @@ def __init__(__self__, *, :param str target: An email address or integration endpoint (such as PagerDuty or webhook) to notify when the alert status changes. :param Mapping[str, str] targets: A comma-separated list of the email addresses or integration endpoints (such as PagerDuty or webhook) to notify when the alert status changes. Multiple target types can be in the list. """ - pulumi.set(__self__, "additional_information", additional_information) - pulumi.set(__self__, "alert_type", alert_type) - pulumi.set(__self__, "can_modifies", can_modifies) - pulumi.set(__self__, "can_views", can_views) - pulumi.set(__self__, "condition", condition) - pulumi.set(__self__, "conditions", conditions) - pulumi.set(__self__, "display_expression", display_expression) - pulumi.set(__self__, "evaluate_realtime_data", evaluate_realtime_data) - pulumi.set(__self__, "failing_host_label_pairs", failing_host_label_pairs) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "in_maintenance_host_label_pairs", in_maintenance_host_label_pairs) - pulumi.set(__self__, "include_obsolete_metrics", include_obsolete_metrics) - pulumi.set(__self__, "minutes", minutes) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "notification_resend_frequency_minutes", notification_resend_frequency_minutes) - pulumi.set(__self__, "process_rate_minutes", process_rate_minutes) - pulumi.set(__self__, "resolve_after_minutes", resolve_after_minutes) - pulumi.set(__self__, "severity", severity) - pulumi.set(__self__, "severity_lists", severity_lists) - pulumi.set(__self__, "statuses", statuses) - pulumi.set(__self__, "tags", tags) - pulumi.set(__self__, "target", target) + GetAlertsAlertResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_information=additional_information, + alert_type=alert_type, + can_modifies=can_modifies, + can_views=can_views, + condition=condition, + conditions=conditions, + display_expression=display_expression, + evaluate_realtime_data=evaluate_realtime_data, + failing_host_label_pairs=failing_host_label_pairs, + id=id, + in_maintenance_host_label_pairs=in_maintenance_host_label_pairs, + include_obsolete_metrics=include_obsolete_metrics, + minutes=minutes, + name=name, + notification_resend_frequency_minutes=notification_resend_frequency_minutes, + process_rate_minutes=process_rate_minutes, + resolve_after_minutes=resolve_after_minutes, + severity=severity, + severity_lists=severity_lists, + statuses=statuses, + tags=tags, + target=target, + targets=targets, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_information: str, + alert_type: str, + can_modifies: Sequence[str], + can_views: Sequence[str], + condition: str, + conditions: Mapping[str, str], + display_expression: str, + evaluate_realtime_data: bool, + failing_host_label_pairs: Sequence['outputs.GetAlertsAlertFailingHostLabelPairResult'], + id: str, + in_maintenance_host_label_pairs: Sequence['outputs.GetAlertsAlertInMaintenanceHostLabelPairResult'], + include_obsolete_metrics: bool, + minutes: int, + name: str, + notification_resend_frequency_minutes: int, + process_rate_minutes: int, + resolve_after_minutes: int, + severity: str, + severity_lists: Sequence[str], + statuses: Sequence[str], + tags: Sequence[str], + target: str, + targets: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("additional_information", additional_information) + _setter("alert_type", alert_type) + _setter("can_modifies", can_modifies) + _setter("can_views", can_views) + _setter("condition", condition) + _setter("conditions", conditions) + _setter("display_expression", display_expression) + _setter("evaluate_realtime_data", evaluate_realtime_data) + _setter("failing_host_label_pairs", failing_host_label_pairs) + _setter("id", id) + _setter("in_maintenance_host_label_pairs", in_maintenance_host_label_pairs) + _setter("include_obsolete_metrics", include_obsolete_metrics) + _setter("minutes", minutes) + _setter("name", name) + _setter("notification_resend_frequency_minutes", notification_resend_frequency_minutes) + _setter("process_rate_minutes", process_rate_minutes) + _setter("resolve_after_minutes", resolve_after_minutes) + _setter("severity", severity) + _setter("severity_lists", severity_lists) + _setter("statuses", statuses) + _setter("tags", tags) + _setter("target", target) if targets is not None: - pulumi.set(__self__, "targets", targets) + _setter("targets", targets) @property @pulumi.getter(name="additionalInformation") @@ -1894,8 +2250,19 @@ class GetAlertsAlertFailingHostLabelPairResult(dict): def __init__(__self__, *, firing: int, host: str): - pulumi.set(__self__, "firing", firing) - pulumi.set(__self__, "host", host) + GetAlertsAlertFailingHostLabelPairResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + firing=firing, + host=host, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + firing: int, + host: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("firing", firing) + _setter("host", host) @property @pulumi.getter @@ -1913,8 +2280,19 @@ class GetAlertsAlertInMaintenanceHostLabelPairResult(dict): def __init__(__self__, *, firing: int, host: str): - pulumi.set(__self__, "firing", firing) - pulumi.set(__self__, "host", host) + GetAlertsAlertInMaintenanceHostLabelPairResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + firing=firing, + host=host, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + firing: int, + host: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("firing", firing) + _setter("host", host) @property @pulumi.getter @@ -1950,14 +2328,37 @@ def __init__(__self__, *, :param Mapping[str, str] values_to_readable_strings: A string to string map. At least one of the keys must match the value of `default_value`. """ - pulumi.set(__self__, "default_value", default_value) - pulumi.set(__self__, "dynamic_field_type", dynamic_field_type) - pulumi.set(__self__, "hide_from_view", hide_from_view) - pulumi.set(__self__, "label", label) - pulumi.set(__self__, "parameter_type", parameter_type) - pulumi.set(__self__, "query_value", query_value) - pulumi.set(__self__, "tag_key", tag_key) - pulumi.set(__self__, "values_to_readable_strings", values_to_readable_strings) + GetDashboardParameterDetailResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + default_value=default_value, + dynamic_field_type=dynamic_field_type, + hide_from_view=hide_from_view, + label=label, + parameter_type=parameter_type, + query_value=query_value, + tag_key=tag_key, + values_to_readable_strings=values_to_readable_strings, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + default_value: str, + dynamic_field_type: str, + hide_from_view: bool, + label: str, + parameter_type: str, + query_value: str, + tag_key: str, + values_to_readable_strings: Mapping[str, str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("default_value", default_value) + _setter("dynamic_field_type", dynamic_field_type) + _setter("hide_from_view", hide_from_view) + _setter("label", label) + _setter("parameter_type", parameter_type) + _setter("query_value", query_value) + _setter("tag_key", tag_key) + _setter("values_to_readable_strings", values_to_readable_strings) @property @pulumi.getter(name="defaultValue") @@ -2034,8 +2435,19 @@ def __init__(__self__, *, """ :param str name: The name of the parameters. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "rows", rows) + GetDashboardSectionResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + name=name, + rows=rows, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + name: str, + rows: Sequence['outputs.GetDashboardSectionRowResult'], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("name", name) + _setter("rows", rows) @property @pulumi.getter @@ -2060,9 +2472,22 @@ def __init__(__self__, *, """ :param str name: The name of the parameters. """ - pulumi.set(__self__, "charts", charts) - pulumi.set(__self__, "height_factor", height_factor) - pulumi.set(__self__, "name", name) + GetDashboardSectionRowResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + charts=charts, + height_factor=height_factor, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + charts: Sequence['outputs.GetDashboardSectionRowChartResult'], + height_factor: int, + name: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("charts", charts) + _setter("height_factor", height_factor) + _setter("name", name) @property @pulumi.getter @@ -2104,17 +2529,46 @@ def __init__(__self__, *, :param str summarization: Summarization strategy for the chart. MEAN is default. :param str units: String to label the units of the chart on the Y-Axis. """ - pulumi.set(__self__, "base", base) - pulumi.set(__self__, "chart_attributes", chart_attributes) - pulumi.set(__self__, "chart_settings", chart_settings) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "include_obsolete_metrics", include_obsolete_metrics) - pulumi.set(__self__, "interpolate_points_key", interpolate_points_key) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "no_default_events", no_default_events) - pulumi.set(__self__, "sources", sources) - pulumi.set(__self__, "summarization", summarization) - pulumi.set(__self__, "units", units) + GetDashboardSectionRowChartResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + base=base, + chart_attributes=chart_attributes, + chart_settings=chart_settings, + description=description, + include_obsolete_metrics=include_obsolete_metrics, + interpolate_points_key=interpolate_points_key, + name=name, + no_default_events=no_default_events, + sources=sources, + summarization=summarization, + units=units, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + base: int, + chart_attributes: str, + chart_settings: Sequence['outputs.GetDashboardSectionRowChartChartSettingResult'], + description: str, + include_obsolete_metrics: bool, + interpolate_points_key: bool, + name: str, + no_default_events: bool, + sources: Sequence['outputs.GetDashboardSectionRowChartSourceResult'], + summarization: str, + units: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("base", base) + _setter("chart_attributes", chart_attributes) + _setter("chart_settings", chart_settings) + _setter("description", description) + _setter("include_obsolete_metrics", include_obsolete_metrics) + _setter("interpolate_points_key", interpolate_points_key) + _setter("name", name) + _setter("no_default_events", no_default_events) + _setter("sources", sources) + _setter("summarization", summarization) + _setter("units", units) @property @pulumi.getter @@ -2303,63 +2757,184 @@ def __init__(__self__, *, :param float ymax: For x-y scatterplots, max value for the Y-axis. Set to null for auto. :param float ymin: For x-y scatterplots, min value for the Y-axis. Set to null for auto. """ - pulumi.set(__self__, "auto_column_tags", auto_column_tags) - pulumi.set(__self__, "column_tags", column_tags) - pulumi.set(__self__, "custom_tags", custom_tags) - pulumi.set(__self__, "expected_data_spacing", expected_data_spacing) - pulumi.set(__self__, "fixed_legend_display_stats", fixed_legend_display_stats) - pulumi.set(__self__, "fixed_legend_enabled", fixed_legend_enabled) - pulumi.set(__self__, "fixed_legend_filter_field", fixed_legend_filter_field) - pulumi.set(__self__, "fixed_legend_filter_limit", fixed_legend_filter_limit) - pulumi.set(__self__, "fixed_legend_filter_sort", fixed_legend_filter_sort) - pulumi.set(__self__, "fixed_legend_hide_label", fixed_legend_hide_label) - pulumi.set(__self__, "fixed_legend_position", fixed_legend_position) - pulumi.set(__self__, "fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) - pulumi.set(__self__, "group_by_source", group_by_source) - pulumi.set(__self__, "invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) - pulumi.set(__self__, "line_type", line_type) - pulumi.set(__self__, "max", max) - pulumi.set(__self__, "min", min) - pulumi.set(__self__, "num_tags", num_tags) - pulumi.set(__self__, "plain_markdown_content", plain_markdown_content) - pulumi.set(__self__, "show_hosts", show_hosts) - pulumi.set(__self__, "show_labels", show_labels) - pulumi.set(__self__, "show_raw_values", show_raw_values) - pulumi.set(__self__, "sort_values_descending", sort_values_descending) - pulumi.set(__self__, "sparkline_decimal_precision", sparkline_decimal_precision) - pulumi.set(__self__, "sparkline_display_color", sparkline_display_color) - pulumi.set(__self__, "sparkline_display_font_size", sparkline_display_font_size) - pulumi.set(__self__, "sparkline_display_horizontal_position", sparkline_display_horizontal_position) - pulumi.set(__self__, "sparkline_display_postfix", sparkline_display_postfix) - pulumi.set(__self__, "sparkline_display_prefix", sparkline_display_prefix) - pulumi.set(__self__, "sparkline_display_value_type", sparkline_display_value_type) - pulumi.set(__self__, "sparkline_display_vertical_position", sparkline_display_vertical_position) - pulumi.set(__self__, "sparkline_fill_color", sparkline_fill_color) - pulumi.set(__self__, "sparkline_line_color", sparkline_line_color) - pulumi.set(__self__, "sparkline_size", sparkline_size) - pulumi.set(__self__, "sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) - pulumi.set(__self__, "sparkline_value_color_map_colors", sparkline_value_color_map_colors) - pulumi.set(__self__, "sparkline_value_color_map_values", sparkline_value_color_map_values) - pulumi.set(__self__, "sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) - pulumi.set(__self__, "sparkline_value_text_map_texts", sparkline_value_text_map_texts) - pulumi.set(__self__, "sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) - pulumi.set(__self__, "stack_type", stack_type) - pulumi.set(__self__, "tag_mode", tag_mode) - pulumi.set(__self__, "time_based_coloring", time_based_coloring) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "window_size", window_size) - pulumi.set(__self__, "windowing", windowing) - pulumi.set(__self__, "xmax", xmax) - pulumi.set(__self__, "xmin", xmin) - pulumi.set(__self__, "y0_scale_si_by1024", y0_scale_si_by1024) - pulumi.set(__self__, "y0_unit_autoscaling", y0_unit_autoscaling) - pulumi.set(__self__, "y1_max", y1_max) - pulumi.set(__self__, "y1_min", y1_min) - pulumi.set(__self__, "y1_scale_si_by1024", y1_scale_si_by1024) - pulumi.set(__self__, "y1_unit_autoscaling", y1_unit_autoscaling) - pulumi.set(__self__, "y1_units", y1_units) - pulumi.set(__self__, "ymax", ymax) - pulumi.set(__self__, "ymin", ymin) + GetDashboardSectionRowChartChartSettingResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + auto_column_tags=auto_column_tags, + column_tags=column_tags, + custom_tags=custom_tags, + expected_data_spacing=expected_data_spacing, + fixed_legend_display_stats=fixed_legend_display_stats, + fixed_legend_enabled=fixed_legend_enabled, + fixed_legend_filter_field=fixed_legend_filter_field, + fixed_legend_filter_limit=fixed_legend_filter_limit, + fixed_legend_filter_sort=fixed_legend_filter_sort, + fixed_legend_hide_label=fixed_legend_hide_label, + fixed_legend_position=fixed_legend_position, + fixed_legend_use_raw_stats=fixed_legend_use_raw_stats, + group_by_source=group_by_source, + invert_dynamic_legend_hover_control=invert_dynamic_legend_hover_control, + line_type=line_type, + max=max, + min=min, + num_tags=num_tags, + plain_markdown_content=plain_markdown_content, + show_hosts=show_hosts, + show_labels=show_labels, + show_raw_values=show_raw_values, + sort_values_descending=sort_values_descending, + sparkline_decimal_precision=sparkline_decimal_precision, + sparkline_display_color=sparkline_display_color, + sparkline_display_font_size=sparkline_display_font_size, + sparkline_display_horizontal_position=sparkline_display_horizontal_position, + sparkline_display_postfix=sparkline_display_postfix, + sparkline_display_prefix=sparkline_display_prefix, + sparkline_display_value_type=sparkline_display_value_type, + sparkline_display_vertical_position=sparkline_display_vertical_position, + sparkline_fill_color=sparkline_fill_color, + sparkline_line_color=sparkline_line_color, + sparkline_size=sparkline_size, + sparkline_value_color_map_apply_to=sparkline_value_color_map_apply_to, + sparkline_value_color_map_colors=sparkline_value_color_map_colors, + sparkline_value_color_map_values=sparkline_value_color_map_values, + sparkline_value_color_map_values_v2s=sparkline_value_color_map_values_v2s, + sparkline_value_text_map_texts=sparkline_value_text_map_texts, + sparkline_value_text_map_thresholds=sparkline_value_text_map_thresholds, + stack_type=stack_type, + tag_mode=tag_mode, + time_based_coloring=time_based_coloring, + type=type, + window_size=window_size, + windowing=windowing, + xmax=xmax, + xmin=xmin, + y0_scale_si_by1024=y0_scale_si_by1024, + y0_unit_autoscaling=y0_unit_autoscaling, + y1_max=y1_max, + y1_min=y1_min, + y1_scale_si_by1024=y1_scale_si_by1024, + y1_unit_autoscaling=y1_unit_autoscaling, + y1_units=y1_units, + ymax=ymax, + ymin=ymin, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + auto_column_tags: bool, + column_tags: str, + custom_tags: Sequence[str], + expected_data_spacing: int, + fixed_legend_display_stats: Sequence[str], + fixed_legend_enabled: bool, + fixed_legend_filter_field: str, + fixed_legend_filter_limit: int, + fixed_legend_filter_sort: str, + fixed_legend_hide_label: bool, + fixed_legend_position: str, + fixed_legend_use_raw_stats: bool, + group_by_source: bool, + invert_dynamic_legend_hover_control: bool, + line_type: str, + max: float, + min: float, + num_tags: int, + plain_markdown_content: str, + show_hosts: bool, + show_labels: bool, + show_raw_values: bool, + sort_values_descending: bool, + sparkline_decimal_precision: int, + sparkline_display_color: str, + sparkline_display_font_size: str, + sparkline_display_horizontal_position: str, + sparkline_display_postfix: str, + sparkline_display_prefix: str, + sparkline_display_value_type: str, + sparkline_display_vertical_position: str, + sparkline_fill_color: str, + sparkline_line_color: str, + sparkline_size: str, + sparkline_value_color_map_apply_to: str, + sparkline_value_color_map_colors: Sequence[str], + sparkline_value_color_map_values: Sequence[int], + sparkline_value_color_map_values_v2s: Sequence[float], + sparkline_value_text_map_texts: Sequence[str], + sparkline_value_text_map_thresholds: Sequence[float], + stack_type: str, + tag_mode: str, + time_based_coloring: bool, + type: str, + window_size: int, + windowing: str, + xmax: float, + xmin: float, + y0_scale_si_by1024: bool, + y0_unit_autoscaling: bool, + y1_max: float, + y1_min: float, + y1_scale_si_by1024: bool, + y1_unit_autoscaling: bool, + y1_units: str, + ymax: float, + ymin: float, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("auto_column_tags", auto_column_tags) + _setter("column_tags", column_tags) + _setter("custom_tags", custom_tags) + _setter("expected_data_spacing", expected_data_spacing) + _setter("fixed_legend_display_stats", fixed_legend_display_stats) + _setter("fixed_legend_enabled", fixed_legend_enabled) + _setter("fixed_legend_filter_field", fixed_legend_filter_field) + _setter("fixed_legend_filter_limit", fixed_legend_filter_limit) + _setter("fixed_legend_filter_sort", fixed_legend_filter_sort) + _setter("fixed_legend_hide_label", fixed_legend_hide_label) + _setter("fixed_legend_position", fixed_legend_position) + _setter("fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) + _setter("group_by_source", group_by_source) + _setter("invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) + _setter("line_type", line_type) + _setter("max", max) + _setter("min", min) + _setter("num_tags", num_tags) + _setter("plain_markdown_content", plain_markdown_content) + _setter("show_hosts", show_hosts) + _setter("show_labels", show_labels) + _setter("show_raw_values", show_raw_values) + _setter("sort_values_descending", sort_values_descending) + _setter("sparkline_decimal_precision", sparkline_decimal_precision) + _setter("sparkline_display_color", sparkline_display_color) + _setter("sparkline_display_font_size", sparkline_display_font_size) + _setter("sparkline_display_horizontal_position", sparkline_display_horizontal_position) + _setter("sparkline_display_postfix", sparkline_display_postfix) + _setter("sparkline_display_prefix", sparkline_display_prefix) + _setter("sparkline_display_value_type", sparkline_display_value_type) + _setter("sparkline_display_vertical_position", sparkline_display_vertical_position) + _setter("sparkline_fill_color", sparkline_fill_color) + _setter("sparkline_line_color", sparkline_line_color) + _setter("sparkline_size", sparkline_size) + _setter("sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) + _setter("sparkline_value_color_map_colors", sparkline_value_color_map_colors) + _setter("sparkline_value_color_map_values", sparkline_value_color_map_values) + _setter("sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) + _setter("sparkline_value_text_map_texts", sparkline_value_text_map_texts) + _setter("sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) + _setter("stack_type", stack_type) + _setter("tag_mode", tag_mode) + _setter("time_based_coloring", time_based_coloring) + _setter("type", type) + _setter("window_size", window_size) + _setter("windowing", windowing) + _setter("xmax", xmax) + _setter("xmin", xmin) + _setter("y0_scale_si_by1024", y0_scale_si_by1024) + _setter("y0_unit_autoscaling", y0_unit_autoscaling) + _setter("y1_max", y1_max) + _setter("y1_min", y1_min) + _setter("y1_scale_si_by1024", y1_scale_si_by1024) + _setter("y1_unit_autoscaling", y1_unit_autoscaling) + _setter("y1_units", y1_units) + _setter("ymax", ymax) + _setter("ymin", ymin) @property @pulumi.getter(name="autoColumnTags") @@ -2825,14 +3400,37 @@ def __init__(__self__, *, :param str scatter_plot_source: For scatter plots, does this query source the X-axis or the Y-axis, `X`, or `Y`. :param str source_description: A description for the purpose of this source. """ - pulumi.set(__self__, "disabled", disabled) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "query", query) - pulumi.set(__self__, "querybuilder_enabled", querybuilder_enabled) - pulumi.set(__self__, "scatter_plot_source", scatter_plot_source) - pulumi.set(__self__, "secondary_axis", secondary_axis) - pulumi.set(__self__, "source_color", source_color) - pulumi.set(__self__, "source_description", source_description) + GetDashboardSectionRowChartSourceResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + disabled=disabled, + name=name, + query=query, + querybuilder_enabled=querybuilder_enabled, + scatter_plot_source=scatter_plot_source, + secondary_axis=secondary_axis, + source_color=source_color, + source_description=source_description, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + disabled: bool, + name: str, + query: str, + querybuilder_enabled: bool, + scatter_plot_source: str, + secondary_axis: bool, + source_color: str, + source_description: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("disabled", disabled) + _setter("name", name) + _setter("query", query) + _setter("querybuilder_enabled", querybuilder_enabled) + _setter("scatter_plot_source", scatter_plot_source) + _setter("secondary_axis", secondary_axis) + _setter("source_color", source_color) + _setter("source_description", source_description) @property @pulumi.getter @@ -2941,41 +3539,118 @@ def __init__(__self__, *, :param Sequence[str] tags: A set of tags to assign to this resource. :param str url: Unique identifier, also a URL slug of the dashboard. """ - pulumi.set(__self__, "can_modifies", can_modifies) - pulumi.set(__self__, "can_views", can_views) - pulumi.set(__self__, "chart_title_bg_color", chart_title_bg_color) - pulumi.set(__self__, "chart_title_color", chart_title_color) - pulumi.set(__self__, "chart_title_scalar", chart_title_scalar) - pulumi.set(__self__, "created_epoch_millis", created_epoch_millis) - pulumi.set(__self__, "creator_id", creator_id) - pulumi.set(__self__, "customer", customer) - pulumi.set(__self__, "default_end_time", default_end_time) - pulumi.set(__self__, "default_start_time", default_start_time) - pulumi.set(__self__, "default_time_window", default_time_window) - pulumi.set(__self__, "deleted", deleted) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "display_description", display_description) - pulumi.set(__self__, "display_query_parameters", display_query_parameters) - pulumi.set(__self__, "display_section_table_of_contents", display_section_table_of_contents) - pulumi.set(__self__, "event_filter_type", event_filter_type) - pulumi.set(__self__, "event_query", event_query) - pulumi.set(__self__, "favorite", favorite) - pulumi.set(__self__, "hidden", hidden) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "num_charts", num_charts) - pulumi.set(__self__, "num_favorites", num_favorites) - pulumi.set(__self__, "parameter_details", parameter_details) - pulumi.set(__self__, "parameters", parameters) - pulumi.set(__self__, "sections", sections) - pulumi.set(__self__, "system_owned", system_owned) - pulumi.set(__self__, "tags", tags) - pulumi.set(__self__, "updated_epoch_millis", updated_epoch_millis) - pulumi.set(__self__, "updater_id", updater_id) - pulumi.set(__self__, "url", url) - pulumi.set(__self__, "views_last_day", views_last_day) - pulumi.set(__self__, "views_last_month", views_last_month) - pulumi.set(__self__, "views_last_week", views_last_week) + GetDashboardsDashboardResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + can_modifies=can_modifies, + can_views=can_views, + chart_title_bg_color=chart_title_bg_color, + chart_title_color=chart_title_color, + chart_title_scalar=chart_title_scalar, + created_epoch_millis=created_epoch_millis, + creator_id=creator_id, + customer=customer, + default_end_time=default_end_time, + default_start_time=default_start_time, + default_time_window=default_time_window, + deleted=deleted, + description=description, + display_description=display_description, + display_query_parameters=display_query_parameters, + display_section_table_of_contents=display_section_table_of_contents, + event_filter_type=event_filter_type, + event_query=event_query, + favorite=favorite, + hidden=hidden, + id=id, + name=name, + num_charts=num_charts, + num_favorites=num_favorites, + parameter_details=parameter_details, + parameters=parameters, + sections=sections, + system_owned=system_owned, + tags=tags, + updated_epoch_millis=updated_epoch_millis, + updater_id=updater_id, + url=url, + views_last_day=views_last_day, + views_last_month=views_last_month, + views_last_week=views_last_week, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + can_modifies: Sequence[str], + can_views: Sequence[str], + chart_title_bg_color: str, + chart_title_color: str, + chart_title_scalar: int, + created_epoch_millis: int, + creator_id: str, + customer: str, + default_end_time: int, + default_start_time: int, + default_time_window: str, + deleted: bool, + description: str, + display_description: bool, + display_query_parameters: bool, + display_section_table_of_contents: bool, + event_filter_type: str, + event_query: str, + favorite: bool, + hidden: bool, + id: str, + name: str, + num_charts: int, + num_favorites: int, + parameter_details: Sequence['outputs.GetDashboardsDashboardParameterDetailResult'], + parameters: Mapping[str, Any], + sections: Sequence['outputs.GetDashboardsDashboardSectionResult'], + system_owned: bool, + tags: Sequence[str], + updated_epoch_millis: int, + updater_id: str, + url: str, + views_last_day: int, + views_last_month: int, + views_last_week: int, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("can_modifies", can_modifies) + _setter("can_views", can_views) + _setter("chart_title_bg_color", chart_title_bg_color) + _setter("chart_title_color", chart_title_color) + _setter("chart_title_scalar", chart_title_scalar) + _setter("created_epoch_millis", created_epoch_millis) + _setter("creator_id", creator_id) + _setter("customer", customer) + _setter("default_end_time", default_end_time) + _setter("default_start_time", default_start_time) + _setter("default_time_window", default_time_window) + _setter("deleted", deleted) + _setter("description", description) + _setter("display_description", display_description) + _setter("display_query_parameters", display_query_parameters) + _setter("display_section_table_of_contents", display_section_table_of_contents) + _setter("event_filter_type", event_filter_type) + _setter("event_query", event_query) + _setter("favorite", favorite) + _setter("hidden", hidden) + _setter("id", id) + _setter("name", name) + _setter("num_charts", num_charts) + _setter("num_favorites", num_favorites) + _setter("parameter_details", parameter_details) + _setter("parameters", parameters) + _setter("sections", sections) + _setter("system_owned", system_owned) + _setter("tags", tags) + _setter("updated_epoch_millis", updated_epoch_millis) + _setter("updater_id", updater_id) + _setter("url", url) + _setter("views_last_day", views_last_day) + _setter("views_last_month", views_last_month) + _setter("views_last_week", views_last_week) @property @pulumi.getter(name="canModifies") @@ -3207,14 +3882,37 @@ def __init__(__self__, *, :param Mapping[str, str] values_to_readable_strings: A string to string map. At least one of the keys must match the value of `default_value`. """ - pulumi.set(__self__, "default_value", default_value) - pulumi.set(__self__, "dynamic_field_type", dynamic_field_type) - pulumi.set(__self__, "hide_from_view", hide_from_view) - pulumi.set(__self__, "label", label) - pulumi.set(__self__, "parameter_type", parameter_type) - pulumi.set(__self__, "query_value", query_value) - pulumi.set(__self__, "tag_key", tag_key) - pulumi.set(__self__, "values_to_readable_strings", values_to_readable_strings) + GetDashboardsDashboardParameterDetailResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + default_value=default_value, + dynamic_field_type=dynamic_field_type, + hide_from_view=hide_from_view, + label=label, + parameter_type=parameter_type, + query_value=query_value, + tag_key=tag_key, + values_to_readable_strings=values_to_readable_strings, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + default_value: str, + dynamic_field_type: str, + hide_from_view: bool, + label: str, + parameter_type: str, + query_value: str, + tag_key: str, + values_to_readable_strings: Mapping[str, str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("default_value", default_value) + _setter("dynamic_field_type", dynamic_field_type) + _setter("hide_from_view", hide_from_view) + _setter("label", label) + _setter("parameter_type", parameter_type) + _setter("query_value", query_value) + _setter("tag_key", tag_key) + _setter("values_to_readable_strings", values_to_readable_strings) @property @pulumi.getter(name="defaultValue") @@ -3291,8 +3989,19 @@ def __init__(__self__, *, """ :param str name: The name of the parameters. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "rows", rows) + GetDashboardsDashboardSectionResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + name=name, + rows=rows, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + name: str, + rows: Sequence['outputs.GetDashboardsDashboardSectionRowResult'], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("name", name) + _setter("rows", rows) @property @pulumi.getter @@ -3317,9 +4026,22 @@ def __init__(__self__, *, """ :param str name: The name of the parameters. """ - pulumi.set(__self__, "charts", charts) - pulumi.set(__self__, "height_factor", height_factor) - pulumi.set(__self__, "name", name) + GetDashboardsDashboardSectionRowResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + charts=charts, + height_factor=height_factor, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + charts: Sequence['outputs.GetDashboardsDashboardSectionRowChartResult'], + height_factor: int, + name: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("charts", charts) + _setter("height_factor", height_factor) + _setter("name", name) @property @pulumi.getter @@ -3361,17 +4083,46 @@ def __init__(__self__, *, :param str summarization: Summarization strategy for the chart. MEAN is default. :param str units: String to label the units of the chart on the Y-Axis. """ - pulumi.set(__self__, "base", base) - pulumi.set(__self__, "chart_attributes", chart_attributes) - pulumi.set(__self__, "chart_settings", chart_settings) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "include_obsolete_metrics", include_obsolete_metrics) - pulumi.set(__self__, "interpolate_points_key", interpolate_points_key) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "no_default_events", no_default_events) - pulumi.set(__self__, "sources", sources) - pulumi.set(__self__, "summarization", summarization) - pulumi.set(__self__, "units", units) + GetDashboardsDashboardSectionRowChartResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + base=base, + chart_attributes=chart_attributes, + chart_settings=chart_settings, + description=description, + include_obsolete_metrics=include_obsolete_metrics, + interpolate_points_key=interpolate_points_key, + name=name, + no_default_events=no_default_events, + sources=sources, + summarization=summarization, + units=units, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + base: int, + chart_attributes: str, + chart_settings: Sequence['outputs.GetDashboardsDashboardSectionRowChartChartSettingResult'], + description: str, + include_obsolete_metrics: bool, + interpolate_points_key: bool, + name: str, + no_default_events: bool, + sources: Sequence['outputs.GetDashboardsDashboardSectionRowChartSourceResult'], + summarization: str, + units: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("base", base) + _setter("chart_attributes", chart_attributes) + _setter("chart_settings", chart_settings) + _setter("description", description) + _setter("include_obsolete_metrics", include_obsolete_metrics) + _setter("interpolate_points_key", interpolate_points_key) + _setter("name", name) + _setter("no_default_events", no_default_events) + _setter("sources", sources) + _setter("summarization", summarization) + _setter("units", units) @property @pulumi.getter @@ -3559,63 +4310,184 @@ def __init__(__self__, *, :param float ymax: For x-y scatterplots, max value for the Y-axis. Set to null for auto. :param float ymin: For x-y scatterplots, min value for the Y-axis. Set to null for auto. """ - pulumi.set(__self__, "auto_column_tags", auto_column_tags) - pulumi.set(__self__, "column_tags", column_tags) - pulumi.set(__self__, "custom_tags", custom_tags) - pulumi.set(__self__, "expected_data_spacing", expected_data_spacing) - pulumi.set(__self__, "fixed_legend_display_stats", fixed_legend_display_stats) - pulumi.set(__self__, "fixed_legend_enabled", fixed_legend_enabled) - pulumi.set(__self__, "fixed_legend_filter_field", fixed_legend_filter_field) - pulumi.set(__self__, "fixed_legend_filter_limit", fixed_legend_filter_limit) - pulumi.set(__self__, "fixed_legend_filter_sort", fixed_legend_filter_sort) - pulumi.set(__self__, "fixed_legend_hide_label", fixed_legend_hide_label) - pulumi.set(__self__, "fixed_legend_position", fixed_legend_position) - pulumi.set(__self__, "fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) - pulumi.set(__self__, "group_by_source", group_by_source) - pulumi.set(__self__, "invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) - pulumi.set(__self__, "line_type", line_type) - pulumi.set(__self__, "max", max) - pulumi.set(__self__, "min", min) - pulumi.set(__self__, "num_tags", num_tags) - pulumi.set(__self__, "plain_markdown_content", plain_markdown_content) - pulumi.set(__self__, "show_hosts", show_hosts) - pulumi.set(__self__, "show_labels", show_labels) - pulumi.set(__self__, "show_raw_values", show_raw_values) - pulumi.set(__self__, "sort_values_descending", sort_values_descending) - pulumi.set(__self__, "sparkline_decimal_precision", sparkline_decimal_precision) - pulumi.set(__self__, "sparkline_display_color", sparkline_display_color) - pulumi.set(__self__, "sparkline_display_font_size", sparkline_display_font_size) - pulumi.set(__self__, "sparkline_display_horizontal_position", sparkline_display_horizontal_position) - pulumi.set(__self__, "sparkline_display_postfix", sparkline_display_postfix) - pulumi.set(__self__, "sparkline_display_prefix", sparkline_display_prefix) - pulumi.set(__self__, "sparkline_display_value_type", sparkline_display_value_type) - pulumi.set(__self__, "sparkline_display_vertical_position", sparkline_display_vertical_position) - pulumi.set(__self__, "sparkline_fill_color", sparkline_fill_color) - pulumi.set(__self__, "sparkline_line_color", sparkline_line_color) - pulumi.set(__self__, "sparkline_size", sparkline_size) - pulumi.set(__self__, "sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) - pulumi.set(__self__, "sparkline_value_color_map_colors", sparkline_value_color_map_colors) - pulumi.set(__self__, "sparkline_value_color_map_values", sparkline_value_color_map_values) - pulumi.set(__self__, "sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) - pulumi.set(__self__, "sparkline_value_text_map_texts", sparkline_value_text_map_texts) - pulumi.set(__self__, "sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) - pulumi.set(__self__, "stack_type", stack_type) - pulumi.set(__self__, "tag_mode", tag_mode) - pulumi.set(__self__, "time_based_coloring", time_based_coloring) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "window_size", window_size) - pulumi.set(__self__, "windowing", windowing) - pulumi.set(__self__, "xmax", xmax) - pulumi.set(__self__, "xmin", xmin) - pulumi.set(__self__, "y0_scale_si_by1024", y0_scale_si_by1024) - pulumi.set(__self__, "y0_unit_autoscaling", y0_unit_autoscaling) - pulumi.set(__self__, "y1_max", y1_max) - pulumi.set(__self__, "y1_min", y1_min) - pulumi.set(__self__, "y1_scale_si_by1024", y1_scale_si_by1024) - pulumi.set(__self__, "y1_unit_autoscaling", y1_unit_autoscaling) - pulumi.set(__self__, "y1_units", y1_units) - pulumi.set(__self__, "ymax", ymax) - pulumi.set(__self__, "ymin", ymin) + GetDashboardsDashboardSectionRowChartChartSettingResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + auto_column_tags=auto_column_tags, + column_tags=column_tags, + custom_tags=custom_tags, + expected_data_spacing=expected_data_spacing, + fixed_legend_display_stats=fixed_legend_display_stats, + fixed_legend_enabled=fixed_legend_enabled, + fixed_legend_filter_field=fixed_legend_filter_field, + fixed_legend_filter_limit=fixed_legend_filter_limit, + fixed_legend_filter_sort=fixed_legend_filter_sort, + fixed_legend_hide_label=fixed_legend_hide_label, + fixed_legend_position=fixed_legend_position, + fixed_legend_use_raw_stats=fixed_legend_use_raw_stats, + group_by_source=group_by_source, + invert_dynamic_legend_hover_control=invert_dynamic_legend_hover_control, + line_type=line_type, + max=max, + min=min, + num_tags=num_tags, + plain_markdown_content=plain_markdown_content, + show_hosts=show_hosts, + show_labels=show_labels, + show_raw_values=show_raw_values, + sort_values_descending=sort_values_descending, + sparkline_decimal_precision=sparkline_decimal_precision, + sparkline_display_color=sparkline_display_color, + sparkline_display_font_size=sparkline_display_font_size, + sparkline_display_horizontal_position=sparkline_display_horizontal_position, + sparkline_display_postfix=sparkline_display_postfix, + sparkline_display_prefix=sparkline_display_prefix, + sparkline_display_value_type=sparkline_display_value_type, + sparkline_display_vertical_position=sparkline_display_vertical_position, + sparkline_fill_color=sparkline_fill_color, + sparkline_line_color=sparkline_line_color, + sparkline_size=sparkline_size, + sparkline_value_color_map_apply_to=sparkline_value_color_map_apply_to, + sparkline_value_color_map_colors=sparkline_value_color_map_colors, + sparkline_value_color_map_values=sparkline_value_color_map_values, + sparkline_value_color_map_values_v2s=sparkline_value_color_map_values_v2s, + sparkline_value_text_map_texts=sparkline_value_text_map_texts, + sparkline_value_text_map_thresholds=sparkline_value_text_map_thresholds, + stack_type=stack_type, + tag_mode=tag_mode, + time_based_coloring=time_based_coloring, + type=type, + window_size=window_size, + windowing=windowing, + xmax=xmax, + xmin=xmin, + y0_scale_si_by1024=y0_scale_si_by1024, + y0_unit_autoscaling=y0_unit_autoscaling, + y1_max=y1_max, + y1_min=y1_min, + y1_scale_si_by1024=y1_scale_si_by1024, + y1_unit_autoscaling=y1_unit_autoscaling, + y1_units=y1_units, + ymax=ymax, + ymin=ymin, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + auto_column_tags: bool, + column_tags: str, + custom_tags: Sequence[str], + expected_data_spacing: int, + fixed_legend_display_stats: Sequence[str], + fixed_legend_enabled: bool, + fixed_legend_filter_field: str, + fixed_legend_filter_limit: int, + fixed_legend_filter_sort: str, + fixed_legend_hide_label: bool, + fixed_legend_position: str, + fixed_legend_use_raw_stats: bool, + group_by_source: bool, + invert_dynamic_legend_hover_control: bool, + line_type: str, + max: float, + min: float, + num_tags: int, + plain_markdown_content: str, + show_hosts: bool, + show_labels: bool, + show_raw_values: bool, + sort_values_descending: bool, + sparkline_decimal_precision: int, + sparkline_display_color: str, + sparkline_display_font_size: str, + sparkline_display_horizontal_position: str, + sparkline_display_postfix: str, + sparkline_display_prefix: str, + sparkline_display_value_type: str, + sparkline_display_vertical_position: str, + sparkline_fill_color: str, + sparkline_line_color: str, + sparkline_size: str, + sparkline_value_color_map_apply_to: str, + sparkline_value_color_map_colors: Sequence[str], + sparkline_value_color_map_values: Sequence[int], + sparkline_value_color_map_values_v2s: Sequence[float], + sparkline_value_text_map_texts: Sequence[str], + sparkline_value_text_map_thresholds: Sequence[float], + stack_type: str, + tag_mode: str, + time_based_coloring: bool, + type: str, + window_size: int, + windowing: str, + xmax: float, + xmin: float, + y0_scale_si_by1024: bool, + y0_unit_autoscaling: bool, + y1_max: float, + y1_min: float, + y1_scale_si_by1024: bool, + y1_unit_autoscaling: bool, + y1_units: str, + ymax: float, + ymin: float, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("auto_column_tags", auto_column_tags) + _setter("column_tags", column_tags) + _setter("custom_tags", custom_tags) + _setter("expected_data_spacing", expected_data_spacing) + _setter("fixed_legend_display_stats", fixed_legend_display_stats) + _setter("fixed_legend_enabled", fixed_legend_enabled) + _setter("fixed_legend_filter_field", fixed_legend_filter_field) + _setter("fixed_legend_filter_limit", fixed_legend_filter_limit) + _setter("fixed_legend_filter_sort", fixed_legend_filter_sort) + _setter("fixed_legend_hide_label", fixed_legend_hide_label) + _setter("fixed_legend_position", fixed_legend_position) + _setter("fixed_legend_use_raw_stats", fixed_legend_use_raw_stats) + _setter("group_by_source", group_by_source) + _setter("invert_dynamic_legend_hover_control", invert_dynamic_legend_hover_control) + _setter("line_type", line_type) + _setter("max", max) + _setter("min", min) + _setter("num_tags", num_tags) + _setter("plain_markdown_content", plain_markdown_content) + _setter("show_hosts", show_hosts) + _setter("show_labels", show_labels) + _setter("show_raw_values", show_raw_values) + _setter("sort_values_descending", sort_values_descending) + _setter("sparkline_decimal_precision", sparkline_decimal_precision) + _setter("sparkline_display_color", sparkline_display_color) + _setter("sparkline_display_font_size", sparkline_display_font_size) + _setter("sparkline_display_horizontal_position", sparkline_display_horizontal_position) + _setter("sparkline_display_postfix", sparkline_display_postfix) + _setter("sparkline_display_prefix", sparkline_display_prefix) + _setter("sparkline_display_value_type", sparkline_display_value_type) + _setter("sparkline_display_vertical_position", sparkline_display_vertical_position) + _setter("sparkline_fill_color", sparkline_fill_color) + _setter("sparkline_line_color", sparkline_line_color) + _setter("sparkline_size", sparkline_size) + _setter("sparkline_value_color_map_apply_to", sparkline_value_color_map_apply_to) + _setter("sparkline_value_color_map_colors", sparkline_value_color_map_colors) + _setter("sparkline_value_color_map_values", sparkline_value_color_map_values) + _setter("sparkline_value_color_map_values_v2s", sparkline_value_color_map_values_v2s) + _setter("sparkline_value_text_map_texts", sparkline_value_text_map_texts) + _setter("sparkline_value_text_map_thresholds", sparkline_value_text_map_thresholds) + _setter("stack_type", stack_type) + _setter("tag_mode", tag_mode) + _setter("time_based_coloring", time_based_coloring) + _setter("type", type) + _setter("window_size", window_size) + _setter("windowing", windowing) + _setter("xmax", xmax) + _setter("xmin", xmin) + _setter("y0_scale_si_by1024", y0_scale_si_by1024) + _setter("y0_unit_autoscaling", y0_unit_autoscaling) + _setter("y1_max", y1_max) + _setter("y1_min", y1_min) + _setter("y1_scale_si_by1024", y1_scale_si_by1024) + _setter("y1_unit_autoscaling", y1_unit_autoscaling) + _setter("y1_units", y1_units) + _setter("ymax", ymax) + _setter("ymin", ymin) @property @pulumi.getter(name="autoColumnTags") @@ -4080,14 +4952,37 @@ def __init__(__self__, *, :param str scatter_plot_source: For scatter plots, does this query source the X-axis or the Y-axis, `X`, or `Y`. :param str source_description: A description for the purpose of this source. """ - pulumi.set(__self__, "disabled", disabled) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "query", query) - pulumi.set(__self__, "querybuilder_enabled", querybuilder_enabled) - pulumi.set(__self__, "scatter_plot_source", scatter_plot_source) - pulumi.set(__self__, "secondary_axis", secondary_axis) - pulumi.set(__self__, "source_color", source_color) - pulumi.set(__self__, "source_description", source_description) + GetDashboardsDashboardSectionRowChartSourceResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + disabled=disabled, + name=name, + query=query, + querybuilder_enabled=querybuilder_enabled, + scatter_plot_source=scatter_plot_source, + secondary_axis=secondary_axis, + source_color=source_color, + source_description=source_description, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + disabled: bool, + name: str, + query: str, + querybuilder_enabled: bool, + scatter_plot_source: str, + secondary_axis: bool, + source_color: str, + source_description: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("disabled", disabled) + _setter("name", name) + _setter("query", query) + _setter("querybuilder_enabled", querybuilder_enabled) + _setter("scatter_plot_source", scatter_plot_source) + _setter("secondary_axis", secondary_axis) + _setter("source_color", source_color) + _setter("source_description", source_description) @property @pulumi.getter @@ -4198,30 +5093,85 @@ def __init__(__self__, *, :param str update_user_id: The ID of the user who updated the derived metric. :param int updated_epoch_millis: The timestamp in epoch milliseconds indicating when the derived metric is updated. """ - pulumi.set(__self__, "additional_information", additional_information) - pulumi.set(__self__, "create_user_id", create_user_id) - pulumi.set(__self__, "created_epoch_millis", created_epoch_millis) - pulumi.set(__self__, "deleted", deleted) - pulumi.set(__self__, "hosts_useds", hosts_useds) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "in_trash", in_trash) - pulumi.set(__self__, "include_obsolete_metrics", include_obsolete_metrics) - pulumi.set(__self__, "last_error_message", last_error_message) - pulumi.set(__self__, "last_failed_time", last_failed_time) - pulumi.set(__self__, "last_processed_millis", last_processed_millis) - pulumi.set(__self__, "last_query_time", last_query_time) - pulumi.set(__self__, "metrics_useds", metrics_useds) - pulumi.set(__self__, "minutes", minutes) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "points_scanned_at_last_query", points_scanned_at_last_query) - pulumi.set(__self__, "process_rate_minutes", process_rate_minutes) - pulumi.set(__self__, "query", query) - pulumi.set(__self__, "query_failing", query_failing) - pulumi.set(__self__, "query_qb_enabled", query_qb_enabled) - pulumi.set(__self__, "statuses", statuses) - pulumi.set(__self__, "tags", tags) - pulumi.set(__self__, "update_user_id", update_user_id) - pulumi.set(__self__, "updated_epoch_millis", updated_epoch_millis) + GetDerivedMetricsDerivedMetricResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + additional_information=additional_information, + create_user_id=create_user_id, + created_epoch_millis=created_epoch_millis, + deleted=deleted, + hosts_useds=hosts_useds, + id=id, + in_trash=in_trash, + include_obsolete_metrics=include_obsolete_metrics, + last_error_message=last_error_message, + last_failed_time=last_failed_time, + last_processed_millis=last_processed_millis, + last_query_time=last_query_time, + metrics_useds=metrics_useds, + minutes=minutes, + name=name, + points_scanned_at_last_query=points_scanned_at_last_query, + process_rate_minutes=process_rate_minutes, + query=query, + query_failing=query_failing, + query_qb_enabled=query_qb_enabled, + statuses=statuses, + tags=tags, + update_user_id=update_user_id, + updated_epoch_millis=updated_epoch_millis, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + additional_information: str, + create_user_id: str, + created_epoch_millis: int, + deleted: bool, + hosts_useds: Sequence[str], + id: str, + in_trash: bool, + include_obsolete_metrics: bool, + last_error_message: str, + last_failed_time: int, + last_processed_millis: int, + last_query_time: int, + metrics_useds: Sequence[str], + minutes: int, + name: str, + points_scanned_at_last_query: int, + process_rate_minutes: int, + query: str, + query_failing: bool, + query_qb_enabled: bool, + statuses: Sequence[str], + tags: Sequence[str], + update_user_id: str, + updated_epoch_millis: int, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("additional_information", additional_information) + _setter("create_user_id", create_user_id) + _setter("created_epoch_millis", created_epoch_millis) + _setter("deleted", deleted) + _setter("hosts_useds", hosts_useds) + _setter("id", id) + _setter("in_trash", in_trash) + _setter("include_obsolete_metrics", include_obsolete_metrics) + _setter("last_error_message", last_error_message) + _setter("last_failed_time", last_failed_time) + _setter("last_processed_millis", last_processed_millis) + _setter("last_query_time", last_query_time) + _setter("metrics_useds", metrics_useds) + _setter("minutes", minutes) + _setter("name", name) + _setter("points_scanned_at_last_query", points_scanned_at_last_query) + _setter("process_rate_minutes", process_rate_minutes) + _setter("query", query) + _setter("query_failing", query_failing) + _setter("query_qb_enabled", query_qb_enabled) + _setter("statuses", statuses) + _setter("tags", tags) + _setter("update_user_id", update_user_id) + _setter("updated_epoch_millis", updated_epoch_millis) @property @pulumi.getter(name="additionalInformation") @@ -4440,16 +5390,43 @@ def __init__(__self__, *, :param Sequence[str] tags: A set of tags assigned to the event. :param str type: The type of the event. """ - pulumi.set(__self__, "annotations", annotations) - pulumi.set(__self__, "details", details) - pulumi.set(__self__, "endtime_key", endtime_key) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "is_ephemeral", is_ephemeral) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "severity", severity) - pulumi.set(__self__, "start_time", start_time) - pulumi.set(__self__, "tags", tags) - pulumi.set(__self__, "type", type) + GetEventsEventResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + annotations=annotations, + details=details, + endtime_key=endtime_key, + id=id, + is_ephemeral=is_ephemeral, + name=name, + severity=severity, + start_time=start_time, + tags=tags, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + annotations: Mapping[str, str], + details: str, + endtime_key: int, + id: str, + is_ephemeral: bool, + name: str, + severity: str, + start_time: int, + tags: Sequence[str], + type: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("annotations", annotations) + _setter("details", details) + _setter("endtime_key", endtime_key) + _setter("id", id) + _setter("is_ephemeral", is_ephemeral) + _setter("name", name) + _setter("severity", severity) + _setter("start_time", start_time) + _setter("tags", tags) + _setter("type", type) @property @pulumi.getter @@ -4561,18 +5538,49 @@ def __init__(__self__, *, :param int updated_epoch_millis: The timestamp in epoch milliseconds indicating when the external link is updated. :param str updater_id: The ID of the user who updated the external link. """ - pulumi.set(__self__, "created_epoch_millis", created_epoch_millis) - pulumi.set(__self__, "creator_id", creator_id) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "is_log_integration", is_log_integration) - pulumi.set(__self__, "metric_filter_regex", metric_filter_regex) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "point_tag_filter_regexes", point_tag_filter_regexes) - pulumi.set(__self__, "source_filter_regex", source_filter_regex) - pulumi.set(__self__, "template", template) - pulumi.set(__self__, "updated_epoch_millis", updated_epoch_millis) - pulumi.set(__self__, "updater_id", updater_id) + GetExternalLinksExternalLinkResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + created_epoch_millis=created_epoch_millis, + creator_id=creator_id, + description=description, + id=id, + is_log_integration=is_log_integration, + metric_filter_regex=metric_filter_regex, + name=name, + point_tag_filter_regexes=point_tag_filter_regexes, + source_filter_regex=source_filter_regex, + template=template, + updated_epoch_millis=updated_epoch_millis, + updater_id=updater_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + created_epoch_millis: int, + creator_id: str, + description: str, + id: str, + is_log_integration: bool, + metric_filter_regex: str, + name: str, + point_tag_filter_regexes: Mapping[str, str], + source_filter_regex: str, + template: str, + updated_epoch_millis: int, + updater_id: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("created_epoch_millis", created_epoch_millis) + _setter("creator_id", creator_id) + _setter("description", description) + _setter("id", id) + _setter("is_log_integration", is_log_integration) + _setter("metric_filter_regex", metric_filter_regex) + _setter("name", name) + _setter("point_tag_filter_regexes", point_tag_filter_regexes) + _setter("source_filter_regex", source_filter_regex) + _setter("template", template) + _setter("updated_epoch_millis", updated_epoch_millis) + _setter("updater_id", updater_id) @property @pulumi.getter(name="createdEpochMillis") @@ -4695,24 +5703,67 @@ def __init__(__self__, *, title: str, updated_epoch_millis: int, updater_id: str): - pulumi.set(__self__, "created_epoch_millis", created_epoch_millis) - pulumi.set(__self__, "creator_id", creator_id) - pulumi.set(__self__, "customer_id", customer_id) - pulumi.set(__self__, "end_time_in_seconds", end_time_in_seconds) - pulumi.set(__self__, "event_name", event_name) - pulumi.set(__self__, "host_tag_group_host_names_group_anded", host_tag_group_host_names_group_anded) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "reason", reason) - pulumi.set(__self__, "relevant_customer_tags", relevant_customer_tags) - pulumi.set(__self__, "relevant_host_names", relevant_host_names) - pulumi.set(__self__, "relevant_host_tags", relevant_host_tags) - pulumi.set(__self__, "relevant_host_tags_anded", relevant_host_tags_anded) - pulumi.set(__self__, "running_state", running_state) - pulumi.set(__self__, "sort_attr", sort_attr) - pulumi.set(__self__, "start_time_in_seconds", start_time_in_seconds) - pulumi.set(__self__, "title", title) - pulumi.set(__self__, "updated_epoch_millis", updated_epoch_millis) - pulumi.set(__self__, "updater_id", updater_id) + GetMaintenanceWindowAllMaintenanceWindowResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + created_epoch_millis=created_epoch_millis, + creator_id=creator_id, + customer_id=customer_id, + end_time_in_seconds=end_time_in_seconds, + event_name=event_name, + host_tag_group_host_names_group_anded=host_tag_group_host_names_group_anded, + id=id, + reason=reason, + relevant_customer_tags=relevant_customer_tags, + relevant_host_names=relevant_host_names, + relevant_host_tags=relevant_host_tags, + relevant_host_tags_anded=relevant_host_tags_anded, + running_state=running_state, + sort_attr=sort_attr, + start_time_in_seconds=start_time_in_seconds, + title=title, + updated_epoch_millis=updated_epoch_millis, + updater_id=updater_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + created_epoch_millis: int, + creator_id: str, + customer_id: str, + end_time_in_seconds: int, + event_name: str, + host_tag_group_host_names_group_anded: bool, + id: str, + reason: str, + relevant_customer_tags: Sequence[str], + relevant_host_names: Sequence[str], + relevant_host_tags: Sequence[str], + relevant_host_tags_anded: bool, + running_state: str, + sort_attr: int, + start_time_in_seconds: int, + title: str, + updated_epoch_millis: int, + updater_id: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("created_epoch_millis", created_epoch_millis) + _setter("creator_id", creator_id) + _setter("customer_id", customer_id) + _setter("end_time_in_seconds", end_time_in_seconds) + _setter("event_name", event_name) + _setter("host_tag_group_host_names_group_anded", host_tag_group_host_names_group_anded) + _setter("id", id) + _setter("reason", reason) + _setter("relevant_customer_tags", relevant_customer_tags) + _setter("relevant_host_names", relevant_host_names) + _setter("relevant_host_tags", relevant_host_tags) + _setter("relevant_host_tags_anded", relevant_host_tags_anded) + _setter("running_state", running_state) + _setter("sort_attr", sort_attr) + _setter("start_time_in_seconds", start_time_in_seconds) + _setter("title", title) + _setter("updated_epoch_millis", updated_epoch_millis) + _setter("updater_id", updater_id) @property @pulumi.getter(name="createdEpochMillis") @@ -4817,15 +5868,40 @@ def __init__(__self__, *, tags: Sequence['outputs.GetMetricsPolicyPolicyRuleTagResult'], tags_anded: bool, user_group_ids: Sequence[str]): - pulumi.set(__self__, "access_type", access_type) - pulumi.set(__self__, "account_ids", account_ids) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "prefixes", prefixes) - pulumi.set(__self__, "role_ids", role_ids) - pulumi.set(__self__, "tags", tags) - pulumi.set(__self__, "tags_anded", tags_anded) - pulumi.set(__self__, "user_group_ids", user_group_ids) + GetMetricsPolicyPolicyRuleResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_type=access_type, + account_ids=account_ids, + description=description, + name=name, + prefixes=prefixes, + role_ids=role_ids, + tags=tags, + tags_anded=tags_anded, + user_group_ids=user_group_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_type: str, + account_ids: Sequence[str], + description: str, + name: str, + prefixes: Sequence[str], + role_ids: Sequence[str], + tags: Sequence['outputs.GetMetricsPolicyPolicyRuleTagResult'], + tags_anded: bool, + user_group_ids: Sequence[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("access_type", access_type) + _setter("account_ids", account_ids) + _setter("description", description) + _setter("name", name) + _setter("prefixes", prefixes) + _setter("role_ids", role_ids) + _setter("tags", tags) + _setter("tags_anded", tags_anded) + _setter("user_group_ids", user_group_ids) @property @pulumi.getter(name="accessType") @@ -4878,8 +5954,19 @@ class GetMetricsPolicyPolicyRuleTagResult(dict): def __init__(__self__, *, key: str, value: str): - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "value", value) + GetMetricsPolicyPolicyRuleTagResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: str, + value: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("key", key) + _setter("value", value) @property @pulumi.getter @@ -4905,10 +5992,25 @@ def __init__(__self__, *, :param str name: The Role Name. :param Sequence[str] permissions: List of Permissions (Strings) associated with Role. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "permissions", permissions) + GetRolesRoleResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + id=id, + name=name, + permissions=permissions, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: str, + id: str, + name: str, + permissions: Sequence[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) + _setter("id", id) + _setter("name", name) + _setter("permissions", permissions) @property @pulumi.getter @@ -4958,11 +6060,28 @@ def __init__(__self__, *, :param Sequence[str] roles: List of roles associated with the group. :param Sequence[str] users: List of users assigned to the group. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "roles", roles) - pulumi.set(__self__, "users", users) + GetUserGroupsUserGroupResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + id=id, + name=name, + roles=roles, + users=users, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: str, + id: str, + name: str, + roles: Sequence[str], + users: Sequence[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) + _setter("id", id) + _setter("name", name) + _setter("roles", roles) + _setter("users", users) @property @pulumi.getter @@ -5019,11 +6138,28 @@ def __init__(__self__, *, :param Sequence[str] permissions: List of permissions granted to a user. :param Sequence[str] user_group_ids: List of User Group Ids the user is a member of. """ - pulumi.set(__self__, "customer", customer) - pulumi.set(__self__, "email", email) - pulumi.set(__self__, "last_successful_login", last_successful_login) - pulumi.set(__self__, "permissions", permissions) - pulumi.set(__self__, "user_group_ids", user_group_ids) + GetUsersUserResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + customer=customer, + email=email, + last_successful_login=last_successful_login, + permissions=permissions, + user_group_ids=user_group_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + customer: str, + email: str, + last_successful_login: int, + permissions: Sequence[str], + user_group_ids: Sequence[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("customer", customer) + _setter("email", email) + _setter("last_successful_login", last_successful_login) + _setter("permissions", permissions) + _setter("user_group_ids", user_group_ids) @property @pulumi.getter diff --git a/sdk/python/pulumi_wavefront/provider.py b/sdk/python/pulumi_wavefront/provider.py index 48ffe26a..52928979 100644 --- a/sdk/python/pulumi_wavefront/provider.py +++ b/sdk/python/pulumi_wavefront/provider.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ProviderArgs', 'Provider'] @@ -20,10 +20,23 @@ def __init__(__self__, *, """ The set of arguments for constructing a Provider resource. """ - pulumi.set(__self__, "address", address) - pulumi.set(__self__, "token", token) + ProviderArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + address=address, + token=token, + http_proxy=http_proxy, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + address: pulumi.Input[str], + token: pulumi.Input[str], + http_proxy: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("address", address) + _setter("token", token) if http_proxy is not None: - pulumi.set(__self__, "http_proxy", http_proxy) + _setter("http_proxy", http_proxy) @property @pulumi.getter @@ -93,6 +106,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProviderArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/role.py b/sdk/python/pulumi_wavefront/role.py index a3a4e131..a6c22913 100644 --- a/sdk/python/pulumi_wavefront/role.py +++ b/sdk/python/pulumi_wavefront/role.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['RoleArgs', 'Role'] @@ -27,14 +27,29 @@ def __init__(__self__, *, `agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`, `host_tag_management`, `metrics_management`, and `user_management`. """ + RoleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + assignees=assignees, + description=description, + name=name, + permissions=permissions, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + assignees: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if assignees is not None: - pulumi.set(__self__, "assignees", assignees) + _setter("assignees", assignees) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if permissions is not None: - pulumi.set(__self__, "permissions", permissions) + _setter("permissions", permissions) @property @pulumi.getter @@ -103,14 +118,29 @@ def __init__(__self__, *, `agent_management`, `alerts_management`, `dashboard_management`, `embedded_charts`, `events_management`, `external_links_management`, `host_tag_management`, `metrics_management`, and `user_management`. """ + _RoleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + assignees=assignees, + description=description, + name=name, + permissions=permissions, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + assignees: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if assignees is not None: - pulumi.set(__self__, "assignees", assignees) + _setter("assignees", assignees) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if permissions is not None: - pulumi.set(__self__, "permissions", permissions) + _setter("permissions", permissions) @property @pulumi.getter @@ -238,6 +268,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + RoleArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/service_account.py b/sdk/python/pulumi_wavefront/service_account.py index 1c11bd13..cdfce977 100644 --- a/sdk/python/pulumi_wavefront/service_account.py +++ b/sdk/python/pulumi_wavefront/service_account.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ServiceAccountArgs', 'ServiceAccount'] @@ -31,17 +31,36 @@ def __init__(__self__, *, `host_tag_management`, `metrics_management`, and `user_management`. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_groups: List of user groups for this service account. """ - pulumi.set(__self__, "identifier", identifier) + ServiceAccountArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + identifier=identifier, + active=active, + description=description, + ingestion_policy=ingestion_policy, + permissions=permissions, + user_groups=user_groups, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + identifier: pulumi.Input[str], + active: Optional[pulumi.Input[bool]] = None, + description: Optional[pulumi.Input[str]] = None, + ingestion_policy: Optional[pulumi.Input[str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("identifier", identifier) if active is not None: - pulumi.set(__self__, "active", active) + _setter("active", active) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if ingestion_policy is not None: - pulumi.set(__self__, "ingestion_policy", ingestion_policy) + _setter("ingestion_policy", ingestion_policy) if permissions is not None: - pulumi.set(__self__, "permissions", permissions) + _setter("permissions", permissions) if user_groups is not None: - pulumi.set(__self__, "user_groups", user_groups) + _setter("user_groups", user_groups) @property @pulumi.getter @@ -138,18 +157,37 @@ def __init__(__self__, *, `host_tag_management`, `metrics_management`, and `user_management`. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_groups: List of user groups for this service account. """ + _ServiceAccountState._configure( + lambda key, value: pulumi.set(__self__, key, value), + active=active, + description=description, + identifier=identifier, + ingestion_policy=ingestion_policy, + permissions=permissions, + user_groups=user_groups, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + active: Optional[pulumi.Input[bool]] = None, + description: Optional[pulumi.Input[str]] = None, + identifier: Optional[pulumi.Input[str]] = None, + ingestion_policy: Optional[pulumi.Input[str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if active is not None: - pulumi.set(__self__, "active", active) + _setter("active", active) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if identifier is not None: - pulumi.set(__self__, "identifier", identifier) + _setter("identifier", identifier) if ingestion_policy is not None: - pulumi.set(__self__, "ingestion_policy", ingestion_policy) + _setter("ingestion_policy", ingestion_policy) if permissions is not None: - pulumi.set(__self__, "permissions", permissions) + _setter("permissions", permissions) if user_groups is not None: - pulumi.set(__self__, "user_groups", user_groups) + _setter("user_groups", user_groups) @property @pulumi.getter @@ -309,6 +347,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ServiceAccountArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/user.py b/sdk/python/pulumi_wavefront/user.py index b02c9d58..ae5721f5 100644 --- a/sdk/python/pulumi_wavefront/user.py +++ b/sdk/python/pulumi_wavefront/user.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['UserArgs', 'User'] @@ -27,13 +27,28 @@ def __init__(__self__, *, `host_tag_management`, `metrics_management`, and `user_management`. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_groups: List of user groups to this user. """ - pulumi.set(__self__, "email", email) + UserArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + email=email, + customer=customer, + permissions=permissions, + user_groups=user_groups, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + email: pulumi.Input[str], + customer: Optional[pulumi.Input[str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("email", email) if customer is not None: - pulumi.set(__self__, "customer", customer) + _setter("customer", customer) if permissions is not None: - pulumi.set(__self__, "permissions", permissions) + _setter("permissions", permissions) if user_groups is not None: - pulumi.set(__self__, "user_groups", user_groups) + _setter("user_groups", user_groups) @property @pulumi.getter @@ -102,14 +117,29 @@ def __init__(__self__, *, `host_tag_management`, `metrics_management`, and `user_management`. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_groups: List of user groups to this user. """ + _UserState._configure( + lambda key, value: pulumi.set(__self__, key, value), + customer=customer, + email=email, + permissions=permissions, + user_groups=user_groups, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + customer: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if customer is not None: - pulumi.set(__self__, "customer", customer) + _setter("customer", customer) if email is not None: - pulumi.set(__self__, "email", email) + _setter("email", email) if permissions is not None: - pulumi.set(__self__, "permissions", permissions) + _setter("permissions", permissions) if user_groups is not None: - pulumi.set(__self__, "user_groups", user_groups) + _setter("user_groups", user_groups) @property @pulumi.getter @@ -237,6 +267,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + UserArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_wavefront/user_group.py b/sdk/python/pulumi_wavefront/user_group.py index c8eba08e..908d9c5b 100644 --- a/sdk/python/pulumi_wavefront/user_group.py +++ b/sdk/python/pulumi_wavefront/user_group.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['UserGroupArgs', 'UserGroup'] @@ -21,9 +21,20 @@ def __init__(__self__, *, :param pulumi.Input[str] description: A short description of the user group. :param pulumi.Input[str] name: The name of the user group. """ - pulumi.set(__self__, "description", description) + UserGroupArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter @@ -60,10 +71,21 @@ def __init__(__self__, *, :param pulumi.Input[str] description: A short description of the user group. :param pulumi.Input[str] name: The name of the user group. """ + _UserGroupState._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter @@ -159,6 +181,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + UserGroupArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__,