pulumi-azure-native 2.84.0a1737570745__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.0a1737570745.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/METADATA +1 -1
  94. {pulumi_azure_native-2.84.0a1737570745.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/RECORD +96 -56
  95. {pulumi_azure_native-2.84.0a1737570745.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/WHEEL +0 -0
  96. {pulumi_azure_native-2.84.0a1737570745.dist-info → pulumi_azure_native-2.84.0a1737706742.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1009 @@
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 ._enums import *
17
+
18
+ __all__ = [
19
+ 'AzureMonitorWorkspaceIntegrationArgs',
20
+ 'AzureMonitorWorkspaceIntegrationArgsDict',
21
+ 'EnterpriseConfigurationsArgs',
22
+ 'EnterpriseConfigurationsArgsDict',
23
+ 'GrafanaConfigurationsArgs',
24
+ 'GrafanaConfigurationsArgsDict',
25
+ 'GrafanaIntegrationsArgs',
26
+ 'GrafanaIntegrationsArgsDict',
27
+ 'IntegrationFabricPropertiesArgs',
28
+ 'IntegrationFabricPropertiesArgsDict',
29
+ 'ManagedGrafanaPropertiesArgs',
30
+ 'ManagedGrafanaPropertiesArgsDict',
31
+ 'ManagedServiceIdentityArgs',
32
+ 'ManagedServiceIdentityArgsDict',
33
+ 'PrivateLinkServiceConnectionStateArgs',
34
+ 'PrivateLinkServiceConnectionStateArgsDict',
35
+ 'ResourceSkuArgs',
36
+ 'ResourceSkuArgsDict',
37
+ 'SecurityArgs',
38
+ 'SecurityArgsDict',
39
+ 'SmtpArgs',
40
+ 'SmtpArgsDict',
41
+ 'SnapshotsArgs',
42
+ 'SnapshotsArgsDict',
43
+ 'UsersArgs',
44
+ 'UsersArgsDict',
45
+ ]
46
+
47
+ MYPY = False
48
+
49
+ if not MYPY:
50
+ class AzureMonitorWorkspaceIntegrationArgsDict(TypedDict):
51
+ """
52
+ Integrations for Azure Monitor Workspace.
53
+ """
54
+ azure_monitor_workspace_resource_id: NotRequired[pulumi.Input[str]]
55
+ """
56
+ The resource Id of the connected Azure Monitor Workspace.
57
+ """
58
+ elif False:
59
+ AzureMonitorWorkspaceIntegrationArgsDict: TypeAlias = Mapping[str, Any]
60
+
61
+ @pulumi.input_type
62
+ class AzureMonitorWorkspaceIntegrationArgs:
63
+ def __init__(__self__, *,
64
+ azure_monitor_workspace_resource_id: Optional[pulumi.Input[str]] = None):
65
+ """
66
+ Integrations for Azure Monitor Workspace.
67
+ :param pulumi.Input[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[pulumi.Input[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
+ @azure_monitor_workspace_resource_id.setter
81
+ def azure_monitor_workspace_resource_id(self, value: Optional[pulumi.Input[str]]):
82
+ pulumi.set(self, "azure_monitor_workspace_resource_id", value)
83
+
84
+
85
+ if not MYPY:
86
+ class EnterpriseConfigurationsArgsDict(TypedDict):
87
+ """
88
+ Enterprise settings of a Grafana instance
89
+ """
90
+ marketplace_auto_renew: NotRequired[pulumi.Input[Union[str, 'MarketplaceAutoRenew']]]
91
+ """
92
+ The AutoRenew setting of the Enterprise subscription
93
+ """
94
+ marketplace_plan_id: NotRequired[pulumi.Input[str]]
95
+ """
96
+ The Plan Id of the Azure Marketplace subscription for the Enterprise plugins
97
+ """
98
+ elif False:
99
+ EnterpriseConfigurationsArgsDict: TypeAlias = Mapping[str, Any]
100
+
101
+ @pulumi.input_type
102
+ class EnterpriseConfigurationsArgs:
103
+ def __init__(__self__, *,
104
+ marketplace_auto_renew: Optional[pulumi.Input[Union[str, 'MarketplaceAutoRenew']]] = None,
105
+ marketplace_plan_id: Optional[pulumi.Input[str]] = None):
106
+ """
107
+ Enterprise settings of a Grafana instance
108
+ :param pulumi.Input[Union[str, 'MarketplaceAutoRenew']] marketplace_auto_renew: The AutoRenew setting of the Enterprise subscription
109
+ :param pulumi.Input[str] marketplace_plan_id: The Plan Id of the Azure Marketplace subscription for the Enterprise plugins
110
+ """
111
+ if marketplace_auto_renew is not None:
112
+ pulumi.set(__self__, "marketplace_auto_renew", marketplace_auto_renew)
113
+ if marketplace_plan_id is not None:
114
+ pulumi.set(__self__, "marketplace_plan_id", marketplace_plan_id)
115
+
116
+ @property
117
+ @pulumi.getter(name="marketplaceAutoRenew")
118
+ def marketplace_auto_renew(self) -> Optional[pulumi.Input[Union[str, 'MarketplaceAutoRenew']]]:
119
+ """
120
+ The AutoRenew setting of the Enterprise subscription
121
+ """
122
+ return pulumi.get(self, "marketplace_auto_renew")
123
+
124
+ @marketplace_auto_renew.setter
125
+ def marketplace_auto_renew(self, value: Optional[pulumi.Input[Union[str, 'MarketplaceAutoRenew']]]):
126
+ pulumi.set(self, "marketplace_auto_renew", value)
127
+
128
+ @property
129
+ @pulumi.getter(name="marketplacePlanId")
130
+ def marketplace_plan_id(self) -> Optional[pulumi.Input[str]]:
131
+ """
132
+ The Plan Id of the Azure Marketplace subscription for the Enterprise plugins
133
+ """
134
+ return pulumi.get(self, "marketplace_plan_id")
135
+
136
+ @marketplace_plan_id.setter
137
+ def marketplace_plan_id(self, value: Optional[pulumi.Input[str]]):
138
+ pulumi.set(self, "marketplace_plan_id", value)
139
+
140
+
141
+ if not MYPY:
142
+ class GrafanaConfigurationsArgsDict(TypedDict):
143
+ """
144
+ Server configurations of a Grafana instance
145
+ """
146
+ security: NotRequired[pulumi.Input['SecurityArgsDict']]
147
+ """
148
+ Grafana security settings
149
+ """
150
+ smtp: NotRequired[pulumi.Input['SmtpArgsDict']]
151
+ """
152
+ Email server settings.
153
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
154
+ """
155
+ snapshots: NotRequired[pulumi.Input['SnapshotsArgsDict']]
156
+ """
157
+ Grafana Snapshots settings
158
+ """
159
+ users: NotRequired[pulumi.Input['UsersArgsDict']]
160
+ """
161
+ Grafana users settings
162
+ """
163
+ elif False:
164
+ GrafanaConfigurationsArgsDict: TypeAlias = Mapping[str, Any]
165
+
166
+ @pulumi.input_type
167
+ class GrafanaConfigurationsArgs:
168
+ def __init__(__self__, *,
169
+ security: Optional[pulumi.Input['SecurityArgs']] = None,
170
+ smtp: Optional[pulumi.Input['SmtpArgs']] = None,
171
+ snapshots: Optional[pulumi.Input['SnapshotsArgs']] = None,
172
+ users: Optional[pulumi.Input['UsersArgs']] = None):
173
+ """
174
+ Server configurations of a Grafana instance
175
+ :param pulumi.Input['SecurityArgs'] security: Grafana security settings
176
+ :param pulumi.Input['SmtpArgs'] smtp: Email server settings.
177
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
178
+ :param pulumi.Input['SnapshotsArgs'] snapshots: Grafana Snapshots settings
179
+ :param pulumi.Input['UsersArgs'] users: Grafana users settings
180
+ """
181
+ if security is not None:
182
+ pulumi.set(__self__, "security", security)
183
+ if smtp is not None:
184
+ pulumi.set(__self__, "smtp", smtp)
185
+ if snapshots is not None:
186
+ pulumi.set(__self__, "snapshots", snapshots)
187
+ if users is not None:
188
+ pulumi.set(__self__, "users", users)
189
+
190
+ @property
191
+ @pulumi.getter
192
+ def security(self) -> Optional[pulumi.Input['SecurityArgs']]:
193
+ """
194
+ Grafana security settings
195
+ """
196
+ return pulumi.get(self, "security")
197
+
198
+ @security.setter
199
+ def security(self, value: Optional[pulumi.Input['SecurityArgs']]):
200
+ pulumi.set(self, "security", value)
201
+
202
+ @property
203
+ @pulumi.getter
204
+ def smtp(self) -> Optional[pulumi.Input['SmtpArgs']]:
205
+ """
206
+ Email server settings.
207
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
208
+ """
209
+ return pulumi.get(self, "smtp")
210
+
211
+ @smtp.setter
212
+ def smtp(self, value: Optional[pulumi.Input['SmtpArgs']]):
213
+ pulumi.set(self, "smtp", value)
214
+
215
+ @property
216
+ @pulumi.getter
217
+ def snapshots(self) -> Optional[pulumi.Input['SnapshotsArgs']]:
218
+ """
219
+ Grafana Snapshots settings
220
+ """
221
+ return pulumi.get(self, "snapshots")
222
+
223
+ @snapshots.setter
224
+ def snapshots(self, value: Optional[pulumi.Input['SnapshotsArgs']]):
225
+ pulumi.set(self, "snapshots", value)
226
+
227
+ @property
228
+ @pulumi.getter
229
+ def users(self) -> Optional[pulumi.Input['UsersArgs']]:
230
+ """
231
+ Grafana users settings
232
+ """
233
+ return pulumi.get(self, "users")
234
+
235
+ @users.setter
236
+ def users(self, value: Optional[pulumi.Input['UsersArgs']]):
237
+ pulumi.set(self, "users", value)
238
+
239
+
240
+ if not MYPY:
241
+ class GrafanaIntegrationsArgsDict(TypedDict):
242
+ """
243
+ GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
244
+ """
245
+ azure_monitor_workspace_integrations: NotRequired[pulumi.Input[Sequence[pulumi.Input['AzureMonitorWorkspaceIntegrationArgsDict']]]]
246
+ elif False:
247
+ GrafanaIntegrationsArgsDict: TypeAlias = Mapping[str, Any]
248
+
249
+ @pulumi.input_type
250
+ class GrafanaIntegrationsArgs:
251
+ def __init__(__self__, *,
252
+ azure_monitor_workspace_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['AzureMonitorWorkspaceIntegrationArgs']]]] = None):
253
+ """
254
+ GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
255
+ """
256
+ if azure_monitor_workspace_integrations is not None:
257
+ pulumi.set(__self__, "azure_monitor_workspace_integrations", azure_monitor_workspace_integrations)
258
+
259
+ @property
260
+ @pulumi.getter(name="azureMonitorWorkspaceIntegrations")
261
+ def azure_monitor_workspace_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AzureMonitorWorkspaceIntegrationArgs']]]]:
262
+ return pulumi.get(self, "azure_monitor_workspace_integrations")
263
+
264
+ @azure_monitor_workspace_integrations.setter
265
+ def azure_monitor_workspace_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AzureMonitorWorkspaceIntegrationArgs']]]]):
266
+ pulumi.set(self, "azure_monitor_workspace_integrations", value)
267
+
268
+
269
+ if not MYPY:
270
+ class IntegrationFabricPropertiesArgsDict(TypedDict):
271
+ data_source_resource_id: NotRequired[pulumi.Input[str]]
272
+ """
273
+ 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.
274
+ """
275
+ scenarios: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
276
+ """
277
+ A list of integration scenarios covered by this integration fabric
278
+ """
279
+ target_resource_id: NotRequired[pulumi.Input[str]]
280
+ """
281
+ The resource Id of the Azure resource being integrated with Azure Managed Grafana. E.g., an Azure Kubernetes Service cluster.
282
+ """
283
+ elif False:
284
+ IntegrationFabricPropertiesArgsDict: TypeAlias = Mapping[str, Any]
285
+
286
+ @pulumi.input_type
287
+ class IntegrationFabricPropertiesArgs:
288
+ def __init__(__self__, *,
289
+ data_source_resource_id: Optional[pulumi.Input[str]] = None,
290
+ scenarios: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
291
+ target_resource_id: Optional[pulumi.Input[str]] = None):
292
+ """
293
+ :param pulumi.Input[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.
294
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scenarios: A list of integration scenarios covered by this integration fabric
295
+ :param pulumi.Input[str] target_resource_id: The resource Id of the Azure resource being integrated with Azure Managed Grafana. E.g., an Azure Kubernetes Service cluster.
296
+ """
297
+ if data_source_resource_id is not None:
298
+ pulumi.set(__self__, "data_source_resource_id", data_source_resource_id)
299
+ if scenarios is not None:
300
+ pulumi.set(__self__, "scenarios", scenarios)
301
+ if target_resource_id is not None:
302
+ pulumi.set(__self__, "target_resource_id", target_resource_id)
303
+
304
+ @property
305
+ @pulumi.getter(name="dataSourceResourceId")
306
+ def data_source_resource_id(self) -> Optional[pulumi.Input[str]]:
307
+ """
308
+ 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.
309
+ """
310
+ return pulumi.get(self, "data_source_resource_id")
311
+
312
+ @data_source_resource_id.setter
313
+ def data_source_resource_id(self, value: Optional[pulumi.Input[str]]):
314
+ pulumi.set(self, "data_source_resource_id", value)
315
+
316
+ @property
317
+ @pulumi.getter
318
+ def scenarios(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
319
+ """
320
+ A list of integration scenarios covered by this integration fabric
321
+ """
322
+ return pulumi.get(self, "scenarios")
323
+
324
+ @scenarios.setter
325
+ def scenarios(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
326
+ pulumi.set(self, "scenarios", value)
327
+
328
+ @property
329
+ @pulumi.getter(name="targetResourceId")
330
+ def target_resource_id(self) -> Optional[pulumi.Input[str]]:
331
+ """
332
+ The resource Id of the Azure resource being integrated with Azure Managed Grafana. E.g., an Azure Kubernetes Service cluster.
333
+ """
334
+ return pulumi.get(self, "target_resource_id")
335
+
336
+ @target_resource_id.setter
337
+ def target_resource_id(self, value: Optional[pulumi.Input[str]]):
338
+ pulumi.set(self, "target_resource_id", value)
339
+
340
+
341
+ if not MYPY:
342
+ class ManagedGrafanaPropertiesArgsDict(TypedDict):
343
+ """
344
+ Properties specific to the grafana resource.
345
+ """
346
+ api_key: NotRequired[pulumi.Input[Union[str, 'ApiKey']]]
347
+ """
348
+ The api key setting of the Grafana instance.
349
+ """
350
+ auto_generated_domain_name_label_scope: NotRequired[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]
351
+ """
352
+ Scope for dns deterministic name hash calculation.
353
+ """
354
+ deterministic_outbound_ip: NotRequired[pulumi.Input[Union[str, 'DeterministicOutboundIP']]]
355
+ """
356
+ Whether a Grafana instance uses deterministic outbound IPs.
357
+ """
358
+ enterprise_configurations: NotRequired[pulumi.Input['EnterpriseConfigurationsArgsDict']]
359
+ """
360
+ Enterprise settings of a Grafana instance
361
+ """
362
+ grafana_configurations: NotRequired[pulumi.Input['GrafanaConfigurationsArgsDict']]
363
+ """
364
+ Server configurations of a Grafana instance
365
+ """
366
+ grafana_integrations: NotRequired[pulumi.Input['GrafanaIntegrationsArgsDict']]
367
+ """
368
+ GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
369
+ """
370
+ grafana_major_version: NotRequired[pulumi.Input[str]]
371
+ """
372
+ The major Grafana software version to target.
373
+ """
374
+ grafana_plugins: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
375
+ """
376
+ Installed plugin list of the Grafana instance. Key is plugin id, value is plugin definition.
377
+ """
378
+ public_network_access: NotRequired[pulumi.Input[Union[str, 'PublicNetworkAccess']]]
379
+ """
380
+ Indicate the state for enable or disable traffic over the public interface.
381
+ """
382
+ zone_redundancy: NotRequired[pulumi.Input[Union[str, 'ZoneRedundancy']]]
383
+ """
384
+ The zone redundancy setting of the Grafana instance.
385
+ """
386
+ elif False:
387
+ ManagedGrafanaPropertiesArgsDict: TypeAlias = Mapping[str, Any]
388
+
389
+ @pulumi.input_type
390
+ class ManagedGrafanaPropertiesArgs:
391
+ def __init__(__self__, *,
392
+ api_key: Optional[pulumi.Input[Union[str, 'ApiKey']]] = None,
393
+ auto_generated_domain_name_label_scope: Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]] = None,
394
+ deterministic_outbound_ip: Optional[pulumi.Input[Union[str, 'DeterministicOutboundIP']]] = None,
395
+ enterprise_configurations: Optional[pulumi.Input['EnterpriseConfigurationsArgs']] = None,
396
+ grafana_configurations: Optional[pulumi.Input['GrafanaConfigurationsArgs']] = None,
397
+ grafana_integrations: Optional[pulumi.Input['GrafanaIntegrationsArgs']] = None,
398
+ grafana_major_version: Optional[pulumi.Input[str]] = None,
399
+ grafana_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
400
+ public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None,
401
+ zone_redundancy: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]] = None):
402
+ """
403
+ Properties specific to the grafana resource.
404
+ :param pulumi.Input[Union[str, 'ApiKey']] api_key: The api key setting of the Grafana instance.
405
+ :param pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']] auto_generated_domain_name_label_scope: Scope for dns deterministic name hash calculation.
406
+ :param pulumi.Input[Union[str, 'DeterministicOutboundIP']] deterministic_outbound_ip: Whether a Grafana instance uses deterministic outbound IPs.
407
+ :param pulumi.Input['EnterpriseConfigurationsArgs'] enterprise_configurations: Enterprise settings of a Grafana instance
408
+ :param pulumi.Input['GrafanaConfigurationsArgs'] grafana_configurations: Server configurations of a Grafana instance
409
+ :param pulumi.Input['GrafanaIntegrationsArgs'] grafana_integrations: GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
410
+ :param pulumi.Input[str] grafana_major_version: The major Grafana software version to target.
411
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] grafana_plugins: Installed plugin list of the Grafana instance. Key is plugin id, value is plugin definition.
412
+ :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Indicate the state for enable or disable traffic over the public interface.
413
+ :param pulumi.Input[Union[str, 'ZoneRedundancy']] zone_redundancy: The zone redundancy setting of the Grafana instance.
414
+ """
415
+ if api_key is not None:
416
+ pulumi.set(__self__, "api_key", api_key)
417
+ if auto_generated_domain_name_label_scope is not None:
418
+ pulumi.set(__self__, "auto_generated_domain_name_label_scope", auto_generated_domain_name_label_scope)
419
+ if deterministic_outbound_ip is not None:
420
+ pulumi.set(__self__, "deterministic_outbound_ip", deterministic_outbound_ip)
421
+ if enterprise_configurations is not None:
422
+ pulumi.set(__self__, "enterprise_configurations", enterprise_configurations)
423
+ if grafana_configurations is not None:
424
+ pulumi.set(__self__, "grafana_configurations", grafana_configurations)
425
+ if grafana_integrations is not None:
426
+ pulumi.set(__self__, "grafana_integrations", grafana_integrations)
427
+ if grafana_major_version is not None:
428
+ pulumi.set(__self__, "grafana_major_version", grafana_major_version)
429
+ if grafana_plugins is not None:
430
+ pulumi.set(__self__, "grafana_plugins", grafana_plugins)
431
+ if public_network_access is not None:
432
+ pulumi.set(__self__, "public_network_access", public_network_access)
433
+ if zone_redundancy is not None:
434
+ pulumi.set(__self__, "zone_redundancy", zone_redundancy)
435
+
436
+ @property
437
+ @pulumi.getter(name="apiKey")
438
+ def api_key(self) -> Optional[pulumi.Input[Union[str, 'ApiKey']]]:
439
+ """
440
+ The api key setting of the Grafana instance.
441
+ """
442
+ return pulumi.get(self, "api_key")
443
+
444
+ @api_key.setter
445
+ def api_key(self, value: Optional[pulumi.Input[Union[str, 'ApiKey']]]):
446
+ pulumi.set(self, "api_key", value)
447
+
448
+ @property
449
+ @pulumi.getter(name="autoGeneratedDomainNameLabelScope")
450
+ def auto_generated_domain_name_label_scope(self) -> Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]:
451
+ """
452
+ Scope for dns deterministic name hash calculation.
453
+ """
454
+ return pulumi.get(self, "auto_generated_domain_name_label_scope")
455
+
456
+ @auto_generated_domain_name_label_scope.setter
457
+ def auto_generated_domain_name_label_scope(self, value: Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]):
458
+ pulumi.set(self, "auto_generated_domain_name_label_scope", value)
459
+
460
+ @property
461
+ @pulumi.getter(name="deterministicOutboundIP")
462
+ def deterministic_outbound_ip(self) -> Optional[pulumi.Input[Union[str, 'DeterministicOutboundIP']]]:
463
+ """
464
+ Whether a Grafana instance uses deterministic outbound IPs.
465
+ """
466
+ return pulumi.get(self, "deterministic_outbound_ip")
467
+
468
+ @deterministic_outbound_ip.setter
469
+ def deterministic_outbound_ip(self, value: Optional[pulumi.Input[Union[str, 'DeterministicOutboundIP']]]):
470
+ pulumi.set(self, "deterministic_outbound_ip", value)
471
+
472
+ @property
473
+ @pulumi.getter(name="enterpriseConfigurations")
474
+ def enterprise_configurations(self) -> Optional[pulumi.Input['EnterpriseConfigurationsArgs']]:
475
+ """
476
+ Enterprise settings of a Grafana instance
477
+ """
478
+ return pulumi.get(self, "enterprise_configurations")
479
+
480
+ @enterprise_configurations.setter
481
+ def enterprise_configurations(self, value: Optional[pulumi.Input['EnterpriseConfigurationsArgs']]):
482
+ pulumi.set(self, "enterprise_configurations", value)
483
+
484
+ @property
485
+ @pulumi.getter(name="grafanaConfigurations")
486
+ def grafana_configurations(self) -> Optional[pulumi.Input['GrafanaConfigurationsArgs']]:
487
+ """
488
+ Server configurations of a Grafana instance
489
+ """
490
+ return pulumi.get(self, "grafana_configurations")
491
+
492
+ @grafana_configurations.setter
493
+ def grafana_configurations(self, value: Optional[pulumi.Input['GrafanaConfigurationsArgs']]):
494
+ pulumi.set(self, "grafana_configurations", value)
495
+
496
+ @property
497
+ @pulumi.getter(name="grafanaIntegrations")
498
+ def grafana_integrations(self) -> Optional[pulumi.Input['GrafanaIntegrationsArgs']]:
499
+ """
500
+ GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.
501
+ """
502
+ return pulumi.get(self, "grafana_integrations")
503
+
504
+ @grafana_integrations.setter
505
+ def grafana_integrations(self, value: Optional[pulumi.Input['GrafanaIntegrationsArgs']]):
506
+ pulumi.set(self, "grafana_integrations", value)
507
+
508
+ @property
509
+ @pulumi.getter(name="grafanaMajorVersion")
510
+ def grafana_major_version(self) -> Optional[pulumi.Input[str]]:
511
+ """
512
+ The major Grafana software version to target.
513
+ """
514
+ return pulumi.get(self, "grafana_major_version")
515
+
516
+ @grafana_major_version.setter
517
+ def grafana_major_version(self, value: Optional[pulumi.Input[str]]):
518
+ pulumi.set(self, "grafana_major_version", value)
519
+
520
+ @property
521
+ @pulumi.getter(name="grafanaPlugins")
522
+ def grafana_plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
523
+ """
524
+ Installed plugin list of the Grafana instance. Key is plugin id, value is plugin definition.
525
+ """
526
+ return pulumi.get(self, "grafana_plugins")
527
+
528
+ @grafana_plugins.setter
529
+ def grafana_plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
530
+ pulumi.set(self, "grafana_plugins", value)
531
+
532
+ @property
533
+ @pulumi.getter(name="publicNetworkAccess")
534
+ def public_network_access(self) -> Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]:
535
+ """
536
+ Indicate the state for enable or disable traffic over the public interface.
537
+ """
538
+ return pulumi.get(self, "public_network_access")
539
+
540
+ @public_network_access.setter
541
+ def public_network_access(self, value: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]):
542
+ pulumi.set(self, "public_network_access", value)
543
+
544
+ @property
545
+ @pulumi.getter(name="zoneRedundancy")
546
+ def zone_redundancy(self) -> Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]]:
547
+ """
548
+ The zone redundancy setting of the Grafana instance.
549
+ """
550
+ return pulumi.get(self, "zone_redundancy")
551
+
552
+ @zone_redundancy.setter
553
+ def zone_redundancy(self, value: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]]):
554
+ pulumi.set(self, "zone_redundancy", value)
555
+
556
+
557
+ if not MYPY:
558
+ class ManagedServiceIdentityArgsDict(TypedDict):
559
+ """
560
+ Managed service identity (system assigned and/or user assigned identities)
561
+ """
562
+ type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]
563
+ """
564
+ Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
565
+ """
566
+ user_assigned_identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
567
+ """
568
+ 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.
569
+ """
570
+ elif False:
571
+ ManagedServiceIdentityArgsDict: TypeAlias = Mapping[str, Any]
572
+
573
+ @pulumi.input_type
574
+ class ManagedServiceIdentityArgs:
575
+ def __init__(__self__, *,
576
+ type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']],
577
+ user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
578
+ """
579
+ Managed service identity (system assigned and/or user assigned identities)
580
+ :param pulumi.Input[Union[str, 'ManagedServiceIdentityType']] type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
581
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] 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.
582
+ """
583
+ pulumi.set(__self__, "type", type)
584
+ if user_assigned_identities is not None:
585
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
586
+
587
+ @property
588
+ @pulumi.getter
589
+ def type(self) -> pulumi.Input[Union[str, 'ManagedServiceIdentityType']]:
590
+ """
591
+ Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
592
+ """
593
+ return pulumi.get(self, "type")
594
+
595
+ @type.setter
596
+ def type(self, value: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]):
597
+ pulumi.set(self, "type", value)
598
+
599
+ @property
600
+ @pulumi.getter(name="userAssignedIdentities")
601
+ def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
602
+ """
603
+ 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.
604
+ """
605
+ return pulumi.get(self, "user_assigned_identities")
606
+
607
+ @user_assigned_identities.setter
608
+ def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
609
+ pulumi.set(self, "user_assigned_identities", value)
610
+
611
+
612
+ if not MYPY:
613
+ class PrivateLinkServiceConnectionStateArgsDict(TypedDict):
614
+ """
615
+ A collection of information about the state of the connection between service consumer and provider.
616
+ """
617
+ actions_required: NotRequired[pulumi.Input[str]]
618
+ """
619
+ A message indicating if changes on the service provider require any updates on the consumer.
620
+ """
621
+ description: NotRequired[pulumi.Input[str]]
622
+ """
623
+ The reason for approval/rejection of the connection.
624
+ """
625
+ status: NotRequired[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]
626
+ """
627
+ Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
628
+ """
629
+ elif False:
630
+ PrivateLinkServiceConnectionStateArgsDict: TypeAlias = Mapping[str, Any]
631
+
632
+ @pulumi.input_type
633
+ class PrivateLinkServiceConnectionStateArgs:
634
+ def __init__(__self__, *,
635
+ actions_required: Optional[pulumi.Input[str]] = None,
636
+ description: Optional[pulumi.Input[str]] = None,
637
+ status: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]] = None):
638
+ """
639
+ A collection of information about the state of the connection between service consumer and provider.
640
+ :param pulumi.Input[str] actions_required: A message indicating if changes on the service provider require any updates on the consumer.
641
+ :param pulumi.Input[str] description: The reason for approval/rejection of the connection.
642
+ :param pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']] status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
643
+ """
644
+ if actions_required is not None:
645
+ pulumi.set(__self__, "actions_required", actions_required)
646
+ if description is not None:
647
+ pulumi.set(__self__, "description", description)
648
+ if status is not None:
649
+ pulumi.set(__self__, "status", status)
650
+
651
+ @property
652
+ @pulumi.getter(name="actionsRequired")
653
+ def actions_required(self) -> Optional[pulumi.Input[str]]:
654
+ """
655
+ A message indicating if changes on the service provider require any updates on the consumer.
656
+ """
657
+ return pulumi.get(self, "actions_required")
658
+
659
+ @actions_required.setter
660
+ def actions_required(self, value: Optional[pulumi.Input[str]]):
661
+ pulumi.set(self, "actions_required", value)
662
+
663
+ @property
664
+ @pulumi.getter
665
+ def description(self) -> Optional[pulumi.Input[str]]:
666
+ """
667
+ The reason for approval/rejection of the connection.
668
+ """
669
+ return pulumi.get(self, "description")
670
+
671
+ @description.setter
672
+ def description(self, value: Optional[pulumi.Input[str]]):
673
+ pulumi.set(self, "description", value)
674
+
675
+ @property
676
+ @pulumi.getter
677
+ def status(self) -> Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]:
678
+ """
679
+ Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
680
+ """
681
+ return pulumi.get(self, "status")
682
+
683
+ @status.setter
684
+ def status(self, value: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]):
685
+ pulumi.set(self, "status", value)
686
+
687
+
688
+ if not MYPY:
689
+ class ResourceSkuArgsDict(TypedDict):
690
+ name: pulumi.Input[str]
691
+ elif False:
692
+ ResourceSkuArgsDict: TypeAlias = Mapping[str, Any]
693
+
694
+ @pulumi.input_type
695
+ class ResourceSkuArgs:
696
+ def __init__(__self__, *,
697
+ name: pulumi.Input[str]):
698
+ pulumi.set(__self__, "name", name)
699
+
700
+ @property
701
+ @pulumi.getter
702
+ def name(self) -> pulumi.Input[str]:
703
+ return pulumi.get(self, "name")
704
+
705
+ @name.setter
706
+ def name(self, value: pulumi.Input[str]):
707
+ pulumi.set(self, "name", value)
708
+
709
+
710
+ if not MYPY:
711
+ class SecurityArgsDict(TypedDict):
712
+ """
713
+ Grafana security settings
714
+ """
715
+ csrf_always_check: NotRequired[pulumi.Input[bool]]
716
+ """
717
+ Set to true to execute the CSRF check even if the login cookie is not in a request (default false).
718
+ """
719
+ elif False:
720
+ SecurityArgsDict: TypeAlias = Mapping[str, Any]
721
+
722
+ @pulumi.input_type
723
+ class SecurityArgs:
724
+ def __init__(__self__, *,
725
+ csrf_always_check: Optional[pulumi.Input[bool]] = None):
726
+ """
727
+ Grafana security settings
728
+ :param pulumi.Input[bool] csrf_always_check: Set to true to execute the CSRF check even if the login cookie is not in a request (default false).
729
+ """
730
+ if csrf_always_check is not None:
731
+ pulumi.set(__self__, "csrf_always_check", csrf_always_check)
732
+
733
+ @property
734
+ @pulumi.getter(name="csrfAlwaysCheck")
735
+ def csrf_always_check(self) -> Optional[pulumi.Input[bool]]:
736
+ """
737
+ Set to true to execute the CSRF check even if the login cookie is not in a request (default false).
738
+ """
739
+ return pulumi.get(self, "csrf_always_check")
740
+
741
+ @csrf_always_check.setter
742
+ def csrf_always_check(self, value: Optional[pulumi.Input[bool]]):
743
+ pulumi.set(self, "csrf_always_check", value)
744
+
745
+
746
+ if not MYPY:
747
+ class SmtpArgsDict(TypedDict):
748
+ """
749
+ Email server settings.
750
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
751
+ """
752
+ enabled: NotRequired[pulumi.Input[bool]]
753
+ """
754
+ Enable this to allow Grafana to send email. Default is false
755
+ """
756
+ from_address: NotRequired[pulumi.Input[str]]
757
+ """
758
+ Address used when sending out emails
759
+ https://pkg.go.dev/net/mail#Address
760
+ """
761
+ from_name: NotRequired[pulumi.Input[str]]
762
+ """
763
+ Name to be used when sending out emails. Default is "Azure Managed Grafana Notification"
764
+ https://pkg.go.dev/net/mail#Address
765
+ """
766
+ host: NotRequired[pulumi.Input[str]]
767
+ """
768
+ SMTP server hostname with port, e.g. test.email.net:587
769
+ """
770
+ password: NotRequired[pulumi.Input[str]]
771
+ """
772
+ Password of SMTP auth. If the password contains # or ;, then you have to wrap it with triple quotes
773
+ """
774
+ skip_verify: NotRequired[pulumi.Input[bool]]
775
+ """
776
+ Verify SSL for SMTP server. Default is false
777
+ https://pkg.go.dev/crypto/tls#Config
778
+ """
779
+ start_tls_policy: NotRequired[pulumi.Input[Union[str, 'StartTLSPolicy']]]
780
+ """
781
+ The StartTLSPolicy setting of the SMTP configuration
782
+ https://pkg.go.dev/github.com/go-mail/mail#StartTLSPolicy
783
+ """
784
+ user: NotRequired[pulumi.Input[str]]
785
+ """
786
+ User of SMTP auth
787
+ """
788
+ elif False:
789
+ SmtpArgsDict: TypeAlias = Mapping[str, Any]
790
+
791
+ @pulumi.input_type
792
+ class SmtpArgs:
793
+ def __init__(__self__, *,
794
+ enabled: Optional[pulumi.Input[bool]] = None,
795
+ from_address: Optional[pulumi.Input[str]] = None,
796
+ from_name: Optional[pulumi.Input[str]] = None,
797
+ host: Optional[pulumi.Input[str]] = None,
798
+ password: Optional[pulumi.Input[str]] = None,
799
+ skip_verify: Optional[pulumi.Input[bool]] = None,
800
+ start_tls_policy: Optional[pulumi.Input[Union[str, 'StartTLSPolicy']]] = None,
801
+ user: Optional[pulumi.Input[str]] = None):
802
+ """
803
+ Email server settings.
804
+ https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp
805
+ :param pulumi.Input[bool] enabled: Enable this to allow Grafana to send email. Default is false
806
+ :param pulumi.Input[str] from_address: Address used when sending out emails
807
+ https://pkg.go.dev/net/mail#Address
808
+ :param pulumi.Input[str] from_name: Name to be used when sending out emails. Default is "Azure Managed Grafana Notification"
809
+ https://pkg.go.dev/net/mail#Address
810
+ :param pulumi.Input[str] host: SMTP server hostname with port, e.g. test.email.net:587
811
+ :param pulumi.Input[str] password: Password of SMTP auth. If the password contains # or ;, then you have to wrap it with triple quotes
812
+ :param pulumi.Input[bool] skip_verify: Verify SSL for SMTP server. Default is false
813
+ https://pkg.go.dev/crypto/tls#Config
814
+ :param pulumi.Input[Union[str, 'StartTLSPolicy']] start_tls_policy: The StartTLSPolicy setting of the SMTP configuration
815
+ https://pkg.go.dev/github.com/go-mail/mail#StartTLSPolicy
816
+ :param pulumi.Input[str] user: User of SMTP auth
817
+ """
818
+ if enabled is None:
819
+ enabled = False
820
+ if enabled is not None:
821
+ pulumi.set(__self__, "enabled", enabled)
822
+ if from_address is not None:
823
+ pulumi.set(__self__, "from_address", from_address)
824
+ if from_name is not None:
825
+ pulumi.set(__self__, "from_name", from_name)
826
+ if host is not None:
827
+ pulumi.set(__self__, "host", host)
828
+ if password is not None:
829
+ pulumi.set(__self__, "password", password)
830
+ if skip_verify is not None:
831
+ pulumi.set(__self__, "skip_verify", skip_verify)
832
+ if start_tls_policy is not None:
833
+ pulumi.set(__self__, "start_tls_policy", start_tls_policy)
834
+ if user is not None:
835
+ pulumi.set(__self__, "user", user)
836
+
837
+ @property
838
+ @pulumi.getter
839
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
840
+ """
841
+ Enable this to allow Grafana to send email. Default is false
842
+ """
843
+ return pulumi.get(self, "enabled")
844
+
845
+ @enabled.setter
846
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
847
+ pulumi.set(self, "enabled", value)
848
+
849
+ @property
850
+ @pulumi.getter(name="fromAddress")
851
+ def from_address(self) -> Optional[pulumi.Input[str]]:
852
+ """
853
+ Address used when sending out emails
854
+ https://pkg.go.dev/net/mail#Address
855
+ """
856
+ return pulumi.get(self, "from_address")
857
+
858
+ @from_address.setter
859
+ def from_address(self, value: Optional[pulumi.Input[str]]):
860
+ pulumi.set(self, "from_address", value)
861
+
862
+ @property
863
+ @pulumi.getter(name="fromName")
864
+ def from_name(self) -> Optional[pulumi.Input[str]]:
865
+ """
866
+ Name to be used when sending out emails. Default is "Azure Managed Grafana Notification"
867
+ https://pkg.go.dev/net/mail#Address
868
+ """
869
+ return pulumi.get(self, "from_name")
870
+
871
+ @from_name.setter
872
+ def from_name(self, value: Optional[pulumi.Input[str]]):
873
+ pulumi.set(self, "from_name", value)
874
+
875
+ @property
876
+ @pulumi.getter
877
+ def host(self) -> Optional[pulumi.Input[str]]:
878
+ """
879
+ SMTP server hostname with port, e.g. test.email.net:587
880
+ """
881
+ return pulumi.get(self, "host")
882
+
883
+ @host.setter
884
+ def host(self, value: Optional[pulumi.Input[str]]):
885
+ pulumi.set(self, "host", value)
886
+
887
+ @property
888
+ @pulumi.getter
889
+ def password(self) -> Optional[pulumi.Input[str]]:
890
+ """
891
+ Password of SMTP auth. If the password contains # or ;, then you have to wrap it with triple quotes
892
+ """
893
+ return pulumi.get(self, "password")
894
+
895
+ @password.setter
896
+ def password(self, value: Optional[pulumi.Input[str]]):
897
+ pulumi.set(self, "password", value)
898
+
899
+ @property
900
+ @pulumi.getter(name="skipVerify")
901
+ def skip_verify(self) -> Optional[pulumi.Input[bool]]:
902
+ """
903
+ Verify SSL for SMTP server. Default is false
904
+ https://pkg.go.dev/crypto/tls#Config
905
+ """
906
+ return pulumi.get(self, "skip_verify")
907
+
908
+ @skip_verify.setter
909
+ def skip_verify(self, value: Optional[pulumi.Input[bool]]):
910
+ pulumi.set(self, "skip_verify", value)
911
+
912
+ @property
913
+ @pulumi.getter(name="startTLSPolicy")
914
+ def start_tls_policy(self) -> Optional[pulumi.Input[Union[str, 'StartTLSPolicy']]]:
915
+ """
916
+ The StartTLSPolicy setting of the SMTP configuration
917
+ https://pkg.go.dev/github.com/go-mail/mail#StartTLSPolicy
918
+ """
919
+ return pulumi.get(self, "start_tls_policy")
920
+
921
+ @start_tls_policy.setter
922
+ def start_tls_policy(self, value: Optional[pulumi.Input[Union[str, 'StartTLSPolicy']]]):
923
+ pulumi.set(self, "start_tls_policy", value)
924
+
925
+ @property
926
+ @pulumi.getter
927
+ def user(self) -> Optional[pulumi.Input[str]]:
928
+ """
929
+ User of SMTP auth
930
+ """
931
+ return pulumi.get(self, "user")
932
+
933
+ @user.setter
934
+ def user(self, value: Optional[pulumi.Input[str]]):
935
+ pulumi.set(self, "user", value)
936
+
937
+
938
+ if not MYPY:
939
+ class SnapshotsArgsDict(TypedDict):
940
+ """
941
+ Grafana Snapshots settings
942
+ """
943
+ external_enabled: NotRequired[pulumi.Input[bool]]
944
+ """
945
+ Set to false to disable external snapshot publish endpoint
946
+ """
947
+ elif False:
948
+ SnapshotsArgsDict: TypeAlias = Mapping[str, Any]
949
+
950
+ @pulumi.input_type
951
+ class SnapshotsArgs:
952
+ def __init__(__self__, *,
953
+ external_enabled: Optional[pulumi.Input[bool]] = None):
954
+ """
955
+ Grafana Snapshots settings
956
+ :param pulumi.Input[bool] external_enabled: Set to false to disable external snapshot publish endpoint
957
+ """
958
+ if external_enabled is not None:
959
+ pulumi.set(__self__, "external_enabled", external_enabled)
960
+
961
+ @property
962
+ @pulumi.getter(name="externalEnabled")
963
+ def external_enabled(self) -> Optional[pulumi.Input[bool]]:
964
+ """
965
+ Set to false to disable external snapshot publish endpoint
966
+ """
967
+ return pulumi.get(self, "external_enabled")
968
+
969
+ @external_enabled.setter
970
+ def external_enabled(self, value: Optional[pulumi.Input[bool]]):
971
+ pulumi.set(self, "external_enabled", value)
972
+
973
+
974
+ if not MYPY:
975
+ class UsersArgsDict(TypedDict):
976
+ """
977
+ Grafana users settings
978
+ """
979
+ viewers_can_edit: NotRequired[pulumi.Input[bool]]
980
+ """
981
+ 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.
982
+ """
983
+ elif False:
984
+ UsersArgsDict: TypeAlias = Mapping[str, Any]
985
+
986
+ @pulumi.input_type
987
+ class UsersArgs:
988
+ def __init__(__self__, *,
989
+ viewers_can_edit: Optional[pulumi.Input[bool]] = None):
990
+ """
991
+ Grafana users settings
992
+ :param pulumi.Input[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.
993
+ """
994
+ if viewers_can_edit is not None:
995
+ pulumi.set(__self__, "viewers_can_edit", viewers_can_edit)
996
+
997
+ @property
998
+ @pulumi.getter(name="viewersCanEdit")
999
+ def viewers_can_edit(self) -> Optional[pulumi.Input[bool]]:
1000
+ """
1001
+ 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.
1002
+ """
1003
+ return pulumi.get(self, "viewers_can_edit")
1004
+
1005
+ @viewers_can_edit.setter
1006
+ def viewers_can_edit(self, value: Optional[pulumi.Input[bool]]):
1007
+ pulumi.set(self, "viewers_can_edit", value)
1008
+
1009
+