pulumi-newrelic 5.21.0a1710157101__py3-none-any.whl → 5.39.0a1736834464__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. pulumi_newrelic/__init__.py +9 -0
  2. pulumi_newrelic/_inputs.py +7153 -461
  3. pulumi_newrelic/_utilities.py +41 -5
  4. pulumi_newrelic/account_management.py +11 -6
  5. pulumi_newrelic/alert_channel.py +116 -127
  6. pulumi_newrelic/alert_condition.py +116 -129
  7. pulumi_newrelic/alert_muting_rule.py +128 -76
  8. pulumi_newrelic/alert_policy.py +78 -75
  9. pulumi_newrelic/alert_policy_channel.py +77 -68
  10. pulumi_newrelic/api_access_key.py +45 -28
  11. pulumi_newrelic/browser_application.py +77 -78
  12. pulumi_newrelic/cloud/_inputs.py +2527 -1082
  13. pulumi_newrelic/cloud/aws_govcloud_integrations.py +133 -128
  14. pulumi_newrelic/cloud/aws_govcloud_link_account.py +23 -20
  15. pulumi_newrelic/cloud/aws_integrations.py +298 -1326
  16. pulumi_newrelic/cloud/aws_link_account.py +23 -20
  17. pulumi_newrelic/cloud/azure_integrations.py +521 -483
  18. pulumi_newrelic/cloud/azure_link_account.py +34 -31
  19. pulumi_newrelic/cloud/gcp_integrations.py +341 -322
  20. pulumi_newrelic/cloud/gcp_link_account.py +23 -20
  21. pulumi_newrelic/cloud/outputs.py +327 -1072
  22. pulumi_newrelic/config/__init__.pyi +6 -1
  23. pulumi_newrelic/config/vars.py +7 -2
  24. pulumi_newrelic/data_partition_rule.py +19 -18
  25. pulumi_newrelic/entity_tags.py +32 -31
  26. pulumi_newrelic/events_to_metrics_rule.py +23 -20
  27. pulumi_newrelic/get_account.py +24 -16
  28. pulumi_newrelic/get_alert_channel.py +26 -13
  29. pulumi_newrelic/get_alert_policy.py +35 -12
  30. pulumi_newrelic/get_application.py +39 -31
  31. pulumi_newrelic/get_authentication_domain.py +17 -13
  32. pulumi_newrelic/get_cloud_account.py +26 -18
  33. pulumi_newrelic/get_entity.py +90 -147
  34. pulumi_newrelic/get_group.py +58 -13
  35. pulumi_newrelic/get_key_transaction.py +109 -34
  36. pulumi_newrelic/get_notification_destination.py +64 -14
  37. pulumi_newrelic/get_obfuscation_expression.py +36 -28
  38. pulumi_newrelic/get_service_level_alert_helper.py +135 -117
  39. pulumi_newrelic/get_test_grok_pattern.py +29 -18
  40. pulumi_newrelic/get_user.py +17 -9
  41. pulumi_newrelic/group.py +5 -146
  42. pulumi_newrelic/infra_alert_condition.py +160 -167
  43. pulumi_newrelic/insights/_inputs.py +43 -0
  44. pulumi_newrelic/insights/event.py +48 -47
  45. pulumi_newrelic/insights/outputs.py +5 -0
  46. pulumi_newrelic/key_transaction.py +464 -0
  47. pulumi_newrelic/log_parsing_rule.py +25 -24
  48. pulumi_newrelic/monitor_downtime.py +211 -225
  49. pulumi_newrelic/notification_channel.py +381 -366
  50. pulumi_newrelic/notification_destination.py +192 -54
  51. pulumi_newrelic/nrql_alert_condition.py +345 -262
  52. pulumi_newrelic/nrql_drop_rule.py +31 -30
  53. pulumi_newrelic/obfuscation_expression.py +23 -20
  54. pulumi_newrelic/obfuscation_rule.py +38 -33
  55. pulumi_newrelic/one_dashboard.py +29 -24
  56. pulumi_newrelic/one_dashboard_json.py +19 -14
  57. pulumi_newrelic/one_dashboard_raw.py +110 -105
  58. pulumi_newrelic/outputs.py +2446 -245
  59. pulumi_newrelic/plugins/_inputs.py +145 -10
  60. pulumi_newrelic/plugins/application_settings.py +25 -36
  61. pulumi_newrelic/plugins/outputs.py +15 -10
  62. pulumi_newrelic/plugins/workload.py +215 -92
  63. pulumi_newrelic/provider.py +27 -33
  64. pulumi_newrelic/pulumi-plugin.json +2 -1
  65. pulumi_newrelic/service_level.py +185 -186
  66. pulumi_newrelic/synthetics/_inputs.py +159 -2
  67. pulumi_newrelic/synthetics/alert_condition.py +87 -98
  68. pulumi_newrelic/synthetics/broken_links_monitor.py +216 -99
  69. pulumi_newrelic/synthetics/cert_check_monitor.py +219 -100
  70. pulumi_newrelic/synthetics/get_private_location.py +34 -30
  71. pulumi_newrelic/synthetics/get_secure_credential.py +24 -16
  72. pulumi_newrelic/synthetics/monitor.py +348 -193
  73. pulumi_newrelic/synthetics/multi_location_alert_condition.py +105 -100
  74. pulumi_newrelic/synthetics/outputs.py +7 -2
  75. pulumi_newrelic/synthetics/private_location.py +25 -20
  76. pulumi_newrelic/synthetics/script_monitor.py +317 -182
  77. pulumi_newrelic/synthetics/secure_credential.py +23 -22
  78. pulumi_newrelic/synthetics/step_monitor.py +405 -100
  79. pulumi_newrelic/user.py +13 -10
  80. pulumi_newrelic/workflow.py +209 -196
  81. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/METADATA +7 -6
  82. pulumi_newrelic-5.39.0a1736834464.dist-info/RECORD +90 -0
  83. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/WHEEL +1 -1
  84. pulumi_newrelic-5.21.0a1710157101.dist-info/RECORD +0 -89
  85. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -18,21 +23,26 @@ class NotificationDestinationArgs:
18
23
  def __init__(__self__, *,
19
24
  properties: pulumi.Input[Sequence[pulumi.Input['NotificationDestinationPropertyArgs']]],
20
25
  type: pulumi.Input[str],
21
- account_id: Optional[pulumi.Input[int]] = None,
26
+ account_id: Optional[pulumi.Input[str]] = None,
22
27
  active: Optional[pulumi.Input[bool]] = None,
23
28
  auth_basic: Optional[pulumi.Input['NotificationDestinationAuthBasicArgs']] = None,
29
+ auth_custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]]] = None,
24
30
  auth_token: Optional[pulumi.Input['NotificationDestinationAuthTokenArgs']] = None,
25
- name: Optional[pulumi.Input[str]] = None):
31
+ name: Optional[pulumi.Input[str]] = None,
32
+ secure_url: Optional[pulumi.Input['NotificationDestinationSecureUrlArgs']] = None):
26
33
  """
27
34
  The set of arguments for constructing a NotificationDestination resource.
28
35
  :param pulumi.Input[Sequence[pulumi.Input['NotificationDestinationPropertyArgs']]] properties: A nested block that describes a notification destination property. See Nested property blocks below for details.
29
- :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, PAGERDUTY_ACCOUNT_INTEGRATION,
30
- PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY, MOBILE_PUSH, EVENT_BRIDGE).
31
- :param pulumi.Input[int] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
36
+ :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, SERVICE_NOW_APP,
37
+ PAGERDUTY_ACCOUNT_INTEGRATION, PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY,
38
+ MOBILE_PUSH, EVENT_BRIDGE).
39
+ :param pulumi.Input[str] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
32
40
  :param pulumi.Input[bool] active: Indicates whether the destination is active.
33
41
  :param pulumi.Input['NotificationDestinationAuthBasicArgs'] auth_basic: A nested block that describes a basic username and password authentication credentials. Only one auth_basic block is permitted per notification destination definition. See Nested auth_basic blocks below for details.
42
+ :param pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]] auth_custom_headers: A nested block that describes a custom header authentication credentials. Multiple blocks are permitted per notification destination definition. Nested auth_custom_header blocks below for details.
34
43
  :param pulumi.Input['NotificationDestinationAuthTokenArgs'] auth_token: A nested block that describes a token authentication credentials. Only one auth_token block is permitted per notification destination definition. See Nested auth_token blocks below for details.
35
44
  :param pulumi.Input[str] name: The name of the destination.
45
+ :param pulumi.Input['NotificationDestinationSecureUrlArgs'] secure_url: A nested block that describes a URL that contains sensitive data at the path or parameters. Only one secure_url block is permitted per notification destination definition. See Nested secure_url blocks below for details.
36
46
  """
37
47
  pulumi.set(__self__, "properties", properties)
38
48
  pulumi.set(__self__, "type", type)
@@ -42,10 +52,14 @@ class NotificationDestinationArgs:
42
52
  pulumi.set(__self__, "active", active)
43
53
  if auth_basic is not None:
44
54
  pulumi.set(__self__, "auth_basic", auth_basic)
55
+ if auth_custom_headers is not None:
56
+ pulumi.set(__self__, "auth_custom_headers", auth_custom_headers)
45
57
  if auth_token is not None:
46
58
  pulumi.set(__self__, "auth_token", auth_token)
47
59
  if name is not None:
48
60
  pulumi.set(__self__, "name", name)
61
+ if secure_url is not None:
62
+ pulumi.set(__self__, "secure_url", secure_url)
49
63
 
50
64
  @property
51
65
  @pulumi.getter
@@ -63,8 +77,9 @@ class NotificationDestinationArgs:
63
77
  @pulumi.getter
64
78
  def type(self) -> pulumi.Input[str]:
65
79
  """
66
- (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, PAGERDUTY_ACCOUNT_INTEGRATION,
67
- PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY, MOBILE_PUSH, EVENT_BRIDGE).
80
+ (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, SERVICE_NOW_APP,
81
+ PAGERDUTY_ACCOUNT_INTEGRATION, PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY,
82
+ MOBILE_PUSH, EVENT_BRIDGE).
68
83
  """
69
84
  return pulumi.get(self, "type")
70
85
 
@@ -74,14 +89,14 @@ class NotificationDestinationArgs:
74
89
 
75
90
  @property
76
91
  @pulumi.getter(name="accountId")
77
- def account_id(self) -> Optional[pulumi.Input[int]]:
92
+ def account_id(self) -> Optional[pulumi.Input[str]]:
78
93
  """
79
94
  Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
80
95
  """
81
96
  return pulumi.get(self, "account_id")
82
97
 
83
98
  @account_id.setter
84
- def account_id(self, value: Optional[pulumi.Input[int]]):
99
+ def account_id(self, value: Optional[pulumi.Input[str]]):
85
100
  pulumi.set(self, "account_id", value)
86
101
 
87
102
  @property
@@ -108,6 +123,18 @@ class NotificationDestinationArgs:
108
123
  def auth_basic(self, value: Optional[pulumi.Input['NotificationDestinationAuthBasicArgs']]):
109
124
  pulumi.set(self, "auth_basic", value)
110
125
 
126
+ @property
127
+ @pulumi.getter(name="authCustomHeaders")
128
+ def auth_custom_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]]]:
129
+ """
130
+ A nested block that describes a custom header authentication credentials. Multiple blocks are permitted per notification destination definition. Nested auth_custom_header blocks below for details.
131
+ """
132
+ return pulumi.get(self, "auth_custom_headers")
133
+
134
+ @auth_custom_headers.setter
135
+ def auth_custom_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]]]):
136
+ pulumi.set(self, "auth_custom_headers", value)
137
+
111
138
  @property
112
139
  @pulumi.getter(name="authToken")
113
140
  def auth_token(self) -> Optional[pulumi.Input['NotificationDestinationAuthTokenArgs']]:
@@ -132,31 +159,50 @@ class NotificationDestinationArgs:
132
159
  def name(self, value: Optional[pulumi.Input[str]]):
133
160
  pulumi.set(self, "name", value)
134
161
 
162
+ @property
163
+ @pulumi.getter(name="secureUrl")
164
+ def secure_url(self) -> Optional[pulumi.Input['NotificationDestinationSecureUrlArgs']]:
165
+ """
166
+ A nested block that describes a URL that contains sensitive data at the path or parameters. Only one secure_url block is permitted per notification destination definition. See Nested secure_url blocks below for details.
167
+ """
168
+ return pulumi.get(self, "secure_url")
169
+
170
+ @secure_url.setter
171
+ def secure_url(self, value: Optional[pulumi.Input['NotificationDestinationSecureUrlArgs']]):
172
+ pulumi.set(self, "secure_url", value)
173
+
135
174
 
136
175
  @pulumi.input_type
137
176
  class _NotificationDestinationState:
138
177
  def __init__(__self__, *,
139
- account_id: Optional[pulumi.Input[int]] = None,
178
+ account_id: Optional[pulumi.Input[str]] = None,
140
179
  active: Optional[pulumi.Input[bool]] = None,
141
180
  auth_basic: Optional[pulumi.Input['NotificationDestinationAuthBasicArgs']] = None,
181
+ auth_custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]]] = None,
142
182
  auth_token: Optional[pulumi.Input['NotificationDestinationAuthTokenArgs']] = None,
183
+ guid: Optional[pulumi.Input[str]] = None,
143
184
  last_sent: Optional[pulumi.Input[str]] = None,
144
185
  name: Optional[pulumi.Input[str]] = None,
145
186
  properties: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationPropertyArgs']]]] = None,
187
+ secure_url: Optional[pulumi.Input['NotificationDestinationSecureUrlArgs']] = None,
146
188
  status: Optional[pulumi.Input[str]] = None,
147
189
  type: Optional[pulumi.Input[str]] = None):
148
190
  """
149
191
  Input properties used for looking up and filtering NotificationDestination resources.
150
- :param pulumi.Input[int] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
192
+ :param pulumi.Input[str] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
151
193
  :param pulumi.Input[bool] active: Indicates whether the destination is active.
152
194
  :param pulumi.Input['NotificationDestinationAuthBasicArgs'] auth_basic: A nested block that describes a basic username and password authentication credentials. Only one auth_basic block is permitted per notification destination definition. See Nested auth_basic blocks below for details.
195
+ :param pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]] auth_custom_headers: A nested block that describes a custom header authentication credentials. Multiple blocks are permitted per notification destination definition. Nested auth_custom_header blocks below for details.
153
196
  :param pulumi.Input['NotificationDestinationAuthTokenArgs'] auth_token: A nested block that describes a token authentication credentials. Only one auth_token block is permitted per notification destination definition. See Nested auth_token blocks below for details.
197
+ :param pulumi.Input[str] guid: The unique entity identifier of the destination in New Relic.
154
198
  :param pulumi.Input[str] last_sent: The last time a notification was sent.
155
199
  :param pulumi.Input[str] name: The name of the destination.
156
200
  :param pulumi.Input[Sequence[pulumi.Input['NotificationDestinationPropertyArgs']]] properties: A nested block that describes a notification destination property. See Nested property blocks below for details.
201
+ :param pulumi.Input['NotificationDestinationSecureUrlArgs'] secure_url: A nested block that describes a URL that contains sensitive data at the path or parameters. Only one secure_url block is permitted per notification destination definition. See Nested secure_url blocks below for details.
157
202
  :param pulumi.Input[str] status: The status of the destination.
158
- :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, PAGERDUTY_ACCOUNT_INTEGRATION,
159
- PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY, MOBILE_PUSH, EVENT_BRIDGE).
203
+ :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, SERVICE_NOW_APP,
204
+ PAGERDUTY_ACCOUNT_INTEGRATION, PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY,
205
+ MOBILE_PUSH, EVENT_BRIDGE).
160
206
  """
161
207
  if account_id is not None:
162
208
  pulumi.set(__self__, "account_id", account_id)
@@ -164,14 +210,20 @@ class _NotificationDestinationState:
164
210
  pulumi.set(__self__, "active", active)
165
211
  if auth_basic is not None:
166
212
  pulumi.set(__self__, "auth_basic", auth_basic)
213
+ if auth_custom_headers is not None:
214
+ pulumi.set(__self__, "auth_custom_headers", auth_custom_headers)
167
215
  if auth_token is not None:
168
216
  pulumi.set(__self__, "auth_token", auth_token)
217
+ if guid is not None:
218
+ pulumi.set(__self__, "guid", guid)
169
219
  if last_sent is not None:
170
220
  pulumi.set(__self__, "last_sent", last_sent)
171
221
  if name is not None:
172
222
  pulumi.set(__self__, "name", name)
173
223
  if properties is not None:
174
224
  pulumi.set(__self__, "properties", properties)
225
+ if secure_url is not None:
226
+ pulumi.set(__self__, "secure_url", secure_url)
175
227
  if status is not None:
176
228
  pulumi.set(__self__, "status", status)
177
229
  if type is not None:
@@ -179,14 +231,14 @@ class _NotificationDestinationState:
179
231
 
180
232
  @property
181
233
  @pulumi.getter(name="accountId")
182
- def account_id(self) -> Optional[pulumi.Input[int]]:
234
+ def account_id(self) -> Optional[pulumi.Input[str]]:
183
235
  """
184
236
  Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
185
237
  """
186
238
  return pulumi.get(self, "account_id")
187
239
 
188
240
  @account_id.setter
189
- def account_id(self, value: Optional[pulumi.Input[int]]):
241
+ def account_id(self, value: Optional[pulumi.Input[str]]):
190
242
  pulumi.set(self, "account_id", value)
191
243
 
192
244
  @property
@@ -213,6 +265,18 @@ class _NotificationDestinationState:
213
265
  def auth_basic(self, value: Optional[pulumi.Input['NotificationDestinationAuthBasicArgs']]):
214
266
  pulumi.set(self, "auth_basic", value)
215
267
 
268
+ @property
269
+ @pulumi.getter(name="authCustomHeaders")
270
+ def auth_custom_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]]]:
271
+ """
272
+ A nested block that describes a custom header authentication credentials. Multiple blocks are permitted per notification destination definition. Nested auth_custom_header blocks below for details.
273
+ """
274
+ return pulumi.get(self, "auth_custom_headers")
275
+
276
+ @auth_custom_headers.setter
277
+ def auth_custom_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationAuthCustomHeaderArgs']]]]):
278
+ pulumi.set(self, "auth_custom_headers", value)
279
+
216
280
  @property
217
281
  @pulumi.getter(name="authToken")
218
282
  def auth_token(self) -> Optional[pulumi.Input['NotificationDestinationAuthTokenArgs']]:
@@ -225,6 +289,18 @@ class _NotificationDestinationState:
225
289
  def auth_token(self, value: Optional[pulumi.Input['NotificationDestinationAuthTokenArgs']]):
226
290
  pulumi.set(self, "auth_token", value)
227
291
 
292
+ @property
293
+ @pulumi.getter
294
+ def guid(self) -> Optional[pulumi.Input[str]]:
295
+ """
296
+ The unique entity identifier of the destination in New Relic.
297
+ """
298
+ return pulumi.get(self, "guid")
299
+
300
+ @guid.setter
301
+ def guid(self, value: Optional[pulumi.Input[str]]):
302
+ pulumi.set(self, "guid", value)
303
+
228
304
  @property
229
305
  @pulumi.getter(name="lastSent")
230
306
  def last_sent(self) -> Optional[pulumi.Input[str]]:
@@ -261,6 +337,18 @@ class _NotificationDestinationState:
261
337
  def properties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationDestinationPropertyArgs']]]]):
262
338
  pulumi.set(self, "properties", value)
263
339
 
340
+ @property
341
+ @pulumi.getter(name="secureUrl")
342
+ def secure_url(self) -> Optional[pulumi.Input['NotificationDestinationSecureUrlArgs']]:
343
+ """
344
+ A nested block that describes a URL that contains sensitive data at the path or parameters. Only one secure_url block is permitted per notification destination definition. See Nested secure_url blocks below for details.
345
+ """
346
+ return pulumi.get(self, "secure_url")
347
+
348
+ @secure_url.setter
349
+ def secure_url(self, value: Optional[pulumi.Input['NotificationDestinationSecureUrlArgs']]):
350
+ pulumi.set(self, "secure_url", value)
351
+
264
352
  @property
265
353
  @pulumi.getter
266
354
  def status(self) -> Optional[pulumi.Input[str]]:
@@ -277,8 +365,9 @@ class _NotificationDestinationState:
277
365
  @pulumi.getter
278
366
  def type(self) -> Optional[pulumi.Input[str]]:
279
367
  """
280
- (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, PAGERDUTY_ACCOUNT_INTEGRATION,
281
- PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY, MOBILE_PUSH, EVENT_BRIDGE).
368
+ (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, SERVICE_NOW_APP,
369
+ PAGERDUTY_ACCOUNT_INTEGRATION, PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY,
370
+ MOBILE_PUSH, EVENT_BRIDGE).
282
371
  """
283
372
  return pulumi.get(self, "type")
284
373
 
@@ -292,17 +381,21 @@ class NotificationDestination(pulumi.CustomResource):
292
381
  def __init__(__self__,
293
382
  resource_name: str,
294
383
  opts: Optional[pulumi.ResourceOptions] = None,
295
- account_id: Optional[pulumi.Input[int]] = None,
384
+ account_id: Optional[pulumi.Input[str]] = None,
296
385
  active: Optional[pulumi.Input[bool]] = None,
297
- auth_basic: Optional[pulumi.Input[pulumi.InputType['NotificationDestinationAuthBasicArgs']]] = None,
298
- auth_token: Optional[pulumi.Input[pulumi.InputType['NotificationDestinationAuthTokenArgs']]] = None,
386
+ auth_basic: Optional[pulumi.Input[Union['NotificationDestinationAuthBasicArgs', 'NotificationDestinationAuthBasicArgsDict']]] = None,
387
+ auth_custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationAuthCustomHeaderArgs', 'NotificationDestinationAuthCustomHeaderArgsDict']]]]] = None,
388
+ auth_token: Optional[pulumi.Input[Union['NotificationDestinationAuthTokenArgs', 'NotificationDestinationAuthTokenArgsDict']]] = None,
299
389
  name: Optional[pulumi.Input[str]] = None,
300
- properties: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NotificationDestinationPropertyArgs']]]]] = None,
390
+ properties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationPropertyArgs', 'NotificationDestinationPropertyArgsDict']]]]] = None,
391
+ secure_url: Optional[pulumi.Input[Union['NotificationDestinationSecureUrlArgs', 'NotificationDestinationSecureUrlArgsDict']]] = None,
301
392
  type: Optional[pulumi.Input[str]] = None,
302
393
  __props__=None):
303
394
  """
304
395
  ## Import
305
396
 
397
+ ~> **WARNING:** Slack-based destinations can only be imported and destroyed; this resource **does not** support creating and updating Slack-based destinations, owing to the reasons stated above, under the **Slack** section.
398
+
306
399
  Destination id can be found in the Destinations page -> three dots at the right of the chosen destination -> copy destination id to clipboard.
307
400
 
308
401
  This example is especially useful for slack destinations which *must* be imported.
@@ -320,16 +413,16 @@ class NotificationDestination(pulumi.CustomResource):
320
413
  ```
321
414
 
322
415
  3. Run the following command after the import successfully done and copy the information to your resource:
416
+
417
+ `terraform state show newrelic_notification_destination.foo`
323
418
 
324
- `terraform state show newrelic_notification_destination.foo`
325
-
326
- 4. Add `ignore_changes` attribute on `auth_token` in your imported resource:
419
+ 4. Add `ignore_changes` attribute on `all` in your imported resource:
327
420
 
328
421
  terraform
329
422
 
330
423
  lifecycle {
331
424
 
332
- ignore_changes = [auth_token]
425
+ ignore_changes = all
333
426
 
334
427
  }
335
428
 
@@ -341,7 +434,7 @@ class NotificationDestination(pulumi.CustomResource):
341
434
 
342
435
  lifecycle {
343
436
 
344
- ignore_changes = [auth_token]
437
+ ignore_changes = all
345
438
 
346
439
  }
347
440
 
@@ -369,14 +462,17 @@ class NotificationDestination(pulumi.CustomResource):
369
462
 
370
463
  :param str resource_name: The name of the resource.
371
464
  :param pulumi.ResourceOptions opts: Options for the resource.
372
- :param pulumi.Input[int] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
465
+ :param pulumi.Input[str] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
373
466
  :param pulumi.Input[bool] active: Indicates whether the destination is active.
374
- :param pulumi.Input[pulumi.InputType['NotificationDestinationAuthBasicArgs']] auth_basic: A nested block that describes a basic username and password authentication credentials. Only one auth_basic block is permitted per notification destination definition. See Nested auth_basic blocks below for details.
375
- :param pulumi.Input[pulumi.InputType['NotificationDestinationAuthTokenArgs']] auth_token: A nested block that describes a token authentication credentials. Only one auth_token block is permitted per notification destination definition. See Nested auth_token blocks below for details.
467
+ :param pulumi.Input[Union['NotificationDestinationAuthBasicArgs', 'NotificationDestinationAuthBasicArgsDict']] auth_basic: A nested block that describes a basic username and password authentication credentials. Only one auth_basic block is permitted per notification destination definition. See Nested auth_basic blocks below for details.
468
+ :param pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationAuthCustomHeaderArgs', 'NotificationDestinationAuthCustomHeaderArgsDict']]]] auth_custom_headers: A nested block that describes a custom header authentication credentials. Multiple blocks are permitted per notification destination definition. Nested auth_custom_header blocks below for details.
469
+ :param pulumi.Input[Union['NotificationDestinationAuthTokenArgs', 'NotificationDestinationAuthTokenArgsDict']] auth_token: A nested block that describes a token authentication credentials. Only one auth_token block is permitted per notification destination definition. See Nested auth_token blocks below for details.
376
470
  :param pulumi.Input[str] name: The name of the destination.
377
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NotificationDestinationPropertyArgs']]]] properties: A nested block that describes a notification destination property. See Nested property blocks below for details.
378
- :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, PAGERDUTY_ACCOUNT_INTEGRATION,
379
- PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY, MOBILE_PUSH, EVENT_BRIDGE).
471
+ :param pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationPropertyArgs', 'NotificationDestinationPropertyArgsDict']]]] properties: A nested block that describes a notification destination property. See Nested property blocks below for details.
472
+ :param pulumi.Input[Union['NotificationDestinationSecureUrlArgs', 'NotificationDestinationSecureUrlArgsDict']] secure_url: A nested block that describes a URL that contains sensitive data at the path or parameters. Only one secure_url block is permitted per notification destination definition. See Nested secure_url blocks below for details.
473
+ :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, SERVICE_NOW_APP,
474
+ PAGERDUTY_ACCOUNT_INTEGRATION, PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY,
475
+ MOBILE_PUSH, EVENT_BRIDGE).
380
476
  """
381
477
  ...
382
478
  @overload
@@ -387,6 +483,8 @@ class NotificationDestination(pulumi.CustomResource):
387
483
  """
388
484
  ## Import
389
485
 
486
+ ~> **WARNING:** Slack-based destinations can only be imported and destroyed; this resource **does not** support creating and updating Slack-based destinations, owing to the reasons stated above, under the **Slack** section.
487
+
390
488
  Destination id can be found in the Destinations page -> three dots at the right of the chosen destination -> copy destination id to clipboard.
391
489
 
392
490
  This example is especially useful for slack destinations which *must* be imported.
@@ -404,16 +502,16 @@ class NotificationDestination(pulumi.CustomResource):
404
502
  ```
405
503
 
406
504
  3. Run the following command after the import successfully done and copy the information to your resource:
505
+
506
+ `terraform state show newrelic_notification_destination.foo`
407
507
 
408
- `terraform state show newrelic_notification_destination.foo`
409
-
410
- 4. Add `ignore_changes` attribute on `auth_token` in your imported resource:
508
+ 4. Add `ignore_changes` attribute on `all` in your imported resource:
411
509
 
412
510
  terraform
413
511
 
414
512
  lifecycle {
415
513
 
416
- ignore_changes = [auth_token]
514
+ ignore_changes = all
417
515
 
418
516
  }
419
517
 
@@ -425,7 +523,7 @@ class NotificationDestination(pulumi.CustomResource):
425
523
 
426
524
  lifecycle {
427
525
 
428
- ignore_changes = [auth_token]
526
+ ignore_changes = all
429
527
 
430
528
  }
431
529
 
@@ -466,12 +564,14 @@ class NotificationDestination(pulumi.CustomResource):
466
564
  def _internal_init(__self__,
467
565
  resource_name: str,
468
566
  opts: Optional[pulumi.ResourceOptions] = None,
469
- account_id: Optional[pulumi.Input[int]] = None,
567
+ account_id: Optional[pulumi.Input[str]] = None,
470
568
  active: Optional[pulumi.Input[bool]] = None,
471
- auth_basic: Optional[pulumi.Input[pulumi.InputType['NotificationDestinationAuthBasicArgs']]] = None,
472
- auth_token: Optional[pulumi.Input[pulumi.InputType['NotificationDestinationAuthTokenArgs']]] = None,
569
+ auth_basic: Optional[pulumi.Input[Union['NotificationDestinationAuthBasicArgs', 'NotificationDestinationAuthBasicArgsDict']]] = None,
570
+ auth_custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationAuthCustomHeaderArgs', 'NotificationDestinationAuthCustomHeaderArgsDict']]]]] = None,
571
+ auth_token: Optional[pulumi.Input[Union['NotificationDestinationAuthTokenArgs', 'NotificationDestinationAuthTokenArgsDict']]] = None,
473
572
  name: Optional[pulumi.Input[str]] = None,
474
- properties: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NotificationDestinationPropertyArgs']]]]] = None,
573
+ properties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationPropertyArgs', 'NotificationDestinationPropertyArgsDict']]]]] = None,
574
+ secure_url: Optional[pulumi.Input[Union['NotificationDestinationSecureUrlArgs', 'NotificationDestinationSecureUrlArgsDict']]] = None,
475
575
  type: Optional[pulumi.Input[str]] = None,
476
576
  __props__=None):
477
577
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -485,14 +585,17 @@ class NotificationDestination(pulumi.CustomResource):
485
585
  __props__.__dict__["account_id"] = account_id
486
586
  __props__.__dict__["active"] = active
487
587
  __props__.__dict__["auth_basic"] = auth_basic
588
+ __props__.__dict__["auth_custom_headers"] = auth_custom_headers
488
589
  __props__.__dict__["auth_token"] = auth_token
489
590
  __props__.__dict__["name"] = name
490
591
  if properties is None and not opts.urn:
491
592
  raise TypeError("Missing required property 'properties'")
492
593
  __props__.__dict__["properties"] = properties
594
+ __props__.__dict__["secure_url"] = secure_url
493
595
  if type is None and not opts.urn:
494
596
  raise TypeError("Missing required property 'type'")
495
597
  __props__.__dict__["type"] = type
598
+ __props__.__dict__["guid"] = None
496
599
  __props__.__dict__["last_sent"] = None
497
600
  __props__.__dict__["status"] = None
498
601
  super(NotificationDestination, __self__).__init__(
@@ -505,13 +608,16 @@ class NotificationDestination(pulumi.CustomResource):
505
608
  def get(resource_name: str,
506
609
  id: pulumi.Input[str],
507
610
  opts: Optional[pulumi.ResourceOptions] = None,
508
- account_id: Optional[pulumi.Input[int]] = None,
611
+ account_id: Optional[pulumi.Input[str]] = None,
509
612
  active: Optional[pulumi.Input[bool]] = None,
510
- auth_basic: Optional[pulumi.Input[pulumi.InputType['NotificationDestinationAuthBasicArgs']]] = None,
511
- auth_token: Optional[pulumi.Input[pulumi.InputType['NotificationDestinationAuthTokenArgs']]] = None,
613
+ auth_basic: Optional[pulumi.Input[Union['NotificationDestinationAuthBasicArgs', 'NotificationDestinationAuthBasicArgsDict']]] = None,
614
+ auth_custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationAuthCustomHeaderArgs', 'NotificationDestinationAuthCustomHeaderArgsDict']]]]] = None,
615
+ auth_token: Optional[pulumi.Input[Union['NotificationDestinationAuthTokenArgs', 'NotificationDestinationAuthTokenArgsDict']]] = None,
616
+ guid: Optional[pulumi.Input[str]] = None,
512
617
  last_sent: Optional[pulumi.Input[str]] = None,
513
618
  name: Optional[pulumi.Input[str]] = None,
514
- properties: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NotificationDestinationPropertyArgs']]]]] = None,
619
+ properties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationPropertyArgs', 'NotificationDestinationPropertyArgsDict']]]]] = None,
620
+ secure_url: Optional[pulumi.Input[Union['NotificationDestinationSecureUrlArgs', 'NotificationDestinationSecureUrlArgsDict']]] = None,
515
621
  status: Optional[pulumi.Input[str]] = None,
516
622
  type: Optional[pulumi.Input[str]] = None) -> 'NotificationDestination':
517
623
  """
@@ -521,16 +627,20 @@ class NotificationDestination(pulumi.CustomResource):
521
627
  :param str resource_name: The unique name of the resulting resource.
522
628
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
523
629
  :param pulumi.ResourceOptions opts: Options for the resource.
524
- :param pulumi.Input[int] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
630
+ :param pulumi.Input[str] account_id: Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
525
631
  :param pulumi.Input[bool] active: Indicates whether the destination is active.
526
- :param pulumi.Input[pulumi.InputType['NotificationDestinationAuthBasicArgs']] auth_basic: A nested block that describes a basic username and password authentication credentials. Only one auth_basic block is permitted per notification destination definition. See Nested auth_basic blocks below for details.
527
- :param pulumi.Input[pulumi.InputType['NotificationDestinationAuthTokenArgs']] auth_token: A nested block that describes a token authentication credentials. Only one auth_token block is permitted per notification destination definition. See Nested auth_token blocks below for details.
632
+ :param pulumi.Input[Union['NotificationDestinationAuthBasicArgs', 'NotificationDestinationAuthBasicArgsDict']] auth_basic: A nested block that describes a basic username and password authentication credentials. Only one auth_basic block is permitted per notification destination definition. See Nested auth_basic blocks below for details.
633
+ :param pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationAuthCustomHeaderArgs', 'NotificationDestinationAuthCustomHeaderArgsDict']]]] auth_custom_headers: A nested block that describes a custom header authentication credentials. Multiple blocks are permitted per notification destination definition. Nested auth_custom_header blocks below for details.
634
+ :param pulumi.Input[Union['NotificationDestinationAuthTokenArgs', 'NotificationDestinationAuthTokenArgsDict']] auth_token: A nested block that describes a token authentication credentials. Only one auth_token block is permitted per notification destination definition. See Nested auth_token blocks below for details.
635
+ :param pulumi.Input[str] guid: The unique entity identifier of the destination in New Relic.
528
636
  :param pulumi.Input[str] last_sent: The last time a notification was sent.
529
637
  :param pulumi.Input[str] name: The name of the destination.
530
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NotificationDestinationPropertyArgs']]]] properties: A nested block that describes a notification destination property. See Nested property blocks below for details.
638
+ :param pulumi.Input[Sequence[pulumi.Input[Union['NotificationDestinationPropertyArgs', 'NotificationDestinationPropertyArgsDict']]]] properties: A nested block that describes a notification destination property. See Nested property blocks below for details.
639
+ :param pulumi.Input[Union['NotificationDestinationSecureUrlArgs', 'NotificationDestinationSecureUrlArgsDict']] secure_url: A nested block that describes a URL that contains sensitive data at the path or parameters. Only one secure_url block is permitted per notification destination definition. See Nested secure_url blocks below for details.
531
640
  :param pulumi.Input[str] status: The status of the destination.
532
- :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, PAGERDUTY_ACCOUNT_INTEGRATION,
533
- PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY, MOBILE_PUSH, EVENT_BRIDGE).
641
+ :param pulumi.Input[str] type: (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, SERVICE_NOW_APP,
642
+ PAGERDUTY_ACCOUNT_INTEGRATION, PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY,
643
+ MOBILE_PUSH, EVENT_BRIDGE).
534
644
  """
535
645
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
536
646
 
@@ -539,17 +649,20 @@ class NotificationDestination(pulumi.CustomResource):
539
649
  __props__.__dict__["account_id"] = account_id
540
650
  __props__.__dict__["active"] = active
541
651
  __props__.__dict__["auth_basic"] = auth_basic
652
+ __props__.__dict__["auth_custom_headers"] = auth_custom_headers
542
653
  __props__.__dict__["auth_token"] = auth_token
654
+ __props__.__dict__["guid"] = guid
543
655
  __props__.__dict__["last_sent"] = last_sent
544
656
  __props__.__dict__["name"] = name
545
657
  __props__.__dict__["properties"] = properties
658
+ __props__.__dict__["secure_url"] = secure_url
546
659
  __props__.__dict__["status"] = status
547
660
  __props__.__dict__["type"] = type
548
661
  return NotificationDestination(resource_name, opts=opts, __props__=__props__)
549
662
 
550
663
  @property
551
664
  @pulumi.getter(name="accountId")
552
- def account_id(self) -> pulumi.Output[int]:
665
+ def account_id(self) -> pulumi.Output[str]:
553
666
  """
554
667
  Determines the New Relic account where the notification destination will be created. Defaults to the account associated with the API key used.
555
668
  """
@@ -571,6 +684,14 @@ class NotificationDestination(pulumi.CustomResource):
571
684
  """
572
685
  return pulumi.get(self, "auth_basic")
573
686
 
687
+ @property
688
+ @pulumi.getter(name="authCustomHeaders")
689
+ def auth_custom_headers(self) -> pulumi.Output[Optional[Sequence['outputs.NotificationDestinationAuthCustomHeader']]]:
690
+ """
691
+ A nested block that describes a custom header authentication credentials. Multiple blocks are permitted per notification destination definition. Nested auth_custom_header blocks below for details.
692
+ """
693
+ return pulumi.get(self, "auth_custom_headers")
694
+
574
695
  @property
575
696
  @pulumi.getter(name="authToken")
576
697
  def auth_token(self) -> pulumi.Output[Optional['outputs.NotificationDestinationAuthToken']]:
@@ -579,6 +700,14 @@ class NotificationDestination(pulumi.CustomResource):
579
700
  """
580
701
  return pulumi.get(self, "auth_token")
581
702
 
703
+ @property
704
+ @pulumi.getter
705
+ def guid(self) -> pulumi.Output[str]:
706
+ """
707
+ The unique entity identifier of the destination in New Relic.
708
+ """
709
+ return pulumi.get(self, "guid")
710
+
582
711
  @property
583
712
  @pulumi.getter(name="lastSent")
584
713
  def last_sent(self) -> pulumi.Output[str]:
@@ -603,6 +732,14 @@ class NotificationDestination(pulumi.CustomResource):
603
732
  """
604
733
  return pulumi.get(self, "properties")
605
734
 
735
+ @property
736
+ @pulumi.getter(name="secureUrl")
737
+ def secure_url(self) -> pulumi.Output[Optional['outputs.NotificationDestinationSecureUrl']]:
738
+ """
739
+ A nested block that describes a URL that contains sensitive data at the path or parameters. Only one secure_url block is permitted per notification destination definition. See Nested secure_url blocks below for details.
740
+ """
741
+ return pulumi.get(self, "secure_url")
742
+
606
743
  @property
607
744
  @pulumi.getter
608
745
  def status(self) -> pulumi.Output[str]:
@@ -615,8 +752,9 @@ class NotificationDestination(pulumi.CustomResource):
615
752
  @pulumi.getter
616
753
  def type(self) -> pulumi.Output[str]:
617
754
  """
618
- (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, PAGERDUTY_ACCOUNT_INTEGRATION,
619
- PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY, MOBILE_PUSH, EVENT_BRIDGE).
755
+ (Required) The type of the destination. One of: (WEBHOOK, EMAIL, SERVICE_NOW, SERVICE_NOW_APP,
756
+ PAGERDUTY_ACCOUNT_INTEGRATION, PAGERDUTY_SERVICE_INTEGRATION, JIRA, SLACK, SLACK_COLLABORATION, SLACK_LEGACY,
757
+ MOBILE_PUSH, EVENT_BRIDGE).
620
758
  """
621
759
  return pulumi.get(self, "type")
622
760