@pulumiverse/grafana 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/alerting/contactPoint.d.ts +1 -1
  2. package/alerting/contactPoint.js +1 -1
  3. package/alerting/messageTemplate.d.ts +2 -2
  4. package/alerting/messageTemplate.js +2 -2
  5. package/alerting/muteTiming.d.ts +2 -2
  6. package/alerting/muteTiming.js +2 -2
  7. package/alerting/notificationPolicy.d.ts +2 -2
  8. package/alerting/notificationPolicy.js +2 -2
  9. package/alerting/ruleGroup.d.ts +1 -1
  10. package/alerting/ruleGroup.js +1 -1
  11. package/cloud/getAccessPolicies.d.ts +50 -0
  12. package/cloud/getAccessPolicies.js +46 -0
  13. package/cloud/getAccessPolicies.js.map +1 -0
  14. package/cloud/getProviderAwsAccount.d.ts +92 -0
  15. package/cloud/getProviderAwsAccount.js +74 -0
  16. package/cloud/getProviderAwsAccount.js.map +1 -0
  17. package/cloud/getProviderAwsCloudwatchScrapeJob.d.ts +211 -0
  18. package/cloud/getProviderAwsCloudwatchScrapeJob.js +160 -0
  19. package/cloud/getProviderAwsCloudwatchScrapeJob.js.map +1 -0
  20. package/cloud/getProviderAwsCloudwatchScrapeJobs.d.ts +66 -0
  21. package/cloud/getProviderAwsCloudwatchScrapeJobs.js +54 -0
  22. package/cloud/getProviderAwsCloudwatchScrapeJobs.js.map +1 -0
  23. package/cloud/index.d.ts +18 -0
  24. package/cloud/index.js +23 -1
  25. package/cloud/index.js.map +1 -1
  26. package/cloud/providerAwsAccount.d.ts +103 -0
  27. package/cloud/providerAwsAccount.js +96 -0
  28. package/cloud/providerAwsAccount.js.map +1 -0
  29. package/cloud/providerAwsCloudwatchScrapeJob.d.ts +192 -0
  30. package/cloud/providerAwsCloudwatchScrapeJob.js +139 -0
  31. package/cloud/providerAwsCloudwatchScrapeJob.js.map +1 -0
  32. package/config/vars.d.ts +19 -0
  33. package/config/vars.js +24 -0
  34. package/config/vars.js.map +1 -1
  35. package/connectionsMetricsEndpointScrapeJob.d.ts +151 -0
  36. package/connectionsMetricsEndpointScrapeJob.js +101 -0
  37. package/connectionsMetricsEndpointScrapeJob.js.map +1 -0
  38. package/contactPoint.d.ts +1 -1
  39. package/contactPoint.js +1 -1
  40. package/dashboardPermissionItem.d.ts +3 -3
  41. package/dataSource.d.ts +9 -0
  42. package/dataSource.js +9 -0
  43. package/dataSource.js.map +1 -1
  44. package/dataSourcePermissionItem.d.ts +3 -3
  45. package/enterprise/dataSourcePermissionItem.d.ts +3 -3
  46. package/enterprise/roleAssignmentItem.d.ts +3 -3
  47. package/folderPermissionItem.d.ts +3 -3
  48. package/getConnectionsMetricsEndpointScrapeJob.d.ts +79 -0
  49. package/getConnectionsMetricsEndpointScrapeJob.js +50 -0
  50. package/getConnectionsMetricsEndpointScrapeJob.js.map +1 -0
  51. package/getLibraryPanels.d.ts +114 -0
  52. package/getLibraryPanels.js +102 -0
  53. package/getLibraryPanels.js.map +1 -0
  54. package/getOncallUser.d.ts +1 -1
  55. package/getTeam.d.ts +1 -0
  56. package/getTeam.js.map +1 -1
  57. package/getUser.d.ts +2 -0
  58. package/getUser.js +2 -0
  59. package/getUser.js.map +1 -1
  60. package/getUsers.d.ts +2 -0
  61. package/getUsers.js +2 -0
  62. package/getUsers.js.map +1 -1
  63. package/index.d.ts +9 -0
  64. package/index.js +14 -3
  65. package/index.js.map +1 -1
  66. package/machineLearningHoliday.d.ts +42 -0
  67. package/machineLearningHoliday.js +42 -0
  68. package/machineLearningHoliday.js.map +1 -1
  69. package/machineLearningJob.d.ts +137 -9
  70. package/machineLearningJob.js +125 -0
  71. package/machineLearningJob.js.map +1 -1
  72. package/machineLearningOutlierDetector.d.ts +64 -6
  73. package/machineLearningOutlierDetector.js +55 -0
  74. package/machineLearningOutlierDetector.js.map +1 -1
  75. package/machinelearning/alert.d.ts +236 -0
  76. package/machinelearning/alert.js +138 -0
  77. package/machinelearning/alert.js.map +1 -0
  78. package/machinelearning/holiday.d.ts +42 -0
  79. package/machinelearning/holiday.js +42 -0
  80. package/machinelearning/holiday.js.map +1 -1
  81. package/machinelearning/index.d.ts +3 -0
  82. package/machinelearning/index.js +6 -1
  83. package/machinelearning/index.js.map +1 -1
  84. package/machinelearning/job.d.ts +137 -9
  85. package/machinelearning/job.js +125 -0
  86. package/machinelearning/job.js.map +1 -1
  87. package/machinelearning/outlierDetector.d.ts +64 -6
  88. package/machinelearning/outlierDetector.js +55 -0
  89. package/machinelearning/outlierDetector.js.map +1 -1
  90. package/messageTemplate.d.ts +2 -2
  91. package/messageTemplate.js +2 -2
  92. package/muteTiming.d.ts +2 -2
  93. package/muteTiming.js +2 -2
  94. package/notificationPolicy.d.ts +2 -2
  95. package/notificationPolicy.js +2 -2
  96. package/oncall/escalation.d.ts +18 -6
  97. package/oncall/escalation.js +2 -0
  98. package/oncall/escalation.js.map +1 -1
  99. package/oncall/getUser.d.ts +1 -1
  100. package/oncall/getUsers.d.ts +20 -0
  101. package/oncall/getUsers.js +24 -0
  102. package/oncall/getUsers.js.map +1 -0
  103. package/oncall/index.d.ts +3 -0
  104. package/oncall/index.js +4 -1
  105. package/oncall/index.js.map +1 -1
  106. package/oncall/integration.d.ts +1 -1
  107. package/oncall/integration.js +1 -1
  108. package/oncall/onCallShift.d.ts +12 -0
  109. package/oncall/onCallShift.js +2 -0
  110. package/oncall/onCallShift.js.map +1 -1
  111. package/oncallEscalation.d.ts +18 -6
  112. package/oncallEscalation.js +2 -0
  113. package/oncallEscalation.js.map +1 -1
  114. package/oncallIntegration.d.ts +1 -1
  115. package/oncallIntegration.js +1 -1
  116. package/oncallOnCallShift.d.ts +12 -0
  117. package/oncallOnCallShift.js +2 -0
  118. package/oncallOnCallShift.js.map +1 -1
  119. package/organization.d.ts +1 -0
  120. package/organization.js +1 -0
  121. package/organization.js.map +1 -1
  122. package/oss/dashboardPermissionItem.d.ts +3 -3
  123. package/oss/dataSource.d.ts +9 -0
  124. package/oss/dataSource.js +9 -0
  125. package/oss/dataSource.js.map +1 -1
  126. package/oss/folderPermissionItem.d.ts +3 -3
  127. package/oss/getTeam.d.ts +1 -0
  128. package/oss/getTeam.js.map +1 -1
  129. package/oss/getUser.d.ts +2 -0
  130. package/oss/getUser.js +2 -0
  131. package/oss/getUser.js.map +1 -1
  132. package/oss/getUsers.d.ts +2 -0
  133. package/oss/getUsers.js +2 -0
  134. package/oss/getUsers.js.map +1 -1
  135. package/oss/organization.d.ts +1 -0
  136. package/oss/organization.js +1 -0
  137. package/oss/organization.js.map +1 -1
  138. package/oss/serviceAccountPermissionItem.d.ts +3 -3
  139. package/oss/ssoSettings.d.ts +56 -4
  140. package/oss/ssoSettings.js +43 -1
  141. package/oss/ssoSettings.js.map +1 -1
  142. package/oss/team.d.ts +8 -0
  143. package/oss/team.js +2 -0
  144. package/oss/team.js.map +1 -1
  145. package/oss/user.d.ts +1 -0
  146. package/oss/user.js +1 -0
  147. package/oss/user.js.map +1 -1
  148. package/package.json +2 -2
  149. package/provider.d.ts +38 -0
  150. package/provider.js +5 -1
  151. package/provider.js.map +1 -1
  152. package/roleAssignmentItem.d.ts +3 -3
  153. package/ruleGroup.d.ts +1 -1
  154. package/ruleGroup.js +1 -1
  155. package/serviceAccountPermissionItem.d.ts +3 -3
  156. package/slo/slo.d.ts +14 -2
  157. package/slo/slo.js +5 -0
  158. package/slo/slo.js.map +1 -1
  159. package/slo.d.ts +14 -2
  160. package/slo.js +5 -0
  161. package/slo.js.map +1 -1
  162. package/ssoSettings.d.ts +56 -4
  163. package/ssoSettings.js +43 -1
  164. package/ssoSettings.js.map +1 -1
  165. package/team.d.ts +8 -0
  166. package/team.js +2 -0
  167. package/team.js.map +1 -1
  168. package/types/input.d.ts +894 -10
  169. package/types/output.d.ts +837 -14
  170. package/user.d.ts +1 -0
  171. package/user.js +1 -0
  172. package/user.js.map +1 -1
package/types/input.d.ts CHANGED
@@ -1312,9 +1312,13 @@ export interface OncallIntegrationTemplates {
1312
1312
  */
1313
1313
  groupingKey?: pulumi.Input<string>;
1314
1314
  /**
1315
- * Templates for Microsoft Teams.
1315
+ * Templates for Microsoft Teams. **NOTE**: Microsoft Teams templates are only available on Grafana Cloud.
1316
1316
  */
1317
1317
  microsoftTeams?: pulumi.Input<inputs.OncallIntegrationTemplatesMicrosoftTeams>;
1318
+ /**
1319
+ * Templates for Mobile app push notifications.
1320
+ */
1321
+ mobileApp?: pulumi.Input<inputs.OncallIntegrationTemplatesMobileApp>;
1318
1322
  /**
1319
1323
  * Templates for Phone Call.
1320
1324
  */
@@ -1368,6 +1372,16 @@ export interface OncallIntegrationTemplatesMicrosoftTeams {
1368
1372
  */
1369
1373
  title?: pulumi.Input<string>;
1370
1374
  }
1375
+ export interface OncallIntegrationTemplatesMobileApp {
1376
+ /**
1377
+ * Template for Alert message.
1378
+ */
1379
+ message?: pulumi.Input<string>;
1380
+ /**
1381
+ * Template for Alert title.
1382
+ */
1383
+ title?: pulumi.Input<string>;
1384
+ }
1371
1385
  export interface OncallIntegrationTemplatesPhoneCall {
1372
1386
  /**
1373
1387
  * Template for Alert title.
@@ -1538,7 +1552,7 @@ export interface RolePermission {
1538
1552
  }
1539
1553
  export interface RuleGroupRule {
1540
1554
  /**
1541
- * Key-value pairs of metadata to attach to the alert rule that may add user-defined context, but cannot be used for matching, grouping, or routing. Defaults to `map[]`.
1555
+ * Key-value pairs of metadata to attach to the alert rule. They add additional information, such as a `summary` or `runbookUrl`, to help identify and investigate alerts. The `dashboardUId` and `panelId` annotations, which link alerts to a panel, must be set together. Defaults to `map[]`.
1542
1556
  */
1543
1557
  annotations?: pulumi.Input<{
1544
1558
  [key: string]: pulumi.Input<string>;
@@ -1578,9 +1592,13 @@ export interface RuleGroupRule {
1578
1592
  */
1579
1593
  noDataState?: pulumi.Input<string>;
1580
1594
  /**
1581
- * Notification settings for the rule. If specified, it overrides the notification policies. Available since Grafana 10.4, requires feature flag 'alertingSimplifiedRouting' enabled.
1595
+ * Notification settings for the rule. If specified, it overrides the notification policies. Available since Grafana 10.4, requires feature flag 'alertingSimplifiedRouting' to be enabled.
1582
1596
  */
1583
1597
  notificationSettings?: pulumi.Input<inputs.RuleGroupRuleNotificationSettings>;
1598
+ /**
1599
+ * Settings for a recording rule. Available since Grafana 11.2, requires feature flag 'grafanaManagedRecordingRules' to be enabled.
1600
+ */
1601
+ record?: pulumi.Input<inputs.RuleGroupRuleRecord>;
1584
1602
  /**
1585
1603
  * The unique identifier of the alert rule.
1586
1604
  */
@@ -1644,6 +1662,16 @@ export interface RuleGroupRuleNotificationSettings {
1644
1662
  */
1645
1663
  repeatInterval?: pulumi.Input<string>;
1646
1664
  }
1665
+ export interface RuleGroupRuleRecord {
1666
+ /**
1667
+ * The ref id of the query node in the data field to use as the source of the metric.
1668
+ */
1669
+ from: pulumi.Input<string>;
1670
+ /**
1671
+ * The name of the metric to write to.
1672
+ */
1673
+ metric: pulumi.Input<string>;
1674
+ }
1647
1675
  export interface SLOAlerting {
1648
1676
  /**
1649
1677
  * Advanced Options for Alert Rules
@@ -1673,7 +1701,13 @@ export interface SLOAlertingAdvancedOptions {
1673
1701
  minFailures?: pulumi.Input<number>;
1674
1702
  }
1675
1703
  export interface SLOAlertingAnnotation {
1704
+ /**
1705
+ * Key for filtering and identification
1706
+ */
1676
1707
  key: pulumi.Input<string>;
1708
+ /**
1709
+ * Templatable value
1710
+ */
1677
1711
  value: pulumi.Input<string>;
1678
1712
  }
1679
1713
  export interface SLOAlertingFastburn {
@@ -1687,15 +1721,33 @@ export interface SLOAlertingFastburn {
1687
1721
  labels?: pulumi.Input<pulumi.Input<inputs.SLOAlertingFastburnLabel>[]>;
1688
1722
  }
1689
1723
  export interface SLOAlertingFastburnAnnotation {
1724
+ /**
1725
+ * Key for filtering and identification
1726
+ */
1690
1727
  key: pulumi.Input<string>;
1728
+ /**
1729
+ * Templatable value
1730
+ */
1691
1731
  value: pulumi.Input<string>;
1692
1732
  }
1693
1733
  export interface SLOAlertingFastburnLabel {
1734
+ /**
1735
+ * Key for filtering and identification
1736
+ */
1694
1737
  key: pulumi.Input<string>;
1738
+ /**
1739
+ * Templatable value
1740
+ */
1695
1741
  value: pulumi.Input<string>;
1696
1742
  }
1697
1743
  export interface SLOAlertingLabel {
1744
+ /**
1745
+ * Key for filtering and identification
1746
+ */
1698
1747
  key: pulumi.Input<string>;
1748
+ /**
1749
+ * Templatable value
1750
+ */
1699
1751
  value: pulumi.Input<string>;
1700
1752
  }
1701
1753
  export interface SLOAlertingSlowburn {
@@ -1709,21 +1761,39 @@ export interface SLOAlertingSlowburn {
1709
1761
  labels?: pulumi.Input<pulumi.Input<inputs.SLOAlertingSlowburnLabel>[]>;
1710
1762
  }
1711
1763
  export interface SLOAlertingSlowburnAnnotation {
1764
+ /**
1765
+ * Key for filtering and identification
1766
+ */
1712
1767
  key: pulumi.Input<string>;
1768
+ /**
1769
+ * Templatable value
1770
+ */
1713
1771
  value: pulumi.Input<string>;
1714
1772
  }
1715
1773
  export interface SLOAlertingSlowburnLabel {
1774
+ /**
1775
+ * Key for filtering and identification
1776
+ */
1716
1777
  key: pulumi.Input<string>;
1778
+ /**
1779
+ * Templatable value
1780
+ */
1717
1781
  value: pulumi.Input<string>;
1718
1782
  }
1719
1783
  export interface SLODestinationDatasource {
1720
1784
  /**
1721
- * UID for the Mimir Datasource
1785
+ * UID for the Datasource
1722
1786
  */
1723
- uid?: pulumi.Input<string>;
1787
+ uid: pulumi.Input<string>;
1724
1788
  }
1725
1789
  export interface SLOLabel {
1790
+ /**
1791
+ * Key for filtering and identification
1792
+ */
1726
1793
  key: pulumi.Input<string>;
1794
+ /**
1795
+ * Templatable value
1796
+ */
1727
1797
  value: pulumi.Input<string>;
1728
1798
  }
1729
1799
  export interface SLOObjective {
@@ -1778,6 +1848,144 @@ export interface ServiceAccountPermissionPermission {
1778
1848
  */
1779
1849
  userId?: pulumi.Input<string>;
1780
1850
  }
1851
+ export interface SsoSettingsLdapSettings {
1852
+ /**
1853
+ * Whether to allow new Grafana user creation through LDAP login. If set to false, then only existing Grafana users can log in with LDAP.
1854
+ */
1855
+ allowSignUp?: pulumi.Input<boolean>;
1856
+ /**
1857
+ * The LDAP configuration.
1858
+ */
1859
+ config: pulumi.Input<inputs.SsoSettingsLdapSettingsConfig>;
1860
+ /**
1861
+ * Define whether this configuration is enabled for LDAP. Defaults to `true`.
1862
+ */
1863
+ enabled?: pulumi.Input<boolean>;
1864
+ /**
1865
+ * Prevent synchronizing users’ organization roles from LDAP.
1866
+ */
1867
+ skipOrgRoleSync?: pulumi.Input<boolean>;
1868
+ }
1869
+ export interface SsoSettingsLdapSettingsConfig {
1870
+ /**
1871
+ * The LDAP servers configuration.
1872
+ */
1873
+ servers: pulumi.Input<pulumi.Input<inputs.SsoSettingsLdapSettingsConfigServer>[]>;
1874
+ }
1875
+ export interface SsoSettingsLdapSettingsConfigServer {
1876
+ /**
1877
+ * The LDAP server attributes. The following attributes can be configured: email, member_of, name, surname, username.
1878
+ */
1879
+ attributes?: pulumi.Input<{
1880
+ [key: string]: pulumi.Input<string>;
1881
+ }>;
1882
+ /**
1883
+ * The search user bind DN.
1884
+ */
1885
+ bindDn?: pulumi.Input<string>;
1886
+ /**
1887
+ * The search user bind password.
1888
+ */
1889
+ bindPassword?: pulumi.Input<string>;
1890
+ /**
1891
+ * The path to the client certificate.
1892
+ */
1893
+ clientCert?: pulumi.Input<string>;
1894
+ /**
1895
+ * The Base64 encoded value of the client certificate.
1896
+ */
1897
+ clientCertValue?: pulumi.Input<string>;
1898
+ /**
1899
+ * The path to the client private key.
1900
+ */
1901
+ clientKey?: pulumi.Input<string>;
1902
+ /**
1903
+ * The Base64 encoded value of the client private key.
1904
+ */
1905
+ clientKeyValue?: pulumi.Input<string>;
1906
+ /**
1907
+ * For mapping an LDAP group to a Grafana organization and role.
1908
+ */
1909
+ groupMappings?: pulumi.Input<pulumi.Input<inputs.SsoSettingsLdapSettingsConfigServerGroupMapping>[]>;
1910
+ /**
1911
+ * An array of the base DNs to search through for groups. Typically uses ou=groups.
1912
+ */
1913
+ groupSearchBaseDns?: pulumi.Input<pulumi.Input<string>[]>;
1914
+ /**
1915
+ * Group search filter, to retrieve the groups of which the user is a member (only set if memberOf attribute is not available).
1916
+ */
1917
+ groupSearchFilter?: pulumi.Input<string>;
1918
+ /**
1919
+ * The %s in the search filter will be replaced with the attribute defined in this field.
1920
+ */
1921
+ groupSearchFilterUserAttribute?: pulumi.Input<string>;
1922
+ /**
1923
+ * The LDAP server host.
1924
+ */
1925
+ host: pulumi.Input<string>;
1926
+ /**
1927
+ * Minimum TLS version allowed. Accepted values are: TLS1.2, TLS1.3.
1928
+ */
1929
+ minTlsVersion?: pulumi.Input<string>;
1930
+ /**
1931
+ * The LDAP server port.
1932
+ */
1933
+ port?: pulumi.Input<number>;
1934
+ /**
1935
+ * The path to the root CA certificate.
1936
+ */
1937
+ rootCaCert?: pulumi.Input<string>;
1938
+ /**
1939
+ * The Base64 encoded values of the root CA certificates.
1940
+ */
1941
+ rootCaCertValues?: pulumi.Input<pulumi.Input<string>[]>;
1942
+ /**
1943
+ * An array of base DNs to search through.
1944
+ */
1945
+ searchBaseDns: pulumi.Input<pulumi.Input<string>[]>;
1946
+ /**
1947
+ * The user search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)".
1948
+ */
1949
+ searchFilter: pulumi.Input<string>;
1950
+ /**
1951
+ * If set to true, the SSL cert validation will be skipped.
1952
+ */
1953
+ sslSkipVerify?: pulumi.Input<boolean>;
1954
+ /**
1955
+ * If set to true, use LDAP with STARTTLS instead of LDAPS.
1956
+ */
1957
+ startTls?: pulumi.Input<boolean>;
1958
+ /**
1959
+ * The timeout in seconds for connecting to the LDAP host.
1960
+ */
1961
+ timeout?: pulumi.Input<number>;
1962
+ /**
1963
+ * Accepted TLS ciphers. For a complete list of supported ciphers, refer to: https://go.dev/src/crypto/tls/cipher_suites.go.
1964
+ */
1965
+ tlsCiphers?: pulumi.Input<pulumi.Input<string>[]>;
1966
+ /**
1967
+ * Set to true if LDAP server should use an encrypted TLS connection (either with STARTTLS or LDAPS).
1968
+ */
1969
+ useSsl?: pulumi.Input<boolean>;
1970
+ }
1971
+ export interface SsoSettingsLdapSettingsConfigServerGroupMapping {
1972
+ /**
1973
+ * If set to true, it makes the user of groupDn Grafana server admin.
1974
+ */
1975
+ grafanaAdmin?: pulumi.Input<boolean>;
1976
+ /**
1977
+ * LDAP distinguished name (DN) of LDAP group. If you want to match all (or no LDAP groups) then you can use wildcard ("*").
1978
+ */
1979
+ groupDn: pulumi.Input<string>;
1980
+ /**
1981
+ * The Grafana organization database id.
1982
+ */
1983
+ orgId?: pulumi.Input<number>;
1984
+ /**
1985
+ * Assign users of groupDn the organization role Admin, Editor, or Viewer.
1986
+ */
1987
+ orgRole: pulumi.Input<string>;
1988
+ }
1781
1989
  export interface SsoSettingsOauth2Settings {
1782
1990
  /**
1783
1991
  * If enabled, it will automatically sync the Grafana server administrator role.
@@ -1873,6 +2081,14 @@ export interface SsoSettingsOauth2Settings {
1873
2081
  * JMESPath expression to use for user name lookup from the user ID token. This name will be used as the user’s display name. Only applicable to Generic OAuth.
1874
2082
  */
1875
2083
  nameAttributePath?: pulumi.Input<string>;
2084
+ /**
2085
+ * JMESPath expression to use for the organization mapping lookup from the user ID token. The extracted list will be used for the organization mapping (to match "Organization" in the "orgMapping"). Only applicable to Generic OAuth and Okta.
2086
+ */
2087
+ orgAttributePath?: pulumi.Input<string>;
2088
+ /**
2089
+ * List of comma- or space-separated Organization:OrgIdOrOrgName:Role mappings. Organization can be * meaning “All users”. Role is optional and can have the following values: None, Viewer, Editor or Admin.
2090
+ */
2091
+ orgMapping?: pulumi.Input<string>;
1876
2092
  /**
1877
2093
  * JMESPath expression to use for Grafana role lookup.
1878
2094
  */
@@ -1983,10 +2199,26 @@ export interface SsoSettingsSamlSettings {
1983
2199
  * Path for the SP X.509 certificate.
1984
2200
  */
1985
2201
  certificatePath?: pulumi.Input<string>;
2202
+ /**
2203
+ * The client Id of your OAuth2 app.
2204
+ */
2205
+ clientId?: pulumi.Input<string>;
2206
+ /**
2207
+ * The client secret of your OAuth2 app.
2208
+ */
2209
+ clientSecret?: pulumi.Input<string>;
1986
2210
  /**
1987
2211
  * Define whether this configuration is enabled for SAML. Defaults to `true`.
1988
2212
  */
1989
2213
  enabled?: pulumi.Input<boolean>;
2214
+ /**
2215
+ * The entity ID is a globally unique identifier for the service provider. It is used to identify the service provider to the identity provider. Defaults to the URL of the Grafana instance if not set.
2216
+ */
2217
+ entityId?: pulumi.Input<string>;
2218
+ /**
2219
+ * If enabled, Grafana will fetch groups from Microsoft Graph API instead of using the groups claim from the ID token.
2220
+ */
2221
+ forceUseGraphApi?: pulumi.Input<boolean>;
1990
2222
  /**
1991
2223
  * Base64-encoded string for the IdP SAML metadata XML.
1992
2224
  */
@@ -2063,6 +2295,10 @@ export interface SsoSettingsSamlSettings {
2063
2295
  * Prevent synchronizing users’ organization roles from your IdP.
2064
2296
  */
2065
2297
  skipOrgRoleSync?: pulumi.Input<boolean>;
2298
+ /**
2299
+ * The token endpoint of your OAuth2 provider. Required for Azure AD providers.
2300
+ */
2301
+ tokenUrl?: pulumi.Input<string>;
2066
2302
  }
2067
2303
  export interface SyntheticMonitoringCheckSettings {
2068
2304
  /**
@@ -3728,7 +3964,7 @@ export declare namespace alerting {
3728
3964
  }
3729
3965
  interface RuleGroupRule {
3730
3966
  /**
3731
- * Key-value pairs of metadata to attach to the alert rule that may add user-defined context, but cannot be used for matching, grouping, or routing. Defaults to `map[]`.
3967
+ * Key-value pairs of metadata to attach to the alert rule. They add additional information, such as a `summary` or `runbookUrl`, to help identify and investigate alerts. The `dashboardUId` and `panelId` annotations, which link alerts to a panel, must be set together. Defaults to `map[]`.
3732
3968
  */
3733
3969
  annotations?: pulumi.Input<{
3734
3970
  [key: string]: pulumi.Input<string>;
@@ -3768,9 +4004,13 @@ export declare namespace alerting {
3768
4004
  */
3769
4005
  noDataState?: pulumi.Input<string>;
3770
4006
  /**
3771
- * Notification settings for the rule. If specified, it overrides the notification policies. Available since Grafana 10.4, requires feature flag 'alertingSimplifiedRouting' enabled.
4007
+ * Notification settings for the rule. If specified, it overrides the notification policies. Available since Grafana 10.4, requires feature flag 'alertingSimplifiedRouting' to be enabled.
3772
4008
  */
3773
4009
  notificationSettings?: pulumi.Input<inputs.alerting.RuleGroupRuleNotificationSettings>;
4010
+ /**
4011
+ * Settings for a recording rule. Available since Grafana 11.2, requires feature flag 'grafanaManagedRecordingRules' to be enabled.
4012
+ */
4013
+ record?: pulumi.Input<inputs.alerting.RuleGroupRuleRecord>;
3774
4014
  /**
3775
4015
  * The unique identifier of the alert rule.
3776
4016
  */
@@ -3834,6 +4074,16 @@ export declare namespace alerting {
3834
4074
  */
3835
4075
  repeatInterval?: pulumi.Input<string>;
3836
4076
  }
4077
+ interface RuleGroupRuleRecord {
4078
+ /**
4079
+ * The ref id of the query node in the data field to use as the source of the metric.
4080
+ */
4081
+ from: pulumi.Input<string>;
4082
+ /**
4083
+ * The name of the metric to write to.
4084
+ */
4085
+ metric: pulumi.Input<string>;
4086
+ }
3837
4087
  }
3838
4088
  export declare namespace cloud {
3839
4089
  interface AccessPolicyRealm {
@@ -3853,6 +4103,418 @@ export declare namespace cloud {
3853
4103
  */
3854
4104
  selector: pulumi.Input<string>;
3855
4105
  }
4106
+ interface GetProviderAwsCloudwatchScrapeJobCustomNamespace {
4107
+ /**
4108
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4109
+ */
4110
+ metrics?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetric[];
4111
+ /**
4112
+ * The name of the custom namespace to scrape.
4113
+ */
4114
+ name?: string;
4115
+ /**
4116
+ * The interval in seconds to scrape the custom namespace.
4117
+ */
4118
+ scrapeIntervalSeconds?: number;
4119
+ }
4120
+ interface GetProviderAwsCloudwatchScrapeJobCustomNamespaceArgs {
4121
+ /**
4122
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4123
+ */
4124
+ metrics?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetricArgs>[]>;
4125
+ /**
4126
+ * The name of the custom namespace to scrape.
4127
+ */
4128
+ name?: pulumi.Input<string>;
4129
+ /**
4130
+ * The interval in seconds to scrape the custom namespace.
4131
+ */
4132
+ scrapeIntervalSeconds?: pulumi.Input<number>;
4133
+ }
4134
+ interface GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetric {
4135
+ /**
4136
+ * The name of the metric to scrape.
4137
+ */
4138
+ name?: string;
4139
+ /**
4140
+ * A set of statistics to scrape.
4141
+ */
4142
+ statistics?: string[];
4143
+ }
4144
+ interface GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetricArgs {
4145
+ /**
4146
+ * The name of the metric to scrape.
4147
+ */
4148
+ name?: pulumi.Input<string>;
4149
+ /**
4150
+ * A set of statistics to scrape.
4151
+ */
4152
+ statistics?: pulumi.Input<pulumi.Input<string>[]>;
4153
+ }
4154
+ interface GetProviderAwsCloudwatchScrapeJobService {
4155
+ /**
4156
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4157
+ */
4158
+ metrics?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobServiceMetric[];
4159
+ /**
4160
+ * The name of the service to scrape. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported services, metrics, and their statistics.
4161
+ */
4162
+ name?: string;
4163
+ /**
4164
+ * One or more configuration blocks to configure tag filters applied to discovery of resource entities in the associated AWS account. When accessing this as an attribute reference, it is a list of objects.
4165
+ */
4166
+ resourceDiscoveryTagFilters?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobServiceResourceDiscoveryTagFilter[];
4167
+ /**
4168
+ * The interval in seconds to scrape the service. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported scrape intervals.
4169
+ */
4170
+ scrapeIntervalSeconds?: number;
4171
+ /**
4172
+ * A set of tags to add to all metrics exported by this scrape job, for use in PromQL queries.
4173
+ */
4174
+ tagsToAddToMetrics?: string[];
4175
+ }
4176
+ interface GetProviderAwsCloudwatchScrapeJobServiceArgs {
4177
+ /**
4178
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4179
+ */
4180
+ metrics?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobServiceMetricArgs>[]>;
4181
+ /**
4182
+ * The name of the service to scrape. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported services, metrics, and their statistics.
4183
+ */
4184
+ name?: pulumi.Input<string>;
4185
+ /**
4186
+ * One or more configuration blocks to configure tag filters applied to discovery of resource entities in the associated AWS account. When accessing this as an attribute reference, it is a list of objects.
4187
+ */
4188
+ resourceDiscoveryTagFilters?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobServiceResourceDiscoveryTagFilterArgs>[]>;
4189
+ /**
4190
+ * The interval in seconds to scrape the service. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported scrape intervals.
4191
+ */
4192
+ scrapeIntervalSeconds?: pulumi.Input<number>;
4193
+ /**
4194
+ * A set of tags to add to all metrics exported by this scrape job, for use in PromQL queries.
4195
+ */
4196
+ tagsToAddToMetrics?: pulumi.Input<pulumi.Input<string>[]>;
4197
+ }
4198
+ interface GetProviderAwsCloudwatchScrapeJobServiceMetric {
4199
+ /**
4200
+ * The name of the metric to scrape.
4201
+ */
4202
+ name?: string;
4203
+ /**
4204
+ * A set of statistics to scrape.
4205
+ */
4206
+ statistics?: string[];
4207
+ }
4208
+ interface GetProviderAwsCloudwatchScrapeJobServiceMetricArgs {
4209
+ /**
4210
+ * The name of the metric to scrape.
4211
+ */
4212
+ name?: pulumi.Input<string>;
4213
+ /**
4214
+ * A set of statistics to scrape.
4215
+ */
4216
+ statistics?: pulumi.Input<pulumi.Input<string>[]>;
4217
+ }
4218
+ interface GetProviderAwsCloudwatchScrapeJobServiceResourceDiscoveryTagFilter {
4219
+ /**
4220
+ * The key of the tag filter.
4221
+ */
4222
+ key?: string;
4223
+ /**
4224
+ * The value of the tag filter.
4225
+ */
4226
+ value?: string;
4227
+ }
4228
+ interface GetProviderAwsCloudwatchScrapeJobServiceResourceDiscoveryTagFilterArgs {
4229
+ /**
4230
+ * The key of the tag filter.
4231
+ */
4232
+ key?: pulumi.Input<string>;
4233
+ /**
4234
+ * The value of the tag filter.
4235
+ */
4236
+ value?: pulumi.Input<string>;
4237
+ }
4238
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJob {
4239
+ /**
4240
+ * The ID assigned by the Grafana Cloud Provider API to an AWS Account resource that should be associated with this CloudWatch Scrape Job. This can be provided by the `resourceId` attribute of the `grafana.cloud.ProviderAwsAccount` resource.
4241
+ */
4242
+ awsAccountResourceId?: string;
4243
+ /**
4244
+ * Zero or more configuration blocks to configure custom namespaces for the CloudWatch Scrape Job to scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
4245
+ */
4246
+ customNamespaces?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespace[];
4247
+ /**
4248
+ * When the CloudWatch Scrape Job is disabled, this will show the reason that it is in that state.
4249
+ */
4250
+ disabledReason?: string;
4251
+ /**
4252
+ * Whether the CloudWatch Scrape Job is enabled or not.
4253
+ */
4254
+ enabled?: boolean;
4255
+ /**
4256
+ * When enabled, AWS resource tags are exported as Prometheus labels to metrics formatted as `aws_<service_name>_info`.
4257
+ */
4258
+ exportTags?: boolean;
4259
+ id?: string;
4260
+ name?: string;
4261
+ /**
4262
+ * The set of AWS region names that this CloudWatch Scrape Job is configured to scrape.
4263
+ */
4264
+ regions?: string[];
4265
+ /**
4266
+ * When true, the `regions` attribute will be the set of regions configured in the override. When false, the `regions` attribute will be the set of regions belonging to the AWS Account resource that is associated with this CloudWatch Scrape Job.
4267
+ */
4268
+ regionsSubsetOverrideUsed?: boolean;
4269
+ /**
4270
+ * The AWS ARN of the IAM role associated with the AWS Account resource that is being used by this CloudWatch Scrape Job.
4271
+ */
4272
+ roleArn?: string;
4273
+ /**
4274
+ * One or more configuration blocks to dictate what this CloudWatch Scrape Job should scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
4275
+ */
4276
+ services?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobService[];
4277
+ stackId?: string;
4278
+ }
4279
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobArgs {
4280
+ /**
4281
+ * The ID assigned by the Grafana Cloud Provider API to an AWS Account resource that should be associated with this CloudWatch Scrape Job. This can be provided by the `resourceId` attribute of the `grafana.cloud.ProviderAwsAccount` resource.
4282
+ */
4283
+ awsAccountResourceId?: pulumi.Input<string>;
4284
+ /**
4285
+ * Zero or more configuration blocks to configure custom namespaces for the CloudWatch Scrape Job to scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
4286
+ */
4287
+ customNamespaces?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespaceArgs>[]>;
4288
+ /**
4289
+ * When the CloudWatch Scrape Job is disabled, this will show the reason that it is in that state.
4290
+ */
4291
+ disabledReason?: pulumi.Input<string>;
4292
+ /**
4293
+ * Whether the CloudWatch Scrape Job is enabled or not.
4294
+ */
4295
+ enabled?: pulumi.Input<boolean>;
4296
+ /**
4297
+ * When enabled, AWS resource tags are exported as Prometheus labels to metrics formatted as `aws_<service_name>_info`.
4298
+ */
4299
+ exportTags?: pulumi.Input<boolean>;
4300
+ id?: pulumi.Input<string>;
4301
+ name?: pulumi.Input<string>;
4302
+ /**
4303
+ * The set of AWS region names that this CloudWatch Scrape Job is configured to scrape.
4304
+ */
4305
+ regions?: pulumi.Input<pulumi.Input<string>[]>;
4306
+ /**
4307
+ * When true, the `regions` attribute will be the set of regions configured in the override. When false, the `regions` attribute will be the set of regions belonging to the AWS Account resource that is associated with this CloudWatch Scrape Job.
4308
+ */
4309
+ regionsSubsetOverrideUsed?: pulumi.Input<boolean>;
4310
+ /**
4311
+ * The AWS ARN of the IAM role associated with the AWS Account resource that is being used by this CloudWatch Scrape Job.
4312
+ */
4313
+ roleArn?: pulumi.Input<string>;
4314
+ /**
4315
+ * One or more configuration blocks to dictate what this CloudWatch Scrape Job should scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
4316
+ */
4317
+ services?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceArgs>[]>;
4318
+ stackId?: pulumi.Input<string>;
4319
+ }
4320
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespace {
4321
+ /**
4322
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4323
+ */
4324
+ metrics?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespaceMetric[];
4325
+ /**
4326
+ * The name of the custom namespace to scrape.
4327
+ */
4328
+ name?: string;
4329
+ /**
4330
+ * The interval in seconds to scrape the custom namespace.
4331
+ */
4332
+ scrapeIntervalSeconds?: number;
4333
+ }
4334
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespaceArgs {
4335
+ /**
4336
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4337
+ */
4338
+ metrics?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespaceMetricArgs>[]>;
4339
+ /**
4340
+ * The name of the custom namespace to scrape.
4341
+ */
4342
+ name?: pulumi.Input<string>;
4343
+ /**
4344
+ * The interval in seconds to scrape the custom namespace.
4345
+ */
4346
+ scrapeIntervalSeconds?: pulumi.Input<number>;
4347
+ }
4348
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespaceMetric {
4349
+ /**
4350
+ * The name of the metric to scrape.
4351
+ */
4352
+ name?: string;
4353
+ /**
4354
+ * A set of statistics to scrape.
4355
+ */
4356
+ statistics?: string[];
4357
+ }
4358
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobCustomNamespaceMetricArgs {
4359
+ /**
4360
+ * The name of the metric to scrape.
4361
+ */
4362
+ name?: pulumi.Input<string>;
4363
+ /**
4364
+ * A set of statistics to scrape.
4365
+ */
4366
+ statistics?: pulumi.Input<pulumi.Input<string>[]>;
4367
+ }
4368
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobService {
4369
+ /**
4370
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4371
+ */
4372
+ metrics?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceMetric[];
4373
+ /**
4374
+ * The name of the service to scrape. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported services, metrics, and their statistics.
4375
+ */
4376
+ name?: string;
4377
+ /**
4378
+ * One or more configuration blocks to configure tag filters applied to discovery of resource entities in the associated AWS account. When accessing this as an attribute reference, it is a list of objects.
4379
+ */
4380
+ resourceDiscoveryTagFilters?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceResourceDiscoveryTagFilter[];
4381
+ /**
4382
+ * The interval in seconds to scrape the service. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported scrape intervals.
4383
+ */
4384
+ scrapeIntervalSeconds?: number;
4385
+ /**
4386
+ * A set of tags to add to all metrics exported by this scrape job, for use in PromQL queries.
4387
+ */
4388
+ tagsToAddToMetrics?: string[];
4389
+ }
4390
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceArgs {
4391
+ /**
4392
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4393
+ */
4394
+ metrics?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceMetricArgs>[]>;
4395
+ /**
4396
+ * The name of the service to scrape. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported services, metrics, and their statistics.
4397
+ */
4398
+ name?: pulumi.Input<string>;
4399
+ /**
4400
+ * One or more configuration blocks to configure tag filters applied to discovery of resource entities in the associated AWS account. When accessing this as an attribute reference, it is a list of objects.
4401
+ */
4402
+ resourceDiscoveryTagFilters?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceResourceDiscoveryTagFilterArgs>[]>;
4403
+ /**
4404
+ * The interval in seconds to scrape the service. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported scrape intervals.
4405
+ */
4406
+ scrapeIntervalSeconds?: pulumi.Input<number>;
4407
+ /**
4408
+ * A set of tags to add to all metrics exported by this scrape job, for use in PromQL queries.
4409
+ */
4410
+ tagsToAddToMetrics?: pulumi.Input<pulumi.Input<string>[]>;
4411
+ }
4412
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceMetric {
4413
+ /**
4414
+ * The name of the metric to scrape.
4415
+ */
4416
+ name?: string;
4417
+ /**
4418
+ * A set of statistics to scrape.
4419
+ */
4420
+ statistics?: string[];
4421
+ }
4422
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceMetricArgs {
4423
+ /**
4424
+ * The name of the metric to scrape.
4425
+ */
4426
+ name?: pulumi.Input<string>;
4427
+ /**
4428
+ * A set of statistics to scrape.
4429
+ */
4430
+ statistics?: pulumi.Input<pulumi.Input<string>[]>;
4431
+ }
4432
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceResourceDiscoveryTagFilter {
4433
+ /**
4434
+ * The key of the tag filter.
4435
+ */
4436
+ key?: string;
4437
+ /**
4438
+ * The value of the tag filter.
4439
+ */
4440
+ value?: string;
4441
+ }
4442
+ interface GetProviderAwsCloudwatchScrapeJobsScrapeJobServiceResourceDiscoveryTagFilterArgs {
4443
+ /**
4444
+ * The key of the tag filter.
4445
+ */
4446
+ key?: pulumi.Input<string>;
4447
+ /**
4448
+ * The value of the tag filter.
4449
+ */
4450
+ value?: pulumi.Input<string>;
4451
+ }
4452
+ interface ProviderAwsCloudwatchScrapeJobCustomNamespace {
4453
+ /**
4454
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4455
+ */
4456
+ metrics?: pulumi.Input<pulumi.Input<inputs.cloud.ProviderAwsCloudwatchScrapeJobCustomNamespaceMetric>[]>;
4457
+ /**
4458
+ * The name of the custom namespace to scrape.
4459
+ */
4460
+ name: pulumi.Input<string>;
4461
+ /**
4462
+ * The interval in seconds to scrape the custom namespace.
4463
+ */
4464
+ scrapeIntervalSeconds?: pulumi.Input<number>;
4465
+ }
4466
+ interface ProviderAwsCloudwatchScrapeJobCustomNamespaceMetric {
4467
+ /**
4468
+ * The name of the metric to scrape.
4469
+ */
4470
+ name: pulumi.Input<string>;
4471
+ /**
4472
+ * A set of statistics to scrape.
4473
+ */
4474
+ statistics: pulumi.Input<pulumi.Input<string>[]>;
4475
+ }
4476
+ interface ProviderAwsCloudwatchScrapeJobService {
4477
+ /**
4478
+ * One or more configuration blocks to configure metrics and their statistics to scrape. Please note that AWS metric names must be supplied, and not their PromQL counterparts. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
4479
+ */
4480
+ metrics?: pulumi.Input<pulumi.Input<inputs.cloud.ProviderAwsCloudwatchScrapeJobServiceMetric>[]>;
4481
+ /**
4482
+ * The name of the service to scrape. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported services.
4483
+ */
4484
+ name: pulumi.Input<string>;
4485
+ /**
4486
+ * One or more configuration blocks to configure tag filters applied to discovery of resource entities in the associated AWS account. When accessing this as an attribute reference, it is a list of objects.
4487
+ */
4488
+ resourceDiscoveryTagFilters?: pulumi.Input<pulumi.Input<inputs.cloud.ProviderAwsCloudwatchScrapeJobServiceResourceDiscoveryTagFilter>[]>;
4489
+ /**
4490
+ * The interval in seconds to scrape the service. See https://grafana.com/docs/grafana-cloud/monitor-infrastructure/aws/cloudwatch-metrics/services/ for supported scrape intervals.
4491
+ */
4492
+ scrapeIntervalSeconds?: pulumi.Input<number>;
4493
+ /**
4494
+ * A set of tags to add to all metrics exported by this scrape job, for use in PromQL queries.
4495
+ */
4496
+ tagsToAddToMetrics?: pulumi.Input<pulumi.Input<string>[]>;
4497
+ }
4498
+ interface ProviderAwsCloudwatchScrapeJobServiceMetric {
4499
+ /**
4500
+ * The name of the metric to scrape.
4501
+ */
4502
+ name: pulumi.Input<string>;
4503
+ /**
4504
+ * A set of statistics to scrape.
4505
+ */
4506
+ statistics: pulumi.Input<pulumi.Input<string>[]>;
4507
+ }
4508
+ interface ProviderAwsCloudwatchScrapeJobServiceResourceDiscoveryTagFilter {
4509
+ /**
4510
+ * The key of the tag filter.
4511
+ */
4512
+ key: pulumi.Input<string>;
4513
+ /**
4514
+ * The value of the tag filter.
4515
+ */
4516
+ value: pulumi.Input<string>;
4517
+ }
3856
4518
  }
3857
4519
  export declare namespace enterprise {
3858
4520
  interface DataSourcePermissionPermission {
@@ -4035,9 +4697,13 @@ export declare namespace onCall {
4035
4697
  */
4036
4698
  groupingKey?: pulumi.Input<string>;
4037
4699
  /**
4038
- * Templates for Microsoft Teams.
4700
+ * Templates for Microsoft Teams. **NOTE**: Microsoft Teams templates are only available on Grafana Cloud.
4039
4701
  */
4040
4702
  microsoftTeams?: pulumi.Input<inputs.onCall.IntegrationTemplatesMicrosoftTeams>;
4703
+ /**
4704
+ * Templates for Mobile app push notifications.
4705
+ */
4706
+ mobileApp?: pulumi.Input<inputs.onCall.IntegrationTemplatesMobileApp>;
4041
4707
  /**
4042
4708
  * Templates for Phone Call.
4043
4709
  */
@@ -4091,6 +4757,16 @@ export declare namespace onCall {
4091
4757
  */
4092
4758
  title?: pulumi.Input<string>;
4093
4759
  }
4760
+ interface IntegrationTemplatesMobileApp {
4761
+ /**
4762
+ * Template for Alert message.
4763
+ */
4764
+ message?: pulumi.Input<string>;
4765
+ /**
4766
+ * Template for Alert title.
4767
+ */
4768
+ title?: pulumi.Input<string>;
4769
+ }
4094
4770
  interface IntegrationTemplatesPhoneCall {
4095
4771
  /**
4096
4772
  * Template for Alert title.
@@ -4244,6 +4920,144 @@ export declare namespace oss {
4244
4920
  */
4245
4921
  userId?: pulumi.Input<string>;
4246
4922
  }
4923
+ interface SsoSettingsLdapSettings {
4924
+ /**
4925
+ * Whether to allow new Grafana user creation through LDAP login. If set to false, then only existing Grafana users can log in with LDAP.
4926
+ */
4927
+ allowSignUp?: pulumi.Input<boolean>;
4928
+ /**
4929
+ * The LDAP configuration.
4930
+ */
4931
+ config: pulumi.Input<inputs.oss.SsoSettingsLdapSettingsConfig>;
4932
+ /**
4933
+ * Define whether this configuration is enabled for LDAP. Defaults to `true`.
4934
+ */
4935
+ enabled?: pulumi.Input<boolean>;
4936
+ /**
4937
+ * Prevent synchronizing users’ organization roles from LDAP.
4938
+ */
4939
+ skipOrgRoleSync?: pulumi.Input<boolean>;
4940
+ }
4941
+ interface SsoSettingsLdapSettingsConfig {
4942
+ /**
4943
+ * The LDAP servers configuration.
4944
+ */
4945
+ servers: pulumi.Input<pulumi.Input<inputs.oss.SsoSettingsLdapSettingsConfigServer>[]>;
4946
+ }
4947
+ interface SsoSettingsLdapSettingsConfigServer {
4948
+ /**
4949
+ * The LDAP server attributes. The following attributes can be configured: email, member_of, name, surname, username.
4950
+ */
4951
+ attributes?: pulumi.Input<{
4952
+ [key: string]: pulumi.Input<string>;
4953
+ }>;
4954
+ /**
4955
+ * The search user bind DN.
4956
+ */
4957
+ bindDn?: pulumi.Input<string>;
4958
+ /**
4959
+ * The search user bind password.
4960
+ */
4961
+ bindPassword?: pulumi.Input<string>;
4962
+ /**
4963
+ * The path to the client certificate.
4964
+ */
4965
+ clientCert?: pulumi.Input<string>;
4966
+ /**
4967
+ * The Base64 encoded value of the client certificate.
4968
+ */
4969
+ clientCertValue?: pulumi.Input<string>;
4970
+ /**
4971
+ * The path to the client private key.
4972
+ */
4973
+ clientKey?: pulumi.Input<string>;
4974
+ /**
4975
+ * The Base64 encoded value of the client private key.
4976
+ */
4977
+ clientKeyValue?: pulumi.Input<string>;
4978
+ /**
4979
+ * For mapping an LDAP group to a Grafana organization and role.
4980
+ */
4981
+ groupMappings?: pulumi.Input<pulumi.Input<inputs.oss.SsoSettingsLdapSettingsConfigServerGroupMapping>[]>;
4982
+ /**
4983
+ * An array of the base DNs to search through for groups. Typically uses ou=groups.
4984
+ */
4985
+ groupSearchBaseDns?: pulumi.Input<pulumi.Input<string>[]>;
4986
+ /**
4987
+ * Group search filter, to retrieve the groups of which the user is a member (only set if memberOf attribute is not available).
4988
+ */
4989
+ groupSearchFilter?: pulumi.Input<string>;
4990
+ /**
4991
+ * The %s in the search filter will be replaced with the attribute defined in this field.
4992
+ */
4993
+ groupSearchFilterUserAttribute?: pulumi.Input<string>;
4994
+ /**
4995
+ * The LDAP server host.
4996
+ */
4997
+ host: pulumi.Input<string>;
4998
+ /**
4999
+ * Minimum TLS version allowed. Accepted values are: TLS1.2, TLS1.3.
5000
+ */
5001
+ minTlsVersion?: pulumi.Input<string>;
5002
+ /**
5003
+ * The LDAP server port.
5004
+ */
5005
+ port?: pulumi.Input<number>;
5006
+ /**
5007
+ * The path to the root CA certificate.
5008
+ */
5009
+ rootCaCert?: pulumi.Input<string>;
5010
+ /**
5011
+ * The Base64 encoded values of the root CA certificates.
5012
+ */
5013
+ rootCaCertValues?: pulumi.Input<pulumi.Input<string>[]>;
5014
+ /**
5015
+ * An array of base DNs to search through.
5016
+ */
5017
+ searchBaseDns: pulumi.Input<pulumi.Input<string>[]>;
5018
+ /**
5019
+ * The user search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)".
5020
+ */
5021
+ searchFilter: pulumi.Input<string>;
5022
+ /**
5023
+ * If set to true, the SSL cert validation will be skipped.
5024
+ */
5025
+ sslSkipVerify?: pulumi.Input<boolean>;
5026
+ /**
5027
+ * If set to true, use LDAP with STARTTLS instead of LDAPS.
5028
+ */
5029
+ startTls?: pulumi.Input<boolean>;
5030
+ /**
5031
+ * The timeout in seconds for connecting to the LDAP host.
5032
+ */
5033
+ timeout?: pulumi.Input<number>;
5034
+ /**
5035
+ * Accepted TLS ciphers. For a complete list of supported ciphers, refer to: https://go.dev/src/crypto/tls/cipher_suites.go.
5036
+ */
5037
+ tlsCiphers?: pulumi.Input<pulumi.Input<string>[]>;
5038
+ /**
5039
+ * Set to true if LDAP server should use an encrypted TLS connection (either with STARTTLS or LDAPS).
5040
+ */
5041
+ useSsl?: pulumi.Input<boolean>;
5042
+ }
5043
+ interface SsoSettingsLdapSettingsConfigServerGroupMapping {
5044
+ /**
5045
+ * If set to true, it makes the user of groupDn Grafana server admin.
5046
+ */
5047
+ grafanaAdmin?: pulumi.Input<boolean>;
5048
+ /**
5049
+ * LDAP distinguished name (DN) of LDAP group. If you want to match all (or no LDAP groups) then you can use wildcard ("*").
5050
+ */
5051
+ groupDn: pulumi.Input<string>;
5052
+ /**
5053
+ * The Grafana organization database id.
5054
+ */
5055
+ orgId?: pulumi.Input<number>;
5056
+ /**
5057
+ * Assign users of groupDn the organization role Admin, Editor, or Viewer.
5058
+ */
5059
+ orgRole: pulumi.Input<string>;
5060
+ }
4247
5061
  interface SsoSettingsOauth2Settings {
4248
5062
  /**
4249
5063
  * If enabled, it will automatically sync the Grafana server administrator role.
@@ -4339,6 +5153,14 @@ export declare namespace oss {
4339
5153
  * JMESPath expression to use for user name lookup from the user ID token. This name will be used as the user’s display name. Only applicable to Generic OAuth.
4340
5154
  */
4341
5155
  nameAttributePath?: pulumi.Input<string>;
5156
+ /**
5157
+ * JMESPath expression to use for the organization mapping lookup from the user ID token. The extracted list will be used for the organization mapping (to match "Organization" in the "orgMapping"). Only applicable to Generic OAuth and Okta.
5158
+ */
5159
+ orgAttributePath?: pulumi.Input<string>;
5160
+ /**
5161
+ * List of comma- or space-separated Organization:OrgIdOrOrgName:Role mappings. Organization can be * meaning “All users”. Role is optional and can have the following values: None, Viewer, Editor or Admin.
5162
+ */
5163
+ orgMapping?: pulumi.Input<string>;
4342
5164
  /**
4343
5165
  * JMESPath expression to use for Grafana role lookup.
4344
5166
  */
@@ -4449,10 +5271,26 @@ export declare namespace oss {
4449
5271
  * Path for the SP X.509 certificate.
4450
5272
  */
4451
5273
  certificatePath?: pulumi.Input<string>;
5274
+ /**
5275
+ * The client Id of your OAuth2 app.
5276
+ */
5277
+ clientId?: pulumi.Input<string>;
5278
+ /**
5279
+ * The client secret of your OAuth2 app.
5280
+ */
5281
+ clientSecret?: pulumi.Input<string>;
4452
5282
  /**
4453
5283
  * Define whether this configuration is enabled for SAML. Defaults to `true`.
4454
5284
  */
4455
5285
  enabled?: pulumi.Input<boolean>;
5286
+ /**
5287
+ * The entity ID is a globally unique identifier for the service provider. It is used to identify the service provider to the identity provider. Defaults to the URL of the Grafana instance if not set.
5288
+ */
5289
+ entityId?: pulumi.Input<string>;
5290
+ /**
5291
+ * If enabled, Grafana will fetch groups from Microsoft Graph API instead of using the groups claim from the ID token.
5292
+ */
5293
+ forceUseGraphApi?: pulumi.Input<boolean>;
4456
5294
  /**
4457
5295
  * Base64-encoded string for the IdP SAML metadata XML.
4458
5296
  */
@@ -4529,6 +5367,10 @@ export declare namespace oss {
4529
5367
  * Prevent synchronizing users’ organization roles from your IdP.
4530
5368
  */
4531
5369
  skipOrgRoleSync?: pulumi.Input<boolean>;
5370
+ /**
5371
+ * The token endpoint of your OAuth2 provider. Required for Azure AD providers.
5372
+ */
5373
+ tokenUrl?: pulumi.Input<string>;
4532
5374
  }
4533
5375
  interface TeamPreferences {
4534
5376
  /**
@@ -4582,7 +5424,13 @@ export declare namespace slo {
4582
5424
  minFailures?: pulumi.Input<number>;
4583
5425
  }
4584
5426
  interface SLOAlertingAnnotation {
5427
+ /**
5428
+ * Key for filtering and identification
5429
+ */
4585
5430
  key: pulumi.Input<string>;
5431
+ /**
5432
+ * Templatable value
5433
+ */
4586
5434
  value: pulumi.Input<string>;
4587
5435
  }
4588
5436
  interface SLOAlertingFastburn {
@@ -4596,15 +5444,33 @@ export declare namespace slo {
4596
5444
  labels?: pulumi.Input<pulumi.Input<inputs.slo.SLOAlertingFastburnLabel>[]>;
4597
5445
  }
4598
5446
  interface SLOAlertingFastburnAnnotation {
5447
+ /**
5448
+ * Key for filtering and identification
5449
+ */
4599
5450
  key: pulumi.Input<string>;
5451
+ /**
5452
+ * Templatable value
5453
+ */
4600
5454
  value: pulumi.Input<string>;
4601
5455
  }
4602
5456
  interface SLOAlertingFastburnLabel {
5457
+ /**
5458
+ * Key for filtering and identification
5459
+ */
4603
5460
  key: pulumi.Input<string>;
5461
+ /**
5462
+ * Templatable value
5463
+ */
4604
5464
  value: pulumi.Input<string>;
4605
5465
  }
4606
5466
  interface SLOAlertingLabel {
5467
+ /**
5468
+ * Key for filtering and identification
5469
+ */
4607
5470
  key: pulumi.Input<string>;
5471
+ /**
5472
+ * Templatable value
5473
+ */
4608
5474
  value: pulumi.Input<string>;
4609
5475
  }
4610
5476
  interface SLOAlertingSlowburn {
@@ -4618,21 +5484,39 @@ export declare namespace slo {
4618
5484
  labels?: pulumi.Input<pulumi.Input<inputs.slo.SLOAlertingSlowburnLabel>[]>;
4619
5485
  }
4620
5486
  interface SLOAlertingSlowburnAnnotation {
5487
+ /**
5488
+ * Key for filtering and identification
5489
+ */
4621
5490
  key: pulumi.Input<string>;
5491
+ /**
5492
+ * Templatable value
5493
+ */
4622
5494
  value: pulumi.Input<string>;
4623
5495
  }
4624
5496
  interface SLOAlertingSlowburnLabel {
5497
+ /**
5498
+ * Key for filtering and identification
5499
+ */
4625
5500
  key: pulumi.Input<string>;
5501
+ /**
5502
+ * Templatable value
5503
+ */
4626
5504
  value: pulumi.Input<string>;
4627
5505
  }
4628
5506
  interface SLODestinationDatasource {
4629
5507
  /**
4630
- * UID for the Mimir Datasource
5508
+ * UID for the Datasource
4631
5509
  */
4632
- uid?: pulumi.Input<string>;
5510
+ uid: pulumi.Input<string>;
4633
5511
  }
4634
5512
  interface SLOLabel {
5513
+ /**
5514
+ * Key for filtering and identification
5515
+ */
4635
5516
  key: pulumi.Input<string>;
5517
+ /**
5518
+ * Templatable value
5519
+ */
4636
5520
  value: pulumi.Input<string>;
4637
5521
  }
4638
5522
  interface SLOObjective {