pulumi-azure-native 2.84.0a1737649952__py3-none-any.whl → 2.84.0a1737706742__py3-none-any.whl

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.

Potentially problematic release.


This version of pulumi-azure-native might be problematic. Click here for more details.

Files changed (96) hide show
  1. pulumi_azure_native/__init__.py +39 -0
  2. pulumi_azure_native/dashboard/__init__.py +3 -0
  3. pulumi_azure_native/dashboard/get_grafana.py +2 -2
  4. pulumi_azure_native/dashboard/get_integration_fabric.py +4 -0
  5. pulumi_azure_native/dashboard/get_managed_private_endpoint.py +2 -2
  6. pulumi_azure_native/dashboard/get_private_endpoint_connection.py +2 -2
  7. pulumi_azure_native/dashboard/grafana.py +3 -3
  8. pulumi_azure_native/dashboard/integration_fabric.py +5 -1
  9. pulumi_azure_native/dashboard/managed_private_endpoint.py +3 -3
  10. pulumi_azure_native/dashboard/private_endpoint_connection.py +3 -3
  11. pulumi_azure_native/dashboard/v20210901preview/grafana.py +1 -1
  12. pulumi_azure_native/dashboard/v20220801/grafana.py +1 -1
  13. pulumi_azure_native/dashboard/v20220801/private_endpoint_connection.py +1 -1
  14. pulumi_azure_native/dashboard/v20221001preview/grafana.py +1 -1
  15. pulumi_azure_native/dashboard/v20221001preview/managed_private_endpoint.py +1 -1
  16. pulumi_azure_native/dashboard/v20221001preview/private_endpoint_connection.py +1 -1
  17. pulumi_azure_native/dashboard/v20230901/grafana.py +1 -1
  18. pulumi_azure_native/dashboard/v20230901/managed_private_endpoint.py +1 -1
  19. pulumi_azure_native/dashboard/v20230901/private_endpoint_connection.py +1 -1
  20. pulumi_azure_native/dashboard/v20231001preview/grafana.py +1 -1
  21. pulumi_azure_native/dashboard/v20231001preview/integration_fabric.py +1 -1
  22. pulumi_azure_native/dashboard/v20231001preview/managed_private_endpoint.py +1 -1
  23. pulumi_azure_native/dashboard/v20231001preview/private_endpoint_connection.py +1 -1
  24. pulumi_azure_native/dashboard/v20241001/__init__.py +18 -0
  25. pulumi_azure_native/dashboard/v20241001/_enums.py +93 -0
  26. pulumi_azure_native/dashboard/v20241001/_inputs.py +1009 -0
  27. pulumi_azure_native/dashboard/v20241001/get_grafana.py +199 -0
  28. pulumi_azure_native/dashboard/v20241001/get_integration_fabric.py +174 -0
  29. pulumi_azure_native/dashboard/v20241001/get_managed_private_endpoint.py +275 -0
  30. pulumi_azure_native/dashboard/v20241001/get_private_endpoint_connection.py +191 -0
  31. pulumi_azure_native/dashboard/v20241001/grafana.py +316 -0
  32. pulumi_azure_native/dashboard/v20241001/integration_fabric.py +270 -0
  33. pulumi_azure_native/dashboard/v20241001/managed_private_endpoint.py +423 -0
  34. pulumi_azure_native/dashboard/v20241001/outputs.py +1332 -0
  35. pulumi_azure_native/dashboard/v20241001/private_endpoint_connection.py +271 -0
  36. pulumi_azure_native/datafactory/_enums.py +8 -0
  37. pulumi_azure_native/datafactory/_inputs.py +180 -0
  38. pulumi_azure_native/datafactory/outputs.py +117 -1
  39. pulumi_azure_native/datafactory/v20180601/_enums.py +8 -0
  40. pulumi_azure_native/datafactory/v20180601/_inputs.py +180 -0
  41. pulumi_azure_native/datafactory/v20180601/outputs.py +117 -1
  42. pulumi_azure_native/insights/__init__.py +6 -0
  43. pulumi_azure_native/insights/get_private_endpoint_connection.py +2 -2
  44. pulumi_azure_native/insights/get_private_link_scope.py +2 -2
  45. pulumi_azure_native/insights/get_private_link_scoped_resource.py +4 -0
  46. pulumi_azure_native/insights/private_endpoint_connection.py +3 -3
  47. pulumi_azure_native/insights/private_link_scope.py +3 -3
  48. pulumi_azure_native/insights/private_link_scoped_resource.py +5 -1
  49. pulumi_azure_native/insights/v20191017preview/private_endpoint_connection.py +1 -1
  50. pulumi_azure_native/insights/v20191017preview/private_link_scope.py +1 -1
  51. pulumi_azure_native/insights/v20210701preview/private_endpoint_connection.py +1 -1
  52. pulumi_azure_native/insights/v20210701preview/private_link_scope.py +1 -1
  53. pulumi_azure_native/insights/v20210701preview/private_link_scoped_resource.py +1 -1
  54. pulumi_azure_native/insights/v20210901/__init__.py +16 -0
  55. pulumi_azure_native/insights/v20210901/_enums.py +27 -0
  56. pulumi_azure_native/insights/v20210901/_inputs.py +254 -0
  57. pulumi_azure_native/insights/v20210901/get_private_endpoint_connection.py +163 -0
  58. pulumi_azure_native/insights/v20210901/get_private_link_scope.py +199 -0
  59. pulumi_azure_native/insights/v20210901/get_private_link_scoped_resource.py +163 -0
  60. pulumi_azure_native/insights/v20210901/outputs.py +454 -0
  61. pulumi_azure_native/insights/v20210901/private_endpoint_connection.py +232 -0
  62. pulumi_azure_native/insights/v20210901/private_link_scope.py +279 -0
  63. pulumi_azure_native/insights/v20210901/private_link_scoped_resource.py +228 -0
  64. pulumi_azure_native/insights/v20230601preview/__init__.py +16 -0
  65. pulumi_azure_native/insights/v20230601preview/_enums.py +36 -0
  66. pulumi_azure_native/insights/v20230601preview/_inputs.py +254 -0
  67. pulumi_azure_native/insights/v20230601preview/get_private_endpoint_connection.py +163 -0
  68. pulumi_azure_native/insights/v20230601preview/get_private_link_scope.py +199 -0
  69. pulumi_azure_native/insights/v20230601preview/get_private_link_scoped_resource.py +191 -0
  70. pulumi_azure_native/insights/v20230601preview/outputs.py +454 -0
  71. pulumi_azure_native/insights/v20230601preview/private_endpoint_connection.py +232 -0
  72. pulumi_azure_native/insights/v20230601preview/private_link_scope.py +279 -0
  73. pulumi_azure_native/insights/v20230601preview/private_link_scoped_resource.py +287 -0
  74. pulumi_azure_native/pulumi-plugin.json +1 -1
  75. pulumi_azure_native/redhatopenshift/__init__.py +3 -0
  76. pulumi_azure_native/redhatopenshift/get_open_shift_cluster.py +2 -2
  77. pulumi_azure_native/redhatopenshift/list_open_shift_cluster_admin_credentials.py +2 -2
  78. pulumi_azure_native/redhatopenshift/list_open_shift_cluster_credentials.py +2 -2
  79. pulumi_azure_native/redhatopenshift/open_shift_cluster.py +3 -3
  80. pulumi_azure_native/redhatopenshift/v20220904/open_shift_cluster.py +1 -1
  81. pulumi_azure_native/redhatopenshift/v20230401/open_shift_cluster.py +1 -1
  82. pulumi_azure_native/redhatopenshift/v20230701preview/open_shift_cluster.py +1 -1
  83. pulumi_azure_native/redhatopenshift/v20230904/open_shift_cluster.py +1 -1
  84. pulumi_azure_native/redhatopenshift/v20231122/open_shift_cluster.py +1 -1
  85. pulumi_azure_native/redhatopenshift/v20240812preview/__init__.py +14 -0
  86. pulumi_azure_native/redhatopenshift/v20240812preview/_enums.py +78 -0
  87. pulumi_azure_native/redhatopenshift/v20240812preview/_inputs.py +910 -0
  88. pulumi_azure_native/redhatopenshift/v20240812preview/get_open_shift_cluster.py +325 -0
  89. pulumi_azure_native/redhatopenshift/v20240812preview/list_open_shift_cluster_admin_credentials.py +86 -0
  90. pulumi_azure_native/redhatopenshift/v20240812preview/list_open_shift_cluster_credentials.py +100 -0
  91. pulumi_azure_native/redhatopenshift/v20240812preview/open_shift_cluster.py +539 -0
  92. pulumi_azure_native/redhatopenshift/v20240812preview/outputs.py +1062 -0
  93. {pulumi_azure_native-2.84.0a1737649952.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/METADATA +1 -1
  94. {pulumi_azure_native-2.84.0a1737649952.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/RECORD +96 -56
  95. {pulumi_azure_native-2.84.0a1737649952.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/WHEEL +0 -0
  96. {pulumi_azure_native-2.84.0a1737649952.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1332 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from ... import _utilities
16
+ from . import outputs
17
+ from ._enums import *
18
+
19
+ __all__ = [
20
+ 'AzureMonitorWorkspaceIntegrationResponse',
21
+ 'EnterpriseConfigurationsResponse',
22
+ 'GrafanaConfigurationsResponse',
23
+ 'GrafanaIntegrationsResponse',
24
+ 'GrafanaPluginResponse',
25
+ 'IntegrationFabricPropertiesResponse',
26
+ 'ManagedGrafanaPropertiesResponse',
27
+ 'ManagedPrivateEndpointConnectionStateResponse',
28
+ 'ManagedServiceIdentityResponse',
29
+ 'PrivateEndpointConnectionResponse',
30
+ 'PrivateEndpointResponse',
31
+ 'PrivateLinkServiceConnectionStateResponse',
32
+ 'ResourceSkuResponse',
33
+ 'SecurityResponse',
34
+ 'SmtpResponse',
35
+ 'SnapshotsResponse',
36
+ 'SystemDataResponse',
37
+ 'UserAssignedIdentityResponse',
38
+ 'UsersResponse',
39
+ ]
40
+
41
+ @pulumi.output_type
42
+ class AzureMonitorWorkspaceIntegrationResponse(dict):
43
+ """
44
+ Integrations for Azure Monitor Workspace.
45
+ """
46
+ @staticmethod
47
+ def __key_warning(key: str):
48
+ suggest = None
49
+ if key == "azureMonitorWorkspaceResourceId":
50
+ suggest = "azure_monitor_workspace_resource_id"
51
+
52
+ if suggest:
53
+ pulumi.log.warn(f"Key '{key}' not found in AzureMonitorWorkspaceIntegrationResponse. Access the value via the '{suggest}' property getter instead.")
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ AzureMonitorWorkspaceIntegrationResponse.__key_warning(key)
57
+ return super().__getitem__(key)
58
+
59
+ def get(self, key: str, default = None) -> Any:
60
+ AzureMonitorWorkspaceIntegrationResponse.__key_warning(key)
61
+ return super().get(key, default)
62
+
63
+ def __init__(__self__, *,
64
+ azure_monitor_workspace_resource_id: Optional[str] = None):
65
+ """
66
+ Integrations for Azure Monitor Workspace.
67
+ :param str azure_monitor_workspace_resource_id: The resource Id of the connected Azure Monitor Workspace.
68
+ """
69
+ if azure_monitor_workspace_resource_id is not None:
70
+ pulumi.set(__self__, "azure_monitor_workspace_resource_id", azure_monitor_workspace_resource_id)
71
+
72
+ @property
73
+ @pulumi.getter(name="azureMonitorWorkspaceResourceId")
74
+ def azure_monitor_workspace_resource_id(self) -> Optional[str]:
75
+ """
76
+ The resource Id of the connected Azure Monitor Workspace.
77
+ """
78
+ return pulumi.get(self, "azure_monitor_workspace_resource_id")
79
+
80
+
81
+ @pulumi.output_type
82
+ class EnterpriseConfigurationsResponse(dict):
83
+ """
84
+ Enterprise settings of a Grafana instance
85
+ """
86
+ @staticmethod
87
+ def __key_warning(key: str):
88
+ suggest = None
89
+ if key == "marketplaceAutoRenew":
90
+ suggest = "marketplace_auto_renew"
91
+ elif key == "marketplacePlanId":
92
+ suggest = "marketplace_plan_id"
93
+
94
+ if suggest:
95
+ pulumi.log.warn(f"Key '{key}' not found in EnterpriseConfigurationsResponse. Access the value via the '{suggest}' property getter instead.")
96
+
97
+ def __getitem__(self, key: str) -> Any:
98
+ EnterpriseConfigurationsResponse.__key_warning(key)
99
+ return super().__getitem__(key)
100
+
101
+ def get(self, key: str, default = None) -> Any:
102
+ EnterpriseConfigurationsResponse.__key_warning(key)
103
+ return super().get(key, default)
104
+
105
+ def __init__(__self__, *,
106
+ marketplace_auto_renew: Optional[str] = None,
107
+ marketplace_plan_id: Optional[str] = None):
108
+ """
109
+ Enterprise settings of a Grafana instance
110
+ :param str marketplace_auto_renew: The AutoRenew setting of the Enterprise subscription
111
+ :param str marketplace_plan_id: The Plan Id of the Azure Marketplace subscription for the Enterprise plugins
112
+ """
113
+ if marketplace_auto_renew is not None:
114
+ pulumi.set(__self__, "marketplace_auto_renew", marketplace_auto_renew)
115
+ if marketplace_plan_id is not None:
116
+ pulumi.set(__self__, "marketplace_plan_id", marketplace_plan_id)
117
+
118
+ @property
119
+ @pulumi.getter(name="marketplaceAutoRenew")
120
+ def marketplace_auto_renew(self) -> Optional[str]:
121
+ """
122
+ The AutoRenew setting of the Enterprise subscription
123
+ """
124
+ return pulumi.get(self, "marketplace_auto_renew")
125
+
126
+ @property
127
+ @pulumi.getter(name="marketplacePlanId")
128
+ def marketplace_plan_id(self) -> Optional[str]:
129
+ """
130
+ The Plan Id of the Azure Marketplace subscription for the Enterprise plugins
131
+ """
132
+ return pulumi.get(self, "marketplace_plan_id")
133
+
134
+
135
+ @pulumi.output_type
136
+ class GrafanaConfigurationsResponse(dict):
137
+ """
138
+ Server configurations of a Grafana instance
139
+ """
140
+ def __init__(__self__, *,
141
+ security: Optional['outputs.SecurityResponse'] = None,
142
+ smtp: Optional['outputs.SmtpResponse'] = None,
143
+ snapshots: Optional['outputs.SnapshotsResponse'] = None,
144
+ users: Optional['outputs.UsersResponse'] = None):
145
+ """
146
+ Server configurations of a Grafana instance
147
+ :param 'SecurityResponse' security: Grafana security settings
148
+ :param 'SmtpResponse' smtp: Email server settings.
149
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
150
+ :param 'SnapshotsResponse' snapshots: Grafana Snapshots settings
151
+ :param 'UsersResponse' users: Grafana users settings
152
+ """
153
+ if security is not None:
154
+ pulumi.set(__self__, "security", security)
155
+ if smtp is not None:
156
+ pulumi.set(__self__, "smtp", smtp)
157
+ if snapshots is not None:
158
+ pulumi.set(__self__, "snapshots", snapshots)
159
+ if users is not None:
160
+ pulumi.set(__self__, "users", users)
161
+
162
+ @property
163
+ @pulumi.getter
164
+ def security(self) -> Optional['outputs.SecurityResponse']:
165
+ """
166
+ Grafana security settings
167
+ """
168
+ return pulumi.get(self, "security")
169
+
170
+ @property
171
+ @pulumi.getter
172
+ def smtp(self) -> Optional['outputs.SmtpResponse']:
173
+ """
174
+ Email server settings.
175
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
176
+ """
177
+ return pulumi.get(self, "smtp")
178
+
179
+ @property
180
+ @pulumi.getter
181
+ def snapshots(self) -> Optional['outputs.SnapshotsResponse']:
182
+ """
183
+ Grafana Snapshots settings
184
+ """
185
+ return pulumi.get(self, "snapshots")
186
+
187
+ @property
188
+ @pulumi.getter
189
+ def users(self) -> Optional['outputs.UsersResponse']:
190
+ """
191
+ Grafana users settings
192
+ """
193
+ return pulumi.get(self, "users")
194
+
195
+
196
+ @pulumi.output_type
197
+ class GrafanaIntegrationsResponse(dict):
198
+ """
199
+ GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
200
+ """
201
+ @staticmethod
202
+ def __key_warning(key: str):
203
+ suggest = None
204
+ if key == "azureMonitorWorkspaceIntegrations":
205
+ suggest = "azure_monitor_workspace_integrations"
206
+
207
+ if suggest:
208
+ pulumi.log.warn(f"Key '{key}' not found in GrafanaIntegrationsResponse. Access the value via the '{suggest}' property getter instead.")
209
+
210
+ def __getitem__(self, key: str) -> Any:
211
+ GrafanaIntegrationsResponse.__key_warning(key)
212
+ return super().__getitem__(key)
213
+
214
+ def get(self, key: str, default = None) -> Any:
215
+ GrafanaIntegrationsResponse.__key_warning(key)
216
+ return super().get(key, default)
217
+
218
+ def __init__(__self__, *,
219
+ azure_monitor_workspace_integrations: Optional[Sequence['outputs.AzureMonitorWorkspaceIntegrationResponse']] = None):
220
+ """
221
+ GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
222
+ """
223
+ if azure_monitor_workspace_integrations is not None:
224
+ pulumi.set(__self__, "azure_monitor_workspace_integrations", azure_monitor_workspace_integrations)
225
+
226
+ @property
227
+ @pulumi.getter(name="azureMonitorWorkspaceIntegrations")
228
+ def azure_monitor_workspace_integrations(self) -> Optional[Sequence['outputs.AzureMonitorWorkspaceIntegrationResponse']]:
229
+ return pulumi.get(self, "azure_monitor_workspace_integrations")
230
+
231
+
232
+ @pulumi.output_type
233
+ class GrafanaPluginResponse(dict):
234
+ """
235
+ Plugin of Grafana
236
+ """
237
+ @staticmethod
238
+ def __key_warning(key: str):
239
+ suggest = None
240
+ if key == "pluginId":
241
+ suggest = "plugin_id"
242
+
243
+ if suggest:
244
+ pulumi.log.warn(f"Key '{key}' not found in GrafanaPluginResponse. Access the value via the '{suggest}' property getter instead.")
245
+
246
+ def __getitem__(self, key: str) -> Any:
247
+ GrafanaPluginResponse.__key_warning(key)
248
+ return super().__getitem__(key)
249
+
250
+ def get(self, key: str, default = None) -> Any:
251
+ GrafanaPluginResponse.__key_warning(key)
252
+ return super().get(key, default)
253
+
254
+ def __init__(__self__, *,
255
+ plugin_id: str):
256
+ """
257
+ Plugin of Grafana
258
+ :param str plugin_id: Grafana plugin id
259
+ """
260
+ pulumi.set(__self__, "plugin_id", plugin_id)
261
+
262
+ @property
263
+ @pulumi.getter(name="pluginId")
264
+ def plugin_id(self) -> str:
265
+ """
266
+ Grafana plugin id
267
+ """
268
+ return pulumi.get(self, "plugin_id")
269
+
270
+
271
+ @pulumi.output_type
272
+ class IntegrationFabricPropertiesResponse(dict):
273
+ @staticmethod
274
+ def __key_warning(key: str):
275
+ suggest = None
276
+ if key == "provisioningState":
277
+ suggest = "provisioning_state"
278
+ elif key == "dataSourceResourceId":
279
+ suggest = "data_source_resource_id"
280
+ elif key == "targetResourceId":
281
+ suggest = "target_resource_id"
282
+
283
+ if suggest:
284
+ pulumi.log.warn(f"Key '{key}' not found in IntegrationFabricPropertiesResponse. Access the value via the '{suggest}' property getter instead.")
285
+
286
+ def __getitem__(self, key: str) -> Any:
287
+ IntegrationFabricPropertiesResponse.__key_warning(key)
288
+ return super().__getitem__(key)
289
+
290
+ def get(self, key: str, default = None) -> Any:
291
+ IntegrationFabricPropertiesResponse.__key_warning(key)
292
+ return super().get(key, default)
293
+
294
+ def __init__(__self__, *,
295
+ provisioning_state: str,
296
+ data_source_resource_id: Optional[str] = None,
297
+ scenarios: Optional[Sequence[str]] = None,
298
+ target_resource_id: Optional[str] = None):
299
+ """
300
+ :param str provisioning_state: Provisioning state of the resource.
301
+ :param str data_source_resource_id: The resource Id of the Azure resource which is used to configure Grafana data source. E.g., an Azure Monitor Workspace, an Azure Data Explorer cluster, etc.
302
+ :param Sequence[str] scenarios: A list of integration scenarios covered by this integration fabric
303
+ :param str target_resource_id: The resource Id of the Azure resource being integrated with Azure Managed Grafana. E.g., an Azure Kubernetes Service cluster.
304
+ """
305
+ pulumi.set(__self__, "provisioning_state", provisioning_state)
306
+ if data_source_resource_id is not None:
307
+ pulumi.set(__self__, "data_source_resource_id", data_source_resource_id)
308
+ if scenarios is not None:
309
+ pulumi.set(__self__, "scenarios", scenarios)
310
+ if target_resource_id is not None:
311
+ pulumi.set(__self__, "target_resource_id", target_resource_id)
312
+
313
+ @property
314
+ @pulumi.getter(name="provisioningState")
315
+ def provisioning_state(self) -> str:
316
+ """
317
+ Provisioning state of the resource.
318
+ """
319
+ return pulumi.get(self, "provisioning_state")
320
+
321
+ @property
322
+ @pulumi.getter(name="dataSourceResourceId")
323
+ def data_source_resource_id(self) -> Optional[str]:
324
+ """
325
+ The resource Id of the Azure resource which is used to configure Grafana data source. E.g., an Azure Monitor Workspace, an Azure Data Explorer cluster, etc.
326
+ """
327
+ return pulumi.get(self, "data_source_resource_id")
328
+
329
+ @property
330
+ @pulumi.getter
331
+ def scenarios(self) -> Optional[Sequence[str]]:
332
+ """
333
+ A list of integration scenarios covered by this integration fabric
334
+ """
335
+ return pulumi.get(self, "scenarios")
336
+
337
+ @property
338
+ @pulumi.getter(name="targetResourceId")
339
+ def target_resource_id(self) -> Optional[str]:
340
+ """
341
+ The resource Id of the Azure resource being integrated with Azure Managed Grafana. E.g., an Azure Kubernetes Service cluster.
342
+ """
343
+ return pulumi.get(self, "target_resource_id")
344
+
345
+
346
+ @pulumi.output_type
347
+ class ManagedGrafanaPropertiesResponse(dict):
348
+ """
349
+ Properties specific to the grafana resource.
350
+ """
351
+ @staticmethod
352
+ def __key_warning(key: str):
353
+ suggest = None
354
+ if key == "grafanaVersion":
355
+ suggest = "grafana_version"
356
+ elif key == "outboundIPs":
357
+ suggest = "outbound_ips"
358
+ elif key == "privateEndpointConnections":
359
+ suggest = "private_endpoint_connections"
360
+ elif key == "provisioningState":
361
+ suggest = "provisioning_state"
362
+ elif key == "apiKey":
363
+ suggest = "api_key"
364
+ elif key == "autoGeneratedDomainNameLabelScope":
365
+ suggest = "auto_generated_domain_name_label_scope"
366
+ elif key == "deterministicOutboundIP":
367
+ suggest = "deterministic_outbound_ip"
368
+ elif key == "enterpriseConfigurations":
369
+ suggest = "enterprise_configurations"
370
+ elif key == "grafanaConfigurations":
371
+ suggest = "grafana_configurations"
372
+ elif key == "grafanaIntegrations":
373
+ suggest = "grafana_integrations"
374
+ elif key == "grafanaMajorVersion":
375
+ suggest = "grafana_major_version"
376
+ elif key == "grafanaPlugins":
377
+ suggest = "grafana_plugins"
378
+ elif key == "publicNetworkAccess":
379
+ suggest = "public_network_access"
380
+ elif key == "zoneRedundancy":
381
+ suggest = "zone_redundancy"
382
+
383
+ if suggest:
384
+ pulumi.log.warn(f"Key '{key}' not found in ManagedGrafanaPropertiesResponse. Access the value via the '{suggest}' property getter instead.")
385
+
386
+ def __getitem__(self, key: str) -> Any:
387
+ ManagedGrafanaPropertiesResponse.__key_warning(key)
388
+ return super().__getitem__(key)
389
+
390
+ def get(self, key: str, default = None) -> Any:
391
+ ManagedGrafanaPropertiesResponse.__key_warning(key)
392
+ return super().get(key, default)
393
+
394
+ def __init__(__self__, *,
395
+ endpoint: str,
396
+ grafana_version: str,
397
+ outbound_ips: Sequence[str],
398
+ private_endpoint_connections: Sequence['outputs.PrivateEndpointConnectionResponse'],
399
+ provisioning_state: str,
400
+ api_key: Optional[str] = None,
401
+ auto_generated_domain_name_label_scope: Optional[str] = None,
402
+ deterministic_outbound_ip: Optional[str] = None,
403
+ enterprise_configurations: Optional['outputs.EnterpriseConfigurationsResponse'] = None,
404
+ grafana_configurations: Optional['outputs.GrafanaConfigurationsResponse'] = None,
405
+ grafana_integrations: Optional['outputs.GrafanaIntegrationsResponse'] = None,
406
+ grafana_major_version: Optional[str] = None,
407
+ grafana_plugins: Optional[Mapping[str, 'outputs.GrafanaPluginResponse']] = None,
408
+ public_network_access: Optional[str] = None,
409
+ zone_redundancy: Optional[str] = None):
410
+ """
411
+ Properties specific to the grafana resource.
412
+ :param str endpoint: The endpoint of the Grafana instance.
413
+ :param str grafana_version: The Grafana software version.
414
+ :param Sequence[str] outbound_ips: List of outbound IPs if deterministicOutboundIP is enabled.
415
+ :param Sequence['PrivateEndpointConnectionResponse'] private_endpoint_connections: The private endpoint connections of the Grafana instance.
416
+ :param str provisioning_state: Provisioning state of the resource.
417
+ :param str api_key: The api key setting of the Grafana instance.
418
+ :param str auto_generated_domain_name_label_scope: Scope for dns deterministic name hash calculation.
419
+ :param str deterministic_outbound_ip: Whether a Grafana instance uses deterministic outbound IPs.
420
+ :param 'EnterpriseConfigurationsResponse' enterprise_configurations: Enterprise settings of a Grafana instance
421
+ :param 'GrafanaConfigurationsResponse' grafana_configurations: Server configurations of a Grafana instance
422
+ :param 'GrafanaIntegrationsResponse' grafana_integrations: GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
423
+ :param str grafana_major_version: The major Grafana software version to target.
424
+ :param Mapping[str, 'GrafanaPluginResponse'] grafana_plugins: Installed plugin list of the Grafana instance. Key is plugin id, value is plugin definition.
425
+ :param str public_network_access: Indicate the state for enable or disable traffic over the public interface.
426
+ :param str zone_redundancy: The zone redundancy setting of the Grafana instance.
427
+ """
428
+ pulumi.set(__self__, "endpoint", endpoint)
429
+ pulumi.set(__self__, "grafana_version", grafana_version)
430
+ pulumi.set(__self__, "outbound_ips", outbound_ips)
431
+ pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections)
432
+ pulumi.set(__self__, "provisioning_state", provisioning_state)
433
+ if api_key is not None:
434
+ pulumi.set(__self__, "api_key", api_key)
435
+ if auto_generated_domain_name_label_scope is not None:
436
+ pulumi.set(__self__, "auto_generated_domain_name_label_scope", auto_generated_domain_name_label_scope)
437
+ if deterministic_outbound_ip is not None:
438
+ pulumi.set(__self__, "deterministic_outbound_ip", deterministic_outbound_ip)
439
+ if enterprise_configurations is not None:
440
+ pulumi.set(__self__, "enterprise_configurations", enterprise_configurations)
441
+ if grafana_configurations is not None:
442
+ pulumi.set(__self__, "grafana_configurations", grafana_configurations)
443
+ if grafana_integrations is not None:
444
+ pulumi.set(__self__, "grafana_integrations", grafana_integrations)
445
+ if grafana_major_version is not None:
446
+ pulumi.set(__self__, "grafana_major_version", grafana_major_version)
447
+ if grafana_plugins is not None:
448
+ pulumi.set(__self__, "grafana_plugins", grafana_plugins)
449
+ if public_network_access is not None:
450
+ pulumi.set(__self__, "public_network_access", public_network_access)
451
+ if zone_redundancy is not None:
452
+ pulumi.set(__self__, "zone_redundancy", zone_redundancy)
453
+
454
+ @property
455
+ @pulumi.getter
456
+ def endpoint(self) -> str:
457
+ """
458
+ The endpoint of the Grafana instance.
459
+ """
460
+ return pulumi.get(self, "endpoint")
461
+
462
+ @property
463
+ @pulumi.getter(name="grafanaVersion")
464
+ def grafana_version(self) -> str:
465
+ """
466
+ The Grafana software version.
467
+ """
468
+ return pulumi.get(self, "grafana_version")
469
+
470
+ @property
471
+ @pulumi.getter(name="outboundIPs")
472
+ def outbound_ips(self) -> Sequence[str]:
473
+ """
474
+ List of outbound IPs if deterministicOutboundIP is enabled.
475
+ """
476
+ return pulumi.get(self, "outbound_ips")
477
+
478
+ @property
479
+ @pulumi.getter(name="privateEndpointConnections")
480
+ def private_endpoint_connections(self) -> Sequence['outputs.PrivateEndpointConnectionResponse']:
481
+ """
482
+ The private endpoint connections of the Grafana instance.
483
+ """
484
+ return pulumi.get(self, "private_endpoint_connections")
485
+
486
+ @property
487
+ @pulumi.getter(name="provisioningState")
488
+ def provisioning_state(self) -> str:
489
+ """
490
+ Provisioning state of the resource.
491
+ """
492
+ return pulumi.get(self, "provisioning_state")
493
+
494
+ @property
495
+ @pulumi.getter(name="apiKey")
496
+ def api_key(self) -> Optional[str]:
497
+ """
498
+ The api key setting of the Grafana instance.
499
+ """
500
+ return pulumi.get(self, "api_key")
501
+
502
+ @property
503
+ @pulumi.getter(name="autoGeneratedDomainNameLabelScope")
504
+ def auto_generated_domain_name_label_scope(self) -> Optional[str]:
505
+ """
506
+ Scope for dns deterministic name hash calculation.
507
+ """
508
+ return pulumi.get(self, "auto_generated_domain_name_label_scope")
509
+
510
+ @property
511
+ @pulumi.getter(name="deterministicOutboundIP")
512
+ def deterministic_outbound_ip(self) -> Optional[str]:
513
+ """
514
+ Whether a Grafana instance uses deterministic outbound IPs.
515
+ """
516
+ return pulumi.get(self, "deterministic_outbound_ip")
517
+
518
+ @property
519
+ @pulumi.getter(name="enterpriseConfigurations")
520
+ def enterprise_configurations(self) -> Optional['outputs.EnterpriseConfigurationsResponse']:
521
+ """
522
+ Enterprise settings of a Grafana instance
523
+ """
524
+ return pulumi.get(self, "enterprise_configurations")
525
+
526
+ @property
527
+ @pulumi.getter(name="grafanaConfigurations")
528
+ def grafana_configurations(self) -> Optional['outputs.GrafanaConfigurationsResponse']:
529
+ """
530
+ Server configurations of a Grafana instance
531
+ """
532
+ return pulumi.get(self, "grafana_configurations")
533
+
534
+ @property
535
+ @pulumi.getter(name="grafanaIntegrations")
536
+ def grafana_integrations(self) -> Optional['outputs.GrafanaIntegrationsResponse']:
537
+ """
538
+ GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
539
+ """
540
+ return pulumi.get(self, "grafana_integrations")
541
+
542
+ @property
543
+ @pulumi.getter(name="grafanaMajorVersion")
544
+ def grafana_major_version(self) -> Optional[str]:
545
+ """
546
+ The major Grafana software version to target.
547
+ """
548
+ return pulumi.get(self, "grafana_major_version")
549
+
550
+ @property
551
+ @pulumi.getter(name="grafanaPlugins")
552
+ def grafana_plugins(self) -> Optional[Mapping[str, 'outputs.GrafanaPluginResponse']]:
553
+ """
554
+ Installed plugin list of the Grafana instance. Key is plugin id, value is plugin definition.
555
+ """
556
+ return pulumi.get(self, "grafana_plugins")
557
+
558
+ @property
559
+ @pulumi.getter(name="publicNetworkAccess")
560
+ def public_network_access(self) -> Optional[str]:
561
+ """
562
+ Indicate the state for enable or disable traffic over the public interface.
563
+ """
564
+ return pulumi.get(self, "public_network_access")
565
+
566
+ @property
567
+ @pulumi.getter(name="zoneRedundancy")
568
+ def zone_redundancy(self) -> Optional[str]:
569
+ """
570
+ The zone redundancy setting of the Grafana instance.
571
+ """
572
+ return pulumi.get(self, "zone_redundancy")
573
+
574
+
575
+ @pulumi.output_type
576
+ class ManagedPrivateEndpointConnectionStateResponse(dict):
577
+ """
578
+ The state of managed private endpoint connection.
579
+ """
580
+ def __init__(__self__, *,
581
+ description: str,
582
+ status: str):
583
+ """
584
+ The state of managed private endpoint connection.
585
+ :param str description: Gets or sets the reason for approval/rejection of the connection.
586
+ :param str status: The approval/rejection status of managed private endpoint connection.
587
+ """
588
+ pulumi.set(__self__, "description", description)
589
+ pulumi.set(__self__, "status", status)
590
+
591
+ @property
592
+ @pulumi.getter
593
+ def description(self) -> str:
594
+ """
595
+ Gets or sets the reason for approval/rejection of the connection.
596
+ """
597
+ return pulumi.get(self, "description")
598
+
599
+ @property
600
+ @pulumi.getter
601
+ def status(self) -> str:
602
+ """
603
+ The approval/rejection status of managed private endpoint connection.
604
+ """
605
+ return pulumi.get(self, "status")
606
+
607
+
608
+ @pulumi.output_type
609
+ class ManagedServiceIdentityResponse(dict):
610
+ """
611
+ Managed service identity (system assigned and/or user assigned identities)
612
+ """
613
+ @staticmethod
614
+ def __key_warning(key: str):
615
+ suggest = None
616
+ if key == "principalId":
617
+ suggest = "principal_id"
618
+ elif key == "tenantId":
619
+ suggest = "tenant_id"
620
+ elif key == "userAssignedIdentities":
621
+ suggest = "user_assigned_identities"
622
+
623
+ if suggest:
624
+ pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.")
625
+
626
+ def __getitem__(self, key: str) -> Any:
627
+ ManagedServiceIdentityResponse.__key_warning(key)
628
+ return super().__getitem__(key)
629
+
630
+ def get(self, key: str, default = None) -> Any:
631
+ ManagedServiceIdentityResponse.__key_warning(key)
632
+ return super().get(key, default)
633
+
634
+ def __init__(__self__, *,
635
+ principal_id: str,
636
+ tenant_id: str,
637
+ type: str,
638
+ user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None):
639
+ """
640
+ Managed service identity (system assigned and/or user assigned identities)
641
+ :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.
642
+ :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.
643
+ :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
644
+ :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.
645
+ """
646
+ pulumi.set(__self__, "principal_id", principal_id)
647
+ pulumi.set(__self__, "tenant_id", tenant_id)
648
+ pulumi.set(__self__, "type", type)
649
+ if user_assigned_identities is not None:
650
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
651
+
652
+ @property
653
+ @pulumi.getter(name="principalId")
654
+ def principal_id(self) -> str:
655
+ """
656
+ The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.
657
+ """
658
+ return pulumi.get(self, "principal_id")
659
+
660
+ @property
661
+ @pulumi.getter(name="tenantId")
662
+ def tenant_id(self) -> str:
663
+ """
664
+ The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.
665
+ """
666
+ return pulumi.get(self, "tenant_id")
667
+
668
+ @property
669
+ @pulumi.getter
670
+ def type(self) -> str:
671
+ """
672
+ Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
673
+ """
674
+ return pulumi.get(self, "type")
675
+
676
+ @property
677
+ @pulumi.getter(name="userAssignedIdentities")
678
+ def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]:
679
+ """
680
+ The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.
681
+ """
682
+ return pulumi.get(self, "user_assigned_identities")
683
+
684
+
685
+ @pulumi.output_type
686
+ class PrivateEndpointConnectionResponse(dict):
687
+ """
688
+ The Private Endpoint Connection resource.
689
+ """
690
+ @staticmethod
691
+ def __key_warning(key: str):
692
+ suggest = None
693
+ if key == "privateLinkServiceConnectionState":
694
+ suggest = "private_link_service_connection_state"
695
+ elif key == "provisioningState":
696
+ suggest = "provisioning_state"
697
+ elif key == "systemData":
698
+ suggest = "system_data"
699
+ elif key == "groupIds":
700
+ suggest = "group_ids"
701
+ elif key == "privateEndpoint":
702
+ suggest = "private_endpoint"
703
+
704
+ if suggest:
705
+ pulumi.log.warn(f"Key '{key}' not found in PrivateEndpointConnectionResponse. Access the value via the '{suggest}' property getter instead.")
706
+
707
+ def __getitem__(self, key: str) -> Any:
708
+ PrivateEndpointConnectionResponse.__key_warning(key)
709
+ return super().__getitem__(key)
710
+
711
+ def get(self, key: str, default = None) -> Any:
712
+ PrivateEndpointConnectionResponse.__key_warning(key)
713
+ return super().get(key, default)
714
+
715
+ def __init__(__self__, *,
716
+ id: str,
717
+ name: str,
718
+ private_link_service_connection_state: 'outputs.PrivateLinkServiceConnectionStateResponse',
719
+ provisioning_state: str,
720
+ system_data: 'outputs.SystemDataResponse',
721
+ type: str,
722
+ group_ids: Optional[Sequence[str]] = None,
723
+ private_endpoint: Optional['outputs.PrivateEndpointResponse'] = None):
724
+ """
725
+ The Private Endpoint Connection resource.
726
+ :param str id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
727
+ :param str name: The name of the resource
728
+ :param 'PrivateLinkServiceConnectionStateResponse' private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider.
729
+ :param str provisioning_state: The provisioning state of the private endpoint connection resource.
730
+ :param 'SystemDataResponse' system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information.
731
+ :param str type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
732
+ :param Sequence[str] group_ids: The private endpoint connection group ids.
733
+ :param 'PrivateEndpointResponse' private_endpoint: The resource of private end point.
734
+ """
735
+ pulumi.set(__self__, "id", id)
736
+ pulumi.set(__self__, "name", name)
737
+ pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state)
738
+ pulumi.set(__self__, "provisioning_state", provisioning_state)
739
+ pulumi.set(__self__, "system_data", system_data)
740
+ pulumi.set(__self__, "type", type)
741
+ if group_ids is not None:
742
+ pulumi.set(__self__, "group_ids", group_ids)
743
+ if private_endpoint is not None:
744
+ pulumi.set(__self__, "private_endpoint", private_endpoint)
745
+
746
+ @property
747
+ @pulumi.getter
748
+ def id(self) -> str:
749
+ """
750
+ Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
751
+ """
752
+ return pulumi.get(self, "id")
753
+
754
+ @property
755
+ @pulumi.getter
756
+ def name(self) -> str:
757
+ """
758
+ The name of the resource
759
+ """
760
+ return pulumi.get(self, "name")
761
+
762
+ @property
763
+ @pulumi.getter(name="privateLinkServiceConnectionState")
764
+ def private_link_service_connection_state(self) -> 'outputs.PrivateLinkServiceConnectionStateResponse':
765
+ """
766
+ A collection of information about the state of the connection between service consumer and provider.
767
+ """
768
+ return pulumi.get(self, "private_link_service_connection_state")
769
+
770
+ @property
771
+ @pulumi.getter(name="provisioningState")
772
+ def provisioning_state(self) -> str:
773
+ """
774
+ The provisioning state of the private endpoint connection resource.
775
+ """
776
+ return pulumi.get(self, "provisioning_state")
777
+
778
+ @property
779
+ @pulumi.getter(name="systemData")
780
+ def system_data(self) -> 'outputs.SystemDataResponse':
781
+ """
782
+ Azure Resource Manager metadata containing createdBy and modifiedBy information.
783
+ """
784
+ return pulumi.get(self, "system_data")
785
+
786
+ @property
787
+ @pulumi.getter
788
+ def type(self) -> str:
789
+ """
790
+ The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
791
+ """
792
+ return pulumi.get(self, "type")
793
+
794
+ @property
795
+ @pulumi.getter(name="groupIds")
796
+ def group_ids(self) -> Optional[Sequence[str]]:
797
+ """
798
+ The private endpoint connection group ids.
799
+ """
800
+ return pulumi.get(self, "group_ids")
801
+
802
+ @property
803
+ @pulumi.getter(name="privateEndpoint")
804
+ def private_endpoint(self) -> Optional['outputs.PrivateEndpointResponse']:
805
+ """
806
+ The resource of private end point.
807
+ """
808
+ return pulumi.get(self, "private_endpoint")
809
+
810
+
811
+ @pulumi.output_type
812
+ class PrivateEndpointResponse(dict):
813
+ """
814
+ The Private Endpoint resource.
815
+ """
816
+ def __init__(__self__, *,
817
+ id: str):
818
+ """
819
+ The Private Endpoint resource.
820
+ :param str id: The ARM identifier for Private Endpoint
821
+ """
822
+ pulumi.set(__self__, "id", id)
823
+
824
+ @property
825
+ @pulumi.getter
826
+ def id(self) -> str:
827
+ """
828
+ The ARM identifier for Private Endpoint
829
+ """
830
+ return pulumi.get(self, "id")
831
+
832
+
833
+ @pulumi.output_type
834
+ class PrivateLinkServiceConnectionStateResponse(dict):
835
+ """
836
+ A collection of information about the state of the connection between service consumer and provider.
837
+ """
838
+ @staticmethod
839
+ def __key_warning(key: str):
840
+ suggest = None
841
+ if key == "actionsRequired":
842
+ suggest = "actions_required"
843
+
844
+ if suggest:
845
+ pulumi.log.warn(f"Key '{key}' not found in PrivateLinkServiceConnectionStateResponse. Access the value via the '{suggest}' property getter instead.")
846
+
847
+ def __getitem__(self, key: str) -> Any:
848
+ PrivateLinkServiceConnectionStateResponse.__key_warning(key)
849
+ return super().__getitem__(key)
850
+
851
+ def get(self, key: str, default = None) -> Any:
852
+ PrivateLinkServiceConnectionStateResponse.__key_warning(key)
853
+ return super().get(key, default)
854
+
855
+ def __init__(__self__, *,
856
+ actions_required: Optional[str] = None,
857
+ description: Optional[str] = None,
858
+ status: Optional[str] = None):
859
+ """
860
+ A collection of information about the state of the connection between service consumer and provider.
861
+ :param str actions_required: A message indicating if changes on the service provider require any updates on the consumer.
862
+ :param str description: The reason for approval/rejection of the connection.
863
+ :param str status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
864
+ """
865
+ if actions_required is not None:
866
+ pulumi.set(__self__, "actions_required", actions_required)
867
+ if description is not None:
868
+ pulumi.set(__self__, "description", description)
869
+ if status is not None:
870
+ pulumi.set(__self__, "status", status)
871
+
872
+ @property
873
+ @pulumi.getter(name="actionsRequired")
874
+ def actions_required(self) -> Optional[str]:
875
+ """
876
+ A message indicating if changes on the service provider require any updates on the consumer.
877
+ """
878
+ return pulumi.get(self, "actions_required")
879
+
880
+ @property
881
+ @pulumi.getter
882
+ def description(self) -> Optional[str]:
883
+ """
884
+ The reason for approval/rejection of the connection.
885
+ """
886
+ return pulumi.get(self, "description")
887
+
888
+ @property
889
+ @pulumi.getter
890
+ def status(self) -> Optional[str]:
891
+ """
892
+ Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
893
+ """
894
+ return pulumi.get(self, "status")
895
+
896
+
897
+ @pulumi.output_type
898
+ class ResourceSkuResponse(dict):
899
+ def __init__(__self__, *,
900
+ name: str):
901
+ pulumi.set(__self__, "name", name)
902
+
903
+ @property
904
+ @pulumi.getter
905
+ def name(self) -> str:
906
+ return pulumi.get(self, "name")
907
+
908
+
909
+ @pulumi.output_type
910
+ class SecurityResponse(dict):
911
+ """
912
+ Grafana security settings
913
+ """
914
+ @staticmethod
915
+ def __key_warning(key: str):
916
+ suggest = None
917
+ if key == "csrfAlwaysCheck":
918
+ suggest = "csrf_always_check"
919
+
920
+ if suggest:
921
+ pulumi.log.warn(f"Key '{key}' not found in SecurityResponse. Access the value via the '{suggest}' property getter instead.")
922
+
923
+ def __getitem__(self, key: str) -> Any:
924
+ SecurityResponse.__key_warning(key)
925
+ return super().__getitem__(key)
926
+
927
+ def get(self, key: str, default = None) -> Any:
928
+ SecurityResponse.__key_warning(key)
929
+ return super().get(key, default)
930
+
931
+ def __init__(__self__, *,
932
+ csrf_always_check: Optional[bool] = None):
933
+ """
934
+ Grafana security settings
935
+ :param bool csrf_always_check: Set to true to execute the CSRF check even if the login cookie is not in a request (default false).
936
+ """
937
+ if csrf_always_check is not None:
938
+ pulumi.set(__self__, "csrf_always_check", csrf_always_check)
939
+
940
+ @property
941
+ @pulumi.getter(name="csrfAlwaysCheck")
942
+ def csrf_always_check(self) -> Optional[bool]:
943
+ """
944
+ Set to true to execute the CSRF check even if the login cookie is not in a request (default false).
945
+ """
946
+ return pulumi.get(self, "csrf_always_check")
947
+
948
+
949
+ @pulumi.output_type
950
+ class SmtpResponse(dict):
951
+ """
952
+ Email server settings.
953
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
954
+ """
955
+ @staticmethod
956
+ def __key_warning(key: str):
957
+ suggest = None
958
+ if key == "fromAddress":
959
+ suggest = "from_address"
960
+ elif key == "fromName":
961
+ suggest = "from_name"
962
+ elif key == "skipVerify":
963
+ suggest = "skip_verify"
964
+ elif key == "startTLSPolicy":
965
+ suggest = "start_tls_policy"
966
+
967
+ if suggest:
968
+ pulumi.log.warn(f"Key '{key}' not found in SmtpResponse. Access the value via the '{suggest}' property getter instead.")
969
+
970
+ def __getitem__(self, key: str) -> Any:
971
+ SmtpResponse.__key_warning(key)
972
+ return super().__getitem__(key)
973
+
974
+ def get(self, key: str, default = None) -> Any:
975
+ SmtpResponse.__key_warning(key)
976
+ return super().get(key, default)
977
+
978
+ def __init__(__self__, *,
979
+ enabled: Optional[bool] = None,
980
+ from_address: Optional[str] = None,
981
+ from_name: Optional[str] = None,
982
+ host: Optional[str] = None,
983
+ password: Optional[str] = None,
984
+ skip_verify: Optional[bool] = None,
985
+ start_tls_policy: Optional[str] = None,
986
+ user: Optional[str] = None):
987
+ """
988
+ Email server settings.
989
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
990
+ :param bool enabled: Enable this to allow Grafana to send email. Default is false
991
+ :param str from_address: Address used when sending out emails
992
+ https://pkg.go.dev/net/mail#Address
993
+ :param str from_name: Name to be used when sending out emails. Default is "Azure Managed Grafana Notification"
994
+ https://pkg.go.dev/net/mail#Address
995
+ :param str host: SMTP server hostname with port, e.g. test.email.net:587
996
+ :param str password: Password of SMTP auth. If the password contains # or ;, then you have to wrap it with triple quotes
997
+ :param bool skip_verify: Verify SSL for SMTP server. Default is false
998
+ https://pkg.go.dev/crypto/tls#Config
999
+ :param str start_tls_policy: The StartTLSPolicy setting of the SMTP configuration
1000
+ https://pkg.go.dev/github.com/go-mail/mail#StartTLSPolicy
1001
+ :param str user: User of SMTP auth
1002
+ """
1003
+ if enabled is None:
1004
+ enabled = False
1005
+ if enabled is not None:
1006
+ pulumi.set(__self__, "enabled", enabled)
1007
+ if from_address is not None:
1008
+ pulumi.set(__self__, "from_address", from_address)
1009
+ if from_name is not None:
1010
+ pulumi.set(__self__, "from_name", from_name)
1011
+ if host is not None:
1012
+ pulumi.set(__self__, "host", host)
1013
+ if password is not None:
1014
+ pulumi.set(__self__, "password", password)
1015
+ if skip_verify is not None:
1016
+ pulumi.set(__self__, "skip_verify", skip_verify)
1017
+ if start_tls_policy is not None:
1018
+ pulumi.set(__self__, "start_tls_policy", start_tls_policy)
1019
+ if user is not None:
1020
+ pulumi.set(__self__, "user", user)
1021
+
1022
+ @property
1023
+ @pulumi.getter
1024
+ def enabled(self) -> Optional[bool]:
1025
+ """
1026
+ Enable this to allow Grafana to send email. Default is false
1027
+ """
1028
+ return pulumi.get(self, "enabled")
1029
+
1030
+ @property
1031
+ @pulumi.getter(name="fromAddress")
1032
+ def from_address(self) -> Optional[str]:
1033
+ """
1034
+ Address used when sending out emails
1035
+ https://pkg.go.dev/net/mail#Address
1036
+ """
1037
+ return pulumi.get(self, "from_address")
1038
+
1039
+ @property
1040
+ @pulumi.getter(name="fromName")
1041
+ def from_name(self) -> Optional[str]:
1042
+ """
1043
+ Name to be used when sending out emails. Default is "Azure Managed Grafana Notification"
1044
+ https://pkg.go.dev/net/mail#Address
1045
+ """
1046
+ return pulumi.get(self, "from_name")
1047
+
1048
+ @property
1049
+ @pulumi.getter
1050
+ def host(self) -> Optional[str]:
1051
+ """
1052
+ SMTP server hostname with port, e.g. test.email.net:587
1053
+ """
1054
+ return pulumi.get(self, "host")
1055
+
1056
+ @property
1057
+ @pulumi.getter
1058
+ def password(self) -> Optional[str]:
1059
+ """
1060
+ Password of SMTP auth. If the password contains # or ;, then you have to wrap it with triple quotes
1061
+ """
1062
+ return pulumi.get(self, "password")
1063
+
1064
+ @property
1065
+ @pulumi.getter(name="skipVerify")
1066
+ def skip_verify(self) -> Optional[bool]:
1067
+ """
1068
+ Verify SSL for SMTP server. Default is false
1069
+ https://pkg.go.dev/crypto/tls#Config
1070
+ """
1071
+ return pulumi.get(self, "skip_verify")
1072
+
1073
+ @property
1074
+ @pulumi.getter(name="startTLSPolicy")
1075
+ def start_tls_policy(self) -> Optional[str]:
1076
+ """
1077
+ The StartTLSPolicy setting of the SMTP configuration
1078
+ https://pkg.go.dev/github.com/go-mail/mail#StartTLSPolicy
1079
+ """
1080
+ return pulumi.get(self, "start_tls_policy")
1081
+
1082
+ @property
1083
+ @pulumi.getter
1084
+ def user(self) -> Optional[str]:
1085
+ """
1086
+ User of SMTP auth
1087
+ """
1088
+ return pulumi.get(self, "user")
1089
+
1090
+
1091
+ @pulumi.output_type
1092
+ class SnapshotsResponse(dict):
1093
+ """
1094
+ Grafana Snapshots settings
1095
+ """
1096
+ @staticmethod
1097
+ def __key_warning(key: str):
1098
+ suggest = None
1099
+ if key == "externalEnabled":
1100
+ suggest = "external_enabled"
1101
+
1102
+ if suggest:
1103
+ pulumi.log.warn(f"Key '{key}' not found in SnapshotsResponse. Access the value via the '{suggest}' property getter instead.")
1104
+
1105
+ def __getitem__(self, key: str) -> Any:
1106
+ SnapshotsResponse.__key_warning(key)
1107
+ return super().__getitem__(key)
1108
+
1109
+ def get(self, key: str, default = None) -> Any:
1110
+ SnapshotsResponse.__key_warning(key)
1111
+ return super().get(key, default)
1112
+
1113
+ def __init__(__self__, *,
1114
+ external_enabled: Optional[bool] = None):
1115
+ """
1116
+ Grafana Snapshots settings
1117
+ :param bool external_enabled: Set to false to disable external snapshot publish endpoint
1118
+ """
1119
+ if external_enabled is not None:
1120
+ pulumi.set(__self__, "external_enabled", external_enabled)
1121
+
1122
+ @property
1123
+ @pulumi.getter(name="externalEnabled")
1124
+ def external_enabled(self) -> Optional[bool]:
1125
+ """
1126
+ Set to false to disable external snapshot publish endpoint
1127
+ """
1128
+ return pulumi.get(self, "external_enabled")
1129
+
1130
+
1131
+ @pulumi.output_type
1132
+ class SystemDataResponse(dict):
1133
+ """
1134
+ Metadata pertaining to creation and last modification of the resource.
1135
+ """
1136
+ @staticmethod
1137
+ def __key_warning(key: str):
1138
+ suggest = None
1139
+ if key == "createdAt":
1140
+ suggest = "created_at"
1141
+ elif key == "createdBy":
1142
+ suggest = "created_by"
1143
+ elif key == "createdByType":
1144
+ suggest = "created_by_type"
1145
+ elif key == "lastModifiedAt":
1146
+ suggest = "last_modified_at"
1147
+ elif key == "lastModifiedBy":
1148
+ suggest = "last_modified_by"
1149
+ elif key == "lastModifiedByType":
1150
+ suggest = "last_modified_by_type"
1151
+
1152
+ if suggest:
1153
+ pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.")
1154
+
1155
+ def __getitem__(self, key: str) -> Any:
1156
+ SystemDataResponse.__key_warning(key)
1157
+ return super().__getitem__(key)
1158
+
1159
+ def get(self, key: str, default = None) -> Any:
1160
+ SystemDataResponse.__key_warning(key)
1161
+ return super().get(key, default)
1162
+
1163
+ def __init__(__self__, *,
1164
+ created_at: Optional[str] = None,
1165
+ created_by: Optional[str] = None,
1166
+ created_by_type: Optional[str] = None,
1167
+ last_modified_at: Optional[str] = None,
1168
+ last_modified_by: Optional[str] = None,
1169
+ last_modified_by_type: Optional[str] = None):
1170
+ """
1171
+ Metadata pertaining to creation and last modification of the resource.
1172
+ :param str created_at: The timestamp of resource creation (UTC).
1173
+ :param str created_by: The identity that created the resource.
1174
+ :param str created_by_type: The type of identity that created the resource.
1175
+ :param str last_modified_at: The timestamp of resource last modification (UTC)
1176
+ :param str last_modified_by: The identity that last modified the resource.
1177
+ :param str last_modified_by_type: The type of identity that last modified the resource.
1178
+ """
1179
+ if created_at is not None:
1180
+ pulumi.set(__self__, "created_at", created_at)
1181
+ if created_by is not None:
1182
+ pulumi.set(__self__, "created_by", created_by)
1183
+ if created_by_type is not None:
1184
+ pulumi.set(__self__, "created_by_type", created_by_type)
1185
+ if last_modified_at is not None:
1186
+ pulumi.set(__self__, "last_modified_at", last_modified_at)
1187
+ if last_modified_by is not None:
1188
+ pulumi.set(__self__, "last_modified_by", last_modified_by)
1189
+ if last_modified_by_type is not None:
1190
+ pulumi.set(__self__, "last_modified_by_type", last_modified_by_type)
1191
+
1192
+ @property
1193
+ @pulumi.getter(name="createdAt")
1194
+ def created_at(self) -> Optional[str]:
1195
+ """
1196
+ The timestamp of resource creation (UTC).
1197
+ """
1198
+ return pulumi.get(self, "created_at")
1199
+
1200
+ @property
1201
+ @pulumi.getter(name="createdBy")
1202
+ def created_by(self) -> Optional[str]:
1203
+ """
1204
+ The identity that created the resource.
1205
+ """
1206
+ return pulumi.get(self, "created_by")
1207
+
1208
+ @property
1209
+ @pulumi.getter(name="createdByType")
1210
+ def created_by_type(self) -> Optional[str]:
1211
+ """
1212
+ The type of identity that created the resource.
1213
+ """
1214
+ return pulumi.get(self, "created_by_type")
1215
+
1216
+ @property
1217
+ @pulumi.getter(name="lastModifiedAt")
1218
+ def last_modified_at(self) -> Optional[str]:
1219
+ """
1220
+ The timestamp of resource last modification (UTC)
1221
+ """
1222
+ return pulumi.get(self, "last_modified_at")
1223
+
1224
+ @property
1225
+ @pulumi.getter(name="lastModifiedBy")
1226
+ def last_modified_by(self) -> Optional[str]:
1227
+ """
1228
+ The identity that last modified the resource.
1229
+ """
1230
+ return pulumi.get(self, "last_modified_by")
1231
+
1232
+ @property
1233
+ @pulumi.getter(name="lastModifiedByType")
1234
+ def last_modified_by_type(self) -> Optional[str]:
1235
+ """
1236
+ The type of identity that last modified the resource.
1237
+ """
1238
+ return pulumi.get(self, "last_modified_by_type")
1239
+
1240
+
1241
+ @pulumi.output_type
1242
+ class UserAssignedIdentityResponse(dict):
1243
+ """
1244
+ User assigned identity properties
1245
+ """
1246
+ @staticmethod
1247
+ def __key_warning(key: str):
1248
+ suggest = None
1249
+ if key == "clientId":
1250
+ suggest = "client_id"
1251
+ elif key == "principalId":
1252
+ suggest = "principal_id"
1253
+
1254
+ if suggest:
1255
+ pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.")
1256
+
1257
+ def __getitem__(self, key: str) -> Any:
1258
+ UserAssignedIdentityResponse.__key_warning(key)
1259
+ return super().__getitem__(key)
1260
+
1261
+ def get(self, key: str, default = None) -> Any:
1262
+ UserAssignedIdentityResponse.__key_warning(key)
1263
+ return super().get(key, default)
1264
+
1265
+ def __init__(__self__, *,
1266
+ client_id: str,
1267
+ principal_id: str):
1268
+ """
1269
+ User assigned identity properties
1270
+ :param str client_id: The client ID of the assigned identity.
1271
+ :param str principal_id: The principal ID of the assigned identity.
1272
+ """
1273
+ pulumi.set(__self__, "client_id", client_id)
1274
+ pulumi.set(__self__, "principal_id", principal_id)
1275
+
1276
+ @property
1277
+ @pulumi.getter(name="clientId")
1278
+ def client_id(self) -> str:
1279
+ """
1280
+ The client ID of the assigned identity.
1281
+ """
1282
+ return pulumi.get(self, "client_id")
1283
+
1284
+ @property
1285
+ @pulumi.getter(name="principalId")
1286
+ def principal_id(self) -> str:
1287
+ """
1288
+ The principal ID of the assigned identity.
1289
+ """
1290
+ return pulumi.get(self, "principal_id")
1291
+
1292
+
1293
+ @pulumi.output_type
1294
+ class UsersResponse(dict):
1295
+ """
1296
+ Grafana users settings
1297
+ """
1298
+ @staticmethod
1299
+ def __key_warning(key: str):
1300
+ suggest = None
1301
+ if key == "viewersCanEdit":
1302
+ suggest = "viewers_can_edit"
1303
+
1304
+ if suggest:
1305
+ pulumi.log.warn(f"Key '{key}' not found in UsersResponse. Access the value via the '{suggest}' property getter instead.")
1306
+
1307
+ def __getitem__(self, key: str) -> Any:
1308
+ UsersResponse.__key_warning(key)
1309
+ return super().__getitem__(key)
1310
+
1311
+ def get(self, key: str, default = None) -> Any:
1312
+ UsersResponse.__key_warning(key)
1313
+ return super().get(key, default)
1314
+
1315
+ def __init__(__self__, *,
1316
+ viewers_can_edit: Optional[bool] = None):
1317
+ """
1318
+ Grafana users settings
1319
+ :param bool viewers_can_edit: Set to true so viewers can access and use explore and perform temporary edits on panels in dashboards they have access to. They cannot save their changes.
1320
+ """
1321
+ if viewers_can_edit is not None:
1322
+ pulumi.set(__self__, "viewers_can_edit", viewers_can_edit)
1323
+
1324
+ @property
1325
+ @pulumi.getter(name="viewersCanEdit")
1326
+ def viewers_can_edit(self) -> Optional[bool]:
1327
+ """
1328
+ Set to true so viewers can access and use explore and perform temporary edits on panels in dashboards they have access to. They cannot save their changes.
1329
+ """
1330
+ return pulumi.get(self, "viewers_can_edit")
1331
+
1332
+