pulumi-cloudamqp 3.23.0a1746768292__py3-none-any.whl → 3.24.2__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-cloudamqp might be problematic. Click here for more details.

Files changed (54) hide show
  1. pulumi_cloudamqp/__init__.py +23 -5
  2. pulumi_cloudamqp/_inputs.py +633 -82
  3. pulumi_cloudamqp/_utilities.py +1 -1
  4. pulumi_cloudamqp/{account_action.py → account_actions.py} +60 -74
  5. pulumi_cloudamqp/alarm.py +189 -190
  6. pulumi_cloudamqp/config/__init__.py +2 -2
  7. pulumi_cloudamqp/config/__init__.pyi +2 -3
  8. pulumi_cloudamqp/config/vars.py +5 -6
  9. pulumi_cloudamqp/custom_domain.py +40 -41
  10. pulumi_cloudamqp/extra_disk_size.py +89 -90
  11. pulumi_cloudamqp/get_account.py +5 -6
  12. pulumi_cloudamqp/get_account_vpcs.py +5 -6
  13. pulumi_cloudamqp/get_alarm.py +44 -45
  14. pulumi_cloudamqp/get_alarms.py +17 -18
  15. pulumi_cloudamqp/get_credentials.py +14 -15
  16. pulumi_cloudamqp/get_instance.py +44 -45
  17. pulumi_cloudamqp/get_nodes.py +11 -12
  18. pulumi_cloudamqp/get_notification.py +32 -33
  19. pulumi_cloudamqp/get_notifications.py +11 -12
  20. pulumi_cloudamqp/get_plugins.py +23 -24
  21. pulumi_cloudamqp/get_plugins_community.py +23 -24
  22. pulumi_cloudamqp/get_upgradable_versions.py +14 -15
  23. pulumi_cloudamqp/get_vpc_gcp_info.py +34 -35
  24. pulumi_cloudamqp/get_vpc_info.py +24 -25
  25. pulumi_cloudamqp/instance.py +428 -280
  26. pulumi_cloudamqp/integration_aws_eventbridge.py +246 -116
  27. pulumi_cloudamqp/integration_log.py +982 -581
  28. pulumi_cloudamqp/integration_metric.py +615 -479
  29. pulumi_cloudamqp/integration_metric_prometheus.py +770 -0
  30. pulumi_cloudamqp/maintenance_window.py +76 -73
  31. pulumi_cloudamqp/node_actions.py +62 -63
  32. pulumi_cloudamqp/notification.py +92 -93
  33. pulumi_cloudamqp/oauth2_configuration.py +1042 -0
  34. pulumi_cloudamqp/outputs.py +680 -241
  35. pulumi_cloudamqp/plugin.py +105 -106
  36. pulumi_cloudamqp/plugin_community.py +105 -106
  37. pulumi_cloudamqp/privatelink_aws.py +97 -98
  38. pulumi_cloudamqp/privatelink_azure.py +97 -98
  39. pulumi_cloudamqp/provider.py +32 -34
  40. pulumi_cloudamqp/pulumi-plugin.json +1 -1
  41. pulumi_cloudamqp/rabbit_configuration.py +206 -221
  42. pulumi_cloudamqp/security_firewall.py +56 -57
  43. pulumi_cloudamqp/upgrade_lavinmq.py +36 -37
  44. pulumi_cloudamqp/upgrade_rabbitmq.py +53 -54
  45. pulumi_cloudamqp/vpc.py +83 -84
  46. pulumi_cloudamqp/vpc_connect.py +148 -149
  47. pulumi_cloudamqp/vpc_gcp_peering.py +131 -132
  48. pulumi_cloudamqp/vpc_peering.py +96 -97
  49. pulumi_cloudamqp/webhook.py +121 -122
  50. {pulumi_cloudamqp-3.23.0a1746768292.dist-info → pulumi_cloudamqp-3.24.2.dist-info}/METADATA +1 -1
  51. pulumi_cloudamqp-3.24.2.dist-info/RECORD +54 -0
  52. {pulumi_cloudamqp-3.23.0a1746768292.dist-info → pulumi_cloudamqp-3.24.2.dist-info}/WHEEL +1 -1
  53. pulumi_cloudamqp-3.23.0a1746768292.dist-info/RECORD +0 -52
  54. {pulumi_cloudamqp-3.23.0a1746768292.dist-info → pulumi_cloudamqp-3.24.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,770 @@
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 builtins as _builtins
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 ._inputs import *
18
+
19
+ __all__ = ['IntegrationMetricPrometheusArgs', 'IntegrationMetricPrometheus']
20
+
21
+ @pulumi.input_type
22
+ class IntegrationMetricPrometheusArgs:
23
+ def __init__(__self__, *,
24
+ instance_id: pulumi.Input[_builtins.int],
25
+ azure_monitor: Optional[pulumi.Input['IntegrationMetricPrometheusAzureMonitorArgs']] = None,
26
+ cloudwatch_v3: Optional[pulumi.Input['IntegrationMetricPrometheusCloudwatchV3Args']] = None,
27
+ datadog_v3: Optional[pulumi.Input['IntegrationMetricPrometheusDatadogV3Args']] = None,
28
+ dynatrace: Optional[pulumi.Input['IntegrationMetricPrometheusDynatraceArgs']] = None,
29
+ metrics_filters: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
30
+ newrelic_v3: Optional[pulumi.Input['IntegrationMetricPrometheusNewrelicV3Args']] = None,
31
+ splunk_v2: Optional[pulumi.Input['IntegrationMetricPrometheusSplunkV2Args']] = None,
32
+ stackdriver_v2: Optional[pulumi.Input['IntegrationMetricPrometheusStackdriverV2Args']] = None):
33
+ """
34
+ The set of arguments for constructing a IntegrationMetricPrometheus resource.
35
+ :param pulumi.Input[_builtins.int] instance_id: Instance identifier for the CloudAMQP instance.
36
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] metrics_filters: List of metrics to include in the integration. If not specified, default metrics are included.
37
+ For more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).
38
+
39
+ Exactly one of the following integration blocks must be specified:
40
+ """
41
+ pulumi.set(__self__, "instance_id", instance_id)
42
+ if azure_monitor is not None:
43
+ pulumi.set(__self__, "azure_monitor", azure_monitor)
44
+ if cloudwatch_v3 is not None:
45
+ pulumi.set(__self__, "cloudwatch_v3", cloudwatch_v3)
46
+ if datadog_v3 is not None:
47
+ pulumi.set(__self__, "datadog_v3", datadog_v3)
48
+ if dynatrace is not None:
49
+ pulumi.set(__self__, "dynatrace", dynatrace)
50
+ if metrics_filters is not None:
51
+ pulumi.set(__self__, "metrics_filters", metrics_filters)
52
+ if newrelic_v3 is not None:
53
+ pulumi.set(__self__, "newrelic_v3", newrelic_v3)
54
+ if splunk_v2 is not None:
55
+ pulumi.set(__self__, "splunk_v2", splunk_v2)
56
+ if stackdriver_v2 is not None:
57
+ pulumi.set(__self__, "stackdriver_v2", stackdriver_v2)
58
+
59
+ @_builtins.property
60
+ @pulumi.getter(name="instanceId")
61
+ def instance_id(self) -> pulumi.Input[_builtins.int]:
62
+ """
63
+ Instance identifier for the CloudAMQP instance.
64
+ """
65
+ return pulumi.get(self, "instance_id")
66
+
67
+ @instance_id.setter
68
+ def instance_id(self, value: pulumi.Input[_builtins.int]):
69
+ pulumi.set(self, "instance_id", value)
70
+
71
+ @_builtins.property
72
+ @pulumi.getter(name="azureMonitor")
73
+ def azure_monitor(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusAzureMonitorArgs']]:
74
+ return pulumi.get(self, "azure_monitor")
75
+
76
+ @azure_monitor.setter
77
+ def azure_monitor(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusAzureMonitorArgs']]):
78
+ pulumi.set(self, "azure_monitor", value)
79
+
80
+ @_builtins.property
81
+ @pulumi.getter(name="cloudwatchV3")
82
+ def cloudwatch_v3(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusCloudwatchV3Args']]:
83
+ return pulumi.get(self, "cloudwatch_v3")
84
+
85
+ @cloudwatch_v3.setter
86
+ def cloudwatch_v3(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusCloudwatchV3Args']]):
87
+ pulumi.set(self, "cloudwatch_v3", value)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter(name="datadogV3")
91
+ def datadog_v3(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusDatadogV3Args']]:
92
+ return pulumi.get(self, "datadog_v3")
93
+
94
+ @datadog_v3.setter
95
+ def datadog_v3(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusDatadogV3Args']]):
96
+ pulumi.set(self, "datadog_v3", value)
97
+
98
+ @_builtins.property
99
+ @pulumi.getter
100
+ def dynatrace(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusDynatraceArgs']]:
101
+ return pulumi.get(self, "dynatrace")
102
+
103
+ @dynatrace.setter
104
+ def dynatrace(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusDynatraceArgs']]):
105
+ pulumi.set(self, "dynatrace", value)
106
+
107
+ @_builtins.property
108
+ @pulumi.getter(name="metricsFilters")
109
+ def metrics_filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
110
+ """
111
+ List of metrics to include in the integration. If not specified, default metrics are included.
112
+ For more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).
113
+
114
+ Exactly one of the following integration blocks must be specified:
115
+ """
116
+ return pulumi.get(self, "metrics_filters")
117
+
118
+ @metrics_filters.setter
119
+ def metrics_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
120
+ pulumi.set(self, "metrics_filters", value)
121
+
122
+ @_builtins.property
123
+ @pulumi.getter(name="newrelicV3")
124
+ def newrelic_v3(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusNewrelicV3Args']]:
125
+ return pulumi.get(self, "newrelic_v3")
126
+
127
+ @newrelic_v3.setter
128
+ def newrelic_v3(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusNewrelicV3Args']]):
129
+ pulumi.set(self, "newrelic_v3", value)
130
+
131
+ @_builtins.property
132
+ @pulumi.getter(name="splunkV2")
133
+ def splunk_v2(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusSplunkV2Args']]:
134
+ return pulumi.get(self, "splunk_v2")
135
+
136
+ @splunk_v2.setter
137
+ def splunk_v2(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusSplunkV2Args']]):
138
+ pulumi.set(self, "splunk_v2", value)
139
+
140
+ @_builtins.property
141
+ @pulumi.getter(name="stackdriverV2")
142
+ def stackdriver_v2(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusStackdriverV2Args']]:
143
+ return pulumi.get(self, "stackdriver_v2")
144
+
145
+ @stackdriver_v2.setter
146
+ def stackdriver_v2(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusStackdriverV2Args']]):
147
+ pulumi.set(self, "stackdriver_v2", value)
148
+
149
+
150
+ @pulumi.input_type
151
+ class _IntegrationMetricPrometheusState:
152
+ def __init__(__self__, *,
153
+ azure_monitor: Optional[pulumi.Input['IntegrationMetricPrometheusAzureMonitorArgs']] = None,
154
+ cloudwatch_v3: Optional[pulumi.Input['IntegrationMetricPrometheusCloudwatchV3Args']] = None,
155
+ datadog_v3: Optional[pulumi.Input['IntegrationMetricPrometheusDatadogV3Args']] = None,
156
+ dynatrace: Optional[pulumi.Input['IntegrationMetricPrometheusDynatraceArgs']] = None,
157
+ instance_id: Optional[pulumi.Input[_builtins.int]] = None,
158
+ metrics_filters: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
159
+ newrelic_v3: Optional[pulumi.Input['IntegrationMetricPrometheusNewrelicV3Args']] = None,
160
+ splunk_v2: Optional[pulumi.Input['IntegrationMetricPrometheusSplunkV2Args']] = None,
161
+ stackdriver_v2: Optional[pulumi.Input['IntegrationMetricPrometheusStackdriverV2Args']] = None):
162
+ """
163
+ Input properties used for looking up and filtering IntegrationMetricPrometheus resources.
164
+ :param pulumi.Input[_builtins.int] instance_id: Instance identifier for the CloudAMQP instance.
165
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] metrics_filters: List of metrics to include in the integration. If not specified, default metrics are included.
166
+ For more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).
167
+
168
+ Exactly one of the following integration blocks must be specified:
169
+ """
170
+ if azure_monitor is not None:
171
+ pulumi.set(__self__, "azure_monitor", azure_monitor)
172
+ if cloudwatch_v3 is not None:
173
+ pulumi.set(__self__, "cloudwatch_v3", cloudwatch_v3)
174
+ if datadog_v3 is not None:
175
+ pulumi.set(__self__, "datadog_v3", datadog_v3)
176
+ if dynatrace is not None:
177
+ pulumi.set(__self__, "dynatrace", dynatrace)
178
+ if instance_id is not None:
179
+ pulumi.set(__self__, "instance_id", instance_id)
180
+ if metrics_filters is not None:
181
+ pulumi.set(__self__, "metrics_filters", metrics_filters)
182
+ if newrelic_v3 is not None:
183
+ pulumi.set(__self__, "newrelic_v3", newrelic_v3)
184
+ if splunk_v2 is not None:
185
+ pulumi.set(__self__, "splunk_v2", splunk_v2)
186
+ if stackdriver_v2 is not None:
187
+ pulumi.set(__self__, "stackdriver_v2", stackdriver_v2)
188
+
189
+ @_builtins.property
190
+ @pulumi.getter(name="azureMonitor")
191
+ def azure_monitor(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusAzureMonitorArgs']]:
192
+ return pulumi.get(self, "azure_monitor")
193
+
194
+ @azure_monitor.setter
195
+ def azure_monitor(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusAzureMonitorArgs']]):
196
+ pulumi.set(self, "azure_monitor", value)
197
+
198
+ @_builtins.property
199
+ @pulumi.getter(name="cloudwatchV3")
200
+ def cloudwatch_v3(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusCloudwatchV3Args']]:
201
+ return pulumi.get(self, "cloudwatch_v3")
202
+
203
+ @cloudwatch_v3.setter
204
+ def cloudwatch_v3(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusCloudwatchV3Args']]):
205
+ pulumi.set(self, "cloudwatch_v3", value)
206
+
207
+ @_builtins.property
208
+ @pulumi.getter(name="datadogV3")
209
+ def datadog_v3(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusDatadogV3Args']]:
210
+ return pulumi.get(self, "datadog_v3")
211
+
212
+ @datadog_v3.setter
213
+ def datadog_v3(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusDatadogV3Args']]):
214
+ pulumi.set(self, "datadog_v3", value)
215
+
216
+ @_builtins.property
217
+ @pulumi.getter
218
+ def dynatrace(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusDynatraceArgs']]:
219
+ return pulumi.get(self, "dynatrace")
220
+
221
+ @dynatrace.setter
222
+ def dynatrace(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusDynatraceArgs']]):
223
+ pulumi.set(self, "dynatrace", value)
224
+
225
+ @_builtins.property
226
+ @pulumi.getter(name="instanceId")
227
+ def instance_id(self) -> Optional[pulumi.Input[_builtins.int]]:
228
+ """
229
+ Instance identifier for the CloudAMQP instance.
230
+ """
231
+ return pulumi.get(self, "instance_id")
232
+
233
+ @instance_id.setter
234
+ def instance_id(self, value: Optional[pulumi.Input[_builtins.int]]):
235
+ pulumi.set(self, "instance_id", value)
236
+
237
+ @_builtins.property
238
+ @pulumi.getter(name="metricsFilters")
239
+ def metrics_filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
240
+ """
241
+ List of metrics to include in the integration. If not specified, default metrics are included.
242
+ For more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).
243
+
244
+ Exactly one of the following integration blocks must be specified:
245
+ """
246
+ return pulumi.get(self, "metrics_filters")
247
+
248
+ @metrics_filters.setter
249
+ def metrics_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
250
+ pulumi.set(self, "metrics_filters", value)
251
+
252
+ @_builtins.property
253
+ @pulumi.getter(name="newrelicV3")
254
+ def newrelic_v3(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusNewrelicV3Args']]:
255
+ return pulumi.get(self, "newrelic_v3")
256
+
257
+ @newrelic_v3.setter
258
+ def newrelic_v3(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusNewrelicV3Args']]):
259
+ pulumi.set(self, "newrelic_v3", value)
260
+
261
+ @_builtins.property
262
+ @pulumi.getter(name="splunkV2")
263
+ def splunk_v2(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusSplunkV2Args']]:
264
+ return pulumi.get(self, "splunk_v2")
265
+
266
+ @splunk_v2.setter
267
+ def splunk_v2(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusSplunkV2Args']]):
268
+ pulumi.set(self, "splunk_v2", value)
269
+
270
+ @_builtins.property
271
+ @pulumi.getter(name="stackdriverV2")
272
+ def stackdriver_v2(self) -> Optional[pulumi.Input['IntegrationMetricPrometheusStackdriverV2Args']]:
273
+ return pulumi.get(self, "stackdriver_v2")
274
+
275
+ @stackdriver_v2.setter
276
+ def stackdriver_v2(self, value: Optional[pulumi.Input['IntegrationMetricPrometheusStackdriverV2Args']]):
277
+ pulumi.set(self, "stackdriver_v2", value)
278
+
279
+
280
+ @pulumi.type_token("cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus")
281
+ class IntegrationMetricPrometheus(pulumi.CustomResource):
282
+ @overload
283
+ def __init__(__self__,
284
+ resource_name: str,
285
+ opts: Optional[pulumi.ResourceOptions] = None,
286
+ azure_monitor: Optional[pulumi.Input[Union['IntegrationMetricPrometheusAzureMonitorArgs', 'IntegrationMetricPrometheusAzureMonitorArgsDict']]] = None,
287
+ cloudwatch_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusCloudwatchV3Args', 'IntegrationMetricPrometheusCloudwatchV3ArgsDict']]] = None,
288
+ datadog_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusDatadogV3Args', 'IntegrationMetricPrometheusDatadogV3ArgsDict']]] = None,
289
+ dynatrace: Optional[pulumi.Input[Union['IntegrationMetricPrometheusDynatraceArgs', 'IntegrationMetricPrometheusDynatraceArgsDict']]] = None,
290
+ instance_id: Optional[pulumi.Input[_builtins.int]] = None,
291
+ metrics_filters: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
292
+ newrelic_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusNewrelicV3Args', 'IntegrationMetricPrometheusNewrelicV3ArgsDict']]] = None,
293
+ splunk_v2: Optional[pulumi.Input[Union['IntegrationMetricPrometheusSplunkV2Args', 'IntegrationMetricPrometheusSplunkV2ArgsDict']]] = None,
294
+ stackdriver_v2: Optional[pulumi.Input[Union['IntegrationMetricPrometheusStackdriverV2Args', 'IntegrationMetricPrometheusStackdriverV2ArgsDict']]] = None,
295
+ __props__=None):
296
+ """
297
+ This resource allows you to create and manage Prometheus-compatible metric integrations for CloudAMQP instances. Currently supported integrations include New Relic v3, Datadog v3, Azure Monitor, Splunk v2, Dynatrace, CloudWatch v3, and Stackdriver v2.
298
+
299
+ ## Example Usage
300
+
301
+ ### New Relic v3
302
+
303
+ ```python
304
+ import pulumi
305
+ import pulumi_cloudamqp as cloudamqp
306
+
307
+ newrelic_v3 = cloudamqp.IntegrationMetricPrometheus("newrelic_v3",
308
+ instance_id=instance["id"],
309
+ newrelic_v3={
310
+ "api_key": newrelic_api_key,
311
+ "tags": "key=value,key2=value2",
312
+ })
313
+ ```
314
+
315
+ ### Datadog v3
316
+
317
+ ```python
318
+ import pulumi
319
+ import pulumi_cloudamqp as cloudamqp
320
+
321
+ datadog_v3 = cloudamqp.IntegrationMetricPrometheus("datadog_v3",
322
+ instance_id=instance["id"],
323
+ datadog_v3={
324
+ "api_key": datadog_api_key,
325
+ "region": "us1",
326
+ "tags": "key=value,key2=value2",
327
+ "rabbitmq_dashboard_metrics_format": True,
328
+ })
329
+ ```
330
+
331
+ ### Azure Monitor
332
+
333
+ ```python
334
+ import pulumi
335
+ import pulumi_cloudamqp as cloudamqp
336
+
337
+ azure_monitor = cloudamqp.IntegrationMetricPrometheus("azure_monitor",
338
+ instance_id=instance["id"],
339
+ azure_monitor={
340
+ "connection_string": azure_monitor_connection_string,
341
+ })
342
+ ```
343
+
344
+ ### Splunk v2
345
+
346
+ ```python
347
+ import pulumi
348
+ import pulumi_cloudamqp as cloudamqp
349
+
350
+ splunk_v2 = cloudamqp.IntegrationMetricPrometheus("splunk_v2",
351
+ instance_id=instance["id"],
352
+ splunk_v2={
353
+ "token": splunk_token,
354
+ "endpoint": splunk_endpoint,
355
+ "tags": "key=value,key2=value2",
356
+ })
357
+ ```
358
+
359
+ ### Dynatrace
360
+
361
+ ```python
362
+ import pulumi
363
+ import pulumi_cloudamqp as cloudamqp
364
+
365
+ dynatrace = cloudamqp.IntegrationMetricPrometheus("dynatrace",
366
+ instance_id=instance["id"],
367
+ dynatrace={
368
+ "environment_id": dynatrace_environment_id,
369
+ "access_token": dynatrace_access_token,
370
+ "tags": "key=value,key2=value2",
371
+ })
372
+ ```
373
+
374
+ ### CloudWatch v3
375
+
376
+ ```python
377
+ import pulumi
378
+ import pulumi_cloudamqp as cloudamqp
379
+
380
+ cloudwatch_v3 = cloudamqp.IntegrationMetricPrometheus("cloudwatch_v3",
381
+ instance_id=instance["id"],
382
+ cloudwatch_v3={
383
+ "iam_role": cloudwatch_iam_role,
384
+ "iam_external_id": cloudwatch_iam_external_id,
385
+ "region": cloudwatch_region,
386
+ "tags": "key=value,key2=value2",
387
+ })
388
+ ```
389
+
390
+ ### Stackdriver v2
391
+
392
+ ```python
393
+ import pulumi
394
+ import pulumi_cloudamqp as cloudamqp
395
+
396
+ stackdriver_v2 = cloudamqp.IntegrationMetricPrometheus("stackdriver_v2",
397
+ instance_id=instance["id"],
398
+ stackdriver_v2={
399
+ "credentials_file": google_service_account_key,
400
+ "tags": "key=value,key2=value2",
401
+ })
402
+ ```
403
+
404
+ **Note:** The `credentials_file` should contain a Base64-encoded Google service account key JSON file. You can create a service account in Google Cloud Console with the "Monitoring Metric Writer" role and download the key file. Then encode it with:
405
+
406
+ ## Dependency
407
+
408
+ This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
409
+
410
+ ## Import
411
+
412
+ ### Stackdriver v2
413
+
414
+ hcl
415
+
416
+ import {
417
+
418
+ to = cloudamqp_integration_metric_prometheus.stackdriver_v2
419
+
420
+ id = format("<integration_id>,%s", cloudamqp_instance.instance.id)
421
+
422
+ }
423
+
424
+ Or use Terraform CLI:
425
+
426
+ ```sh
427
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus newrelic_v3 <integration_id>,<instance_id>
428
+ ```
429
+
430
+ ```sh
431
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus datadog_v3 <integration_id>,<instance_id>
432
+ ```
433
+
434
+ ```sh
435
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus azure_monitor <integration_id>,<instance_id>
436
+ ```
437
+
438
+ ```sh
439
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus splunk_v2 <integration_id>,<instance_id>
440
+ ```
441
+
442
+ ```sh
443
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus dynatrace <integration_id>,<instance_id>
444
+ ```
445
+
446
+ ```sh
447
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus cloudwatch_v3 <integration_id>,<instance_id>
448
+ ```
449
+
450
+ ```sh
451
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus stackdriver_v2 <integration_id>,<instance_id>
452
+ ```
453
+
454
+ :param str resource_name: The name of the resource.
455
+ :param pulumi.ResourceOptions opts: Options for the resource.
456
+ :param pulumi.Input[_builtins.int] instance_id: Instance identifier for the CloudAMQP instance.
457
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] metrics_filters: List of metrics to include in the integration. If not specified, default metrics are included.
458
+ For more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).
459
+
460
+ Exactly one of the following integration blocks must be specified:
461
+ """
462
+ ...
463
+ @overload
464
+ def __init__(__self__,
465
+ resource_name: str,
466
+ args: IntegrationMetricPrometheusArgs,
467
+ opts: Optional[pulumi.ResourceOptions] = None):
468
+ """
469
+ This resource allows you to create and manage Prometheus-compatible metric integrations for CloudAMQP instances. Currently supported integrations include New Relic v3, Datadog v3, Azure Monitor, Splunk v2, Dynatrace, CloudWatch v3, and Stackdriver v2.
470
+
471
+ ## Example Usage
472
+
473
+ ### New Relic v3
474
+
475
+ ```python
476
+ import pulumi
477
+ import pulumi_cloudamqp as cloudamqp
478
+
479
+ newrelic_v3 = cloudamqp.IntegrationMetricPrometheus("newrelic_v3",
480
+ instance_id=instance["id"],
481
+ newrelic_v3={
482
+ "api_key": newrelic_api_key,
483
+ "tags": "key=value,key2=value2",
484
+ })
485
+ ```
486
+
487
+ ### Datadog v3
488
+
489
+ ```python
490
+ import pulumi
491
+ import pulumi_cloudamqp as cloudamqp
492
+
493
+ datadog_v3 = cloudamqp.IntegrationMetricPrometheus("datadog_v3",
494
+ instance_id=instance["id"],
495
+ datadog_v3={
496
+ "api_key": datadog_api_key,
497
+ "region": "us1",
498
+ "tags": "key=value,key2=value2",
499
+ "rabbitmq_dashboard_metrics_format": True,
500
+ })
501
+ ```
502
+
503
+ ### Azure Monitor
504
+
505
+ ```python
506
+ import pulumi
507
+ import pulumi_cloudamqp as cloudamqp
508
+
509
+ azure_monitor = cloudamqp.IntegrationMetricPrometheus("azure_monitor",
510
+ instance_id=instance["id"],
511
+ azure_monitor={
512
+ "connection_string": azure_monitor_connection_string,
513
+ })
514
+ ```
515
+
516
+ ### Splunk v2
517
+
518
+ ```python
519
+ import pulumi
520
+ import pulumi_cloudamqp as cloudamqp
521
+
522
+ splunk_v2 = cloudamqp.IntegrationMetricPrometheus("splunk_v2",
523
+ instance_id=instance["id"],
524
+ splunk_v2={
525
+ "token": splunk_token,
526
+ "endpoint": splunk_endpoint,
527
+ "tags": "key=value,key2=value2",
528
+ })
529
+ ```
530
+
531
+ ### Dynatrace
532
+
533
+ ```python
534
+ import pulumi
535
+ import pulumi_cloudamqp as cloudamqp
536
+
537
+ dynatrace = cloudamqp.IntegrationMetricPrometheus("dynatrace",
538
+ instance_id=instance["id"],
539
+ dynatrace={
540
+ "environment_id": dynatrace_environment_id,
541
+ "access_token": dynatrace_access_token,
542
+ "tags": "key=value,key2=value2",
543
+ })
544
+ ```
545
+
546
+ ### CloudWatch v3
547
+
548
+ ```python
549
+ import pulumi
550
+ import pulumi_cloudamqp as cloudamqp
551
+
552
+ cloudwatch_v3 = cloudamqp.IntegrationMetricPrometheus("cloudwatch_v3",
553
+ instance_id=instance["id"],
554
+ cloudwatch_v3={
555
+ "iam_role": cloudwatch_iam_role,
556
+ "iam_external_id": cloudwatch_iam_external_id,
557
+ "region": cloudwatch_region,
558
+ "tags": "key=value,key2=value2",
559
+ })
560
+ ```
561
+
562
+ ### Stackdriver v2
563
+
564
+ ```python
565
+ import pulumi
566
+ import pulumi_cloudamqp as cloudamqp
567
+
568
+ stackdriver_v2 = cloudamqp.IntegrationMetricPrometheus("stackdriver_v2",
569
+ instance_id=instance["id"],
570
+ stackdriver_v2={
571
+ "credentials_file": google_service_account_key,
572
+ "tags": "key=value,key2=value2",
573
+ })
574
+ ```
575
+
576
+ **Note:** The `credentials_file` should contain a Base64-encoded Google service account key JSON file. You can create a service account in Google Cloud Console with the "Monitoring Metric Writer" role and download the key file. Then encode it with:
577
+
578
+ ## Dependency
579
+
580
+ This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
581
+
582
+ ## Import
583
+
584
+ ### Stackdriver v2
585
+
586
+ hcl
587
+
588
+ import {
589
+
590
+ to = cloudamqp_integration_metric_prometheus.stackdriver_v2
591
+
592
+ id = format("<integration_id>,%s", cloudamqp_instance.instance.id)
593
+
594
+ }
595
+
596
+ Or use Terraform CLI:
597
+
598
+ ```sh
599
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus newrelic_v3 <integration_id>,<instance_id>
600
+ ```
601
+
602
+ ```sh
603
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus datadog_v3 <integration_id>,<instance_id>
604
+ ```
605
+
606
+ ```sh
607
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus azure_monitor <integration_id>,<instance_id>
608
+ ```
609
+
610
+ ```sh
611
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus splunk_v2 <integration_id>,<instance_id>
612
+ ```
613
+
614
+ ```sh
615
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus dynatrace <integration_id>,<instance_id>
616
+ ```
617
+
618
+ ```sh
619
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus cloudwatch_v3 <integration_id>,<instance_id>
620
+ ```
621
+
622
+ ```sh
623
+ $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus stackdriver_v2 <integration_id>,<instance_id>
624
+ ```
625
+
626
+ :param str resource_name: The name of the resource.
627
+ :param IntegrationMetricPrometheusArgs args: The arguments to use to populate this resource's properties.
628
+ :param pulumi.ResourceOptions opts: Options for the resource.
629
+ """
630
+ ...
631
+ def __init__(__self__, resource_name: str, *args, **kwargs):
632
+ resource_args, opts = _utilities.get_resource_args_opts(IntegrationMetricPrometheusArgs, pulumi.ResourceOptions, *args, **kwargs)
633
+ if resource_args is not None:
634
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
635
+ else:
636
+ __self__._internal_init(resource_name, *args, **kwargs)
637
+
638
+ def _internal_init(__self__,
639
+ resource_name: str,
640
+ opts: Optional[pulumi.ResourceOptions] = None,
641
+ azure_monitor: Optional[pulumi.Input[Union['IntegrationMetricPrometheusAzureMonitorArgs', 'IntegrationMetricPrometheusAzureMonitorArgsDict']]] = None,
642
+ cloudwatch_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusCloudwatchV3Args', 'IntegrationMetricPrometheusCloudwatchV3ArgsDict']]] = None,
643
+ datadog_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusDatadogV3Args', 'IntegrationMetricPrometheusDatadogV3ArgsDict']]] = None,
644
+ dynatrace: Optional[pulumi.Input[Union['IntegrationMetricPrometheusDynatraceArgs', 'IntegrationMetricPrometheusDynatraceArgsDict']]] = None,
645
+ instance_id: Optional[pulumi.Input[_builtins.int]] = None,
646
+ metrics_filters: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
647
+ newrelic_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusNewrelicV3Args', 'IntegrationMetricPrometheusNewrelicV3ArgsDict']]] = None,
648
+ splunk_v2: Optional[pulumi.Input[Union['IntegrationMetricPrometheusSplunkV2Args', 'IntegrationMetricPrometheusSplunkV2ArgsDict']]] = None,
649
+ stackdriver_v2: Optional[pulumi.Input[Union['IntegrationMetricPrometheusStackdriverV2Args', 'IntegrationMetricPrometheusStackdriverV2ArgsDict']]] = None,
650
+ __props__=None):
651
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
652
+ if not isinstance(opts, pulumi.ResourceOptions):
653
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
654
+ if opts.id is None:
655
+ if __props__ is not None:
656
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
657
+ __props__ = IntegrationMetricPrometheusArgs.__new__(IntegrationMetricPrometheusArgs)
658
+
659
+ __props__.__dict__["azure_monitor"] = azure_monitor
660
+ __props__.__dict__["cloudwatch_v3"] = cloudwatch_v3
661
+ __props__.__dict__["datadog_v3"] = datadog_v3
662
+ __props__.__dict__["dynatrace"] = dynatrace
663
+ if instance_id is None and not opts.urn:
664
+ raise TypeError("Missing required property 'instance_id'")
665
+ __props__.__dict__["instance_id"] = instance_id
666
+ __props__.__dict__["metrics_filters"] = metrics_filters
667
+ __props__.__dict__["newrelic_v3"] = newrelic_v3
668
+ __props__.__dict__["splunk_v2"] = splunk_v2
669
+ __props__.__dict__["stackdriver_v2"] = stackdriver_v2
670
+ super(IntegrationMetricPrometheus, __self__).__init__(
671
+ 'cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus',
672
+ resource_name,
673
+ __props__,
674
+ opts)
675
+
676
+ @staticmethod
677
+ def get(resource_name: str,
678
+ id: pulumi.Input[str],
679
+ opts: Optional[pulumi.ResourceOptions] = None,
680
+ azure_monitor: Optional[pulumi.Input[Union['IntegrationMetricPrometheusAzureMonitorArgs', 'IntegrationMetricPrometheusAzureMonitorArgsDict']]] = None,
681
+ cloudwatch_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusCloudwatchV3Args', 'IntegrationMetricPrometheusCloudwatchV3ArgsDict']]] = None,
682
+ datadog_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusDatadogV3Args', 'IntegrationMetricPrometheusDatadogV3ArgsDict']]] = None,
683
+ dynatrace: Optional[pulumi.Input[Union['IntegrationMetricPrometheusDynatraceArgs', 'IntegrationMetricPrometheusDynatraceArgsDict']]] = None,
684
+ instance_id: Optional[pulumi.Input[_builtins.int]] = None,
685
+ metrics_filters: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
686
+ newrelic_v3: Optional[pulumi.Input[Union['IntegrationMetricPrometheusNewrelicV3Args', 'IntegrationMetricPrometheusNewrelicV3ArgsDict']]] = None,
687
+ splunk_v2: Optional[pulumi.Input[Union['IntegrationMetricPrometheusSplunkV2Args', 'IntegrationMetricPrometheusSplunkV2ArgsDict']]] = None,
688
+ stackdriver_v2: Optional[pulumi.Input[Union['IntegrationMetricPrometheusStackdriverV2Args', 'IntegrationMetricPrometheusStackdriverV2ArgsDict']]] = None) -> 'IntegrationMetricPrometheus':
689
+ """
690
+ Get an existing IntegrationMetricPrometheus resource's state with the given name, id, and optional extra
691
+ properties used to qualify the lookup.
692
+
693
+ :param str resource_name: The unique name of the resulting resource.
694
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
695
+ :param pulumi.ResourceOptions opts: Options for the resource.
696
+ :param pulumi.Input[_builtins.int] instance_id: Instance identifier for the CloudAMQP instance.
697
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] metrics_filters: List of metrics to include in the integration. If not specified, default metrics are included.
698
+ For more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).
699
+
700
+ Exactly one of the following integration blocks must be specified:
701
+ """
702
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
703
+
704
+ __props__ = _IntegrationMetricPrometheusState.__new__(_IntegrationMetricPrometheusState)
705
+
706
+ __props__.__dict__["azure_monitor"] = azure_monitor
707
+ __props__.__dict__["cloudwatch_v3"] = cloudwatch_v3
708
+ __props__.__dict__["datadog_v3"] = datadog_v3
709
+ __props__.__dict__["dynatrace"] = dynatrace
710
+ __props__.__dict__["instance_id"] = instance_id
711
+ __props__.__dict__["metrics_filters"] = metrics_filters
712
+ __props__.__dict__["newrelic_v3"] = newrelic_v3
713
+ __props__.__dict__["splunk_v2"] = splunk_v2
714
+ __props__.__dict__["stackdriver_v2"] = stackdriver_v2
715
+ return IntegrationMetricPrometheus(resource_name, opts=opts, __props__=__props__)
716
+
717
+ @_builtins.property
718
+ @pulumi.getter(name="azureMonitor")
719
+ def azure_monitor(self) -> pulumi.Output[Optional['outputs.IntegrationMetricPrometheusAzureMonitor']]:
720
+ return pulumi.get(self, "azure_monitor")
721
+
722
+ @_builtins.property
723
+ @pulumi.getter(name="cloudwatchV3")
724
+ def cloudwatch_v3(self) -> pulumi.Output[Optional['outputs.IntegrationMetricPrometheusCloudwatchV3']]:
725
+ return pulumi.get(self, "cloudwatch_v3")
726
+
727
+ @_builtins.property
728
+ @pulumi.getter(name="datadogV3")
729
+ def datadog_v3(self) -> pulumi.Output[Optional['outputs.IntegrationMetricPrometheusDatadogV3']]:
730
+ return pulumi.get(self, "datadog_v3")
731
+
732
+ @_builtins.property
733
+ @pulumi.getter
734
+ def dynatrace(self) -> pulumi.Output[Optional['outputs.IntegrationMetricPrometheusDynatrace']]:
735
+ return pulumi.get(self, "dynatrace")
736
+
737
+ @_builtins.property
738
+ @pulumi.getter(name="instanceId")
739
+ def instance_id(self) -> pulumi.Output[_builtins.int]:
740
+ """
741
+ Instance identifier for the CloudAMQP instance.
742
+ """
743
+ return pulumi.get(self, "instance_id")
744
+
745
+ @_builtins.property
746
+ @pulumi.getter(name="metricsFilters")
747
+ def metrics_filters(self) -> pulumi.Output[Sequence[_builtins.str]]:
748
+ """
749
+ List of metrics to include in the integration. If not specified, default metrics are included.
750
+ For more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).
751
+
752
+ Exactly one of the following integration blocks must be specified:
753
+ """
754
+ return pulumi.get(self, "metrics_filters")
755
+
756
+ @_builtins.property
757
+ @pulumi.getter(name="newrelicV3")
758
+ def newrelic_v3(self) -> pulumi.Output[Optional['outputs.IntegrationMetricPrometheusNewrelicV3']]:
759
+ return pulumi.get(self, "newrelic_v3")
760
+
761
+ @_builtins.property
762
+ @pulumi.getter(name="splunkV2")
763
+ def splunk_v2(self) -> pulumi.Output[Optional['outputs.IntegrationMetricPrometheusSplunkV2']]:
764
+ return pulumi.get(self, "splunk_v2")
765
+
766
+ @_builtins.property
767
+ @pulumi.getter(name="stackdriverV2")
768
+ def stackdriver_v2(self) -> pulumi.Output[Optional['outputs.IntegrationMetricPrometheusStackdriverV2']]:
769
+ return pulumi.get(self, "stackdriver_v2")
770
+