pulumi-newrelic 5.20.0a1709643785__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 +13 -4
  5. pulumi_newrelic/alert_channel.py +122 -101
  6. pulumi_newrelic/alert_condition.py +120 -109
  7. pulumi_newrelic/alert_muting_rule.py +130 -74
  8. pulumi_newrelic/alert_policy.py +88 -67
  9. pulumi_newrelic/alert_policy_channel.py +81 -68
  10. pulumi_newrelic/api_access_key.py +49 -52
  11. pulumi_newrelic/browser_application.py +79 -76
  12. pulumi_newrelic/cloud/_inputs.py +2527 -1082
  13. pulumi_newrelic/cloud/aws_govcloud_integrations.py +135 -130
  14. pulumi_newrelic/cloud/aws_govcloud_link_account.py +25 -18
  15. pulumi_newrelic/cloud/aws_integrations.py +300 -1324
  16. pulumi_newrelic/cloud/aws_link_account.py +25 -18
  17. pulumi_newrelic/cloud/azure_integrations.py +523 -481
  18. pulumi_newrelic/cloud/azure_link_account.py +36 -29
  19. pulumi_newrelic/cloud/gcp_integrations.py +343 -320
  20. pulumi_newrelic/cloud/gcp_link_account.py +25 -18
  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 +23 -16
  25. pulumi_newrelic/entity_tags.py +36 -31
  26. pulumi_newrelic/events_to_metrics_rule.py +27 -20
  27. pulumi_newrelic/get_account.py +24 -12
  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 -27
  31. pulumi_newrelic/get_authentication_domain.py +17 -9
  32. pulumi_newrelic/get_cloud_account.py +26 -14
  33. pulumi_newrelic/get_entity.py +90 -85
  34. pulumi_newrelic/get_group.py +58 -9
  35. pulumi_newrelic/get_key_transaction.py +109 -30
  36. pulumi_newrelic/get_notification_destination.py +64 -14
  37. pulumi_newrelic/get_obfuscation_expression.py +36 -24
  38. pulumi_newrelic/get_service_level_alert_helper.py +135 -105
  39. pulumi_newrelic/get_test_grok_pattern.py +29 -14
  40. pulumi_newrelic/get_user.py +17 -5
  41. pulumi_newrelic/group.py +5 -132
  42. pulumi_newrelic/infra_alert_condition.py +157 -140
  43. pulumi_newrelic/insights/_inputs.py +43 -0
  44. pulumi_newrelic/insights/event.py +50 -43
  45. pulumi_newrelic/insights/outputs.py +5 -0
  46. pulumi_newrelic/key_transaction.py +464 -0
  47. pulumi_newrelic/log_parsing_rule.py +29 -18
  48. pulumi_newrelic/monitor_downtime.py +215 -203
  49. pulumi_newrelic/notification_channel.py +387 -326
  50. pulumi_newrelic/notification_destination.py +248 -118
  51. pulumi_newrelic/nrql_alert_condition.py +353 -246
  52. pulumi_newrelic/nrql_drop_rule.py +57 -30
  53. pulumi_newrelic/obfuscation_expression.py +25 -18
  54. pulumi_newrelic/obfuscation_rule.py +40 -31
  55. pulumi_newrelic/one_dashboard.py +31 -26
  56. pulumi_newrelic/one_dashboard_json.py +21 -16
  57. pulumi_newrelic/one_dashboard_raw.py +112 -101
  58. pulumi_newrelic/outputs.py +2446 -245
  59. pulumi_newrelic/plugins/_inputs.py +145 -10
  60. pulumi_newrelic/plugins/application_settings.py +29 -20
  61. pulumi_newrelic/plugins/outputs.py +15 -10
  62. pulumi_newrelic/plugins/workload.py +285 -54
  63. pulumi_newrelic/provider.py +27 -33
  64. pulumi_newrelic/pulumi-plugin.json +2 -1
  65. pulumi_newrelic/service_level.py +193 -180
  66. pulumi_newrelic/synthetics/_inputs.py +159 -2
  67. pulumi_newrelic/synthetics/alert_condition.py +91 -78
  68. pulumi_newrelic/synthetics/broken_links_monitor.py +220 -93
  69. pulumi_newrelic/synthetics/cert_check_monitor.py +223 -94
  70. pulumi_newrelic/synthetics/get_private_location.py +34 -22
  71. pulumi_newrelic/synthetics/get_secure_credential.py +24 -12
  72. pulumi_newrelic/synthetics/monitor.py +352 -179
  73. pulumi_newrelic/synthetics/multi_location_alert_condition.py +109 -96
  74. pulumi_newrelic/synthetics/outputs.py +7 -2
  75. pulumi_newrelic/synthetics/private_location.py +27 -18
  76. pulumi_newrelic/synthetics/script_monitor.py +321 -168
  77. pulumi_newrelic/synthetics/secure_credential.py +25 -20
  78. pulumi_newrelic/synthetics/step_monitor.py +409 -98
  79. pulumi_newrelic/user.py +13 -6
  80. pulumi_newrelic/workflow.py +215 -184
  81. {pulumi_newrelic-5.20.0a1709643785.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.20.0a1709643785.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/WHEEL +1 -1
  84. pulumi_newrelic-5.20.0a1709643785.dist-info/RECORD +0 -89
  85. {pulumi_newrelic-5.20.0a1709643785.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
 
@@ -23,8 +28,8 @@ class GetTestGrokPatternResult:
23
28
  A collection of values returned by getTestGrokPattern.
24
29
  """
25
30
  def __init__(__self__, account_id=None, grok=None, id=None, log_lines=None, test_groks=None):
26
- if account_id and not isinstance(account_id, int):
27
- raise TypeError("Expected argument 'account_id' to be a int")
31
+ if account_id and not isinstance(account_id, str):
32
+ raise TypeError("Expected argument 'account_id' to be a str")
28
33
  pulumi.set(__self__, "account_id", account_id)
29
34
  if grok and not isinstance(grok, str):
30
35
  raise TypeError("Expected argument 'grok' to be a str")
@@ -41,7 +46,7 @@ class GetTestGrokPatternResult:
41
46
 
42
47
  @property
43
48
  @pulumi.getter(name="accountId")
44
- def account_id(self) -> Optional[int]:
49
+ def account_id(self) -> Optional[str]:
45
50
  return pulumi.get(self, "account_id")
46
51
 
47
52
  @property
@@ -84,7 +89,7 @@ class AwaitableGetTestGrokPatternResult(GetTestGrokPatternResult):
84
89
  test_groks=self.test_groks)
85
90
 
86
91
 
87
- def get_test_grok_pattern(account_id: Optional[int] = None,
92
+ def get_test_grok_pattern(account_id: Optional[str] = None,
88
93
  grok: Optional[str] = None,
89
94
  log_lines: Optional[Sequence[str]] = None,
90
95
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTestGrokPatternResult:
@@ -95,7 +100,8 @@ def get_test_grok_pattern(account_id: Optional[int] = None,
95
100
  import pulumi
96
101
  import pulumi_newrelic as newrelic
97
102
 
98
- foo = newrelic.get_test_grok_pattern(grok="%%{IP:host_ip}",
103
+ # Data source
104
+ foo = newrelic.get_test_grok_pattern(grok="%{IP:host_ip}",
99
105
  log_lines=[
100
106
  "host_ip: 43.3.120.2",
101
107
  "bytes_received: 2048",
@@ -103,7 +109,7 @@ def get_test_grok_pattern(account_id: Optional[int] = None,
103
109
  ```
104
110
 
105
111
 
106
- :param int account_id: The New Relic account ID to operate on. This allows you to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
112
+ :param str account_id: The New Relic account ID to operate on. This allows you to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
107
113
  :param str grok: The Grok pattern to test.
108
114
  :param Sequence[str] log_lines: The log lines to test the Grok pattern against.
109
115
  """
@@ -120,13 +126,10 @@ def get_test_grok_pattern(account_id: Optional[int] = None,
120
126
  id=pulumi.get(__ret__, 'id'),
121
127
  log_lines=pulumi.get(__ret__, 'log_lines'),
122
128
  test_groks=pulumi.get(__ret__, 'test_groks'))
123
-
124
-
125
- @_utilities.lift_output_func(get_test_grok_pattern)
126
- def get_test_grok_pattern_output(account_id: Optional[pulumi.Input[Optional[int]]] = None,
129
+ def get_test_grok_pattern_output(account_id: Optional[pulumi.Input[Optional[str]]] = None,
127
130
  grok: Optional[pulumi.Input[str]] = None,
128
131
  log_lines: Optional[pulumi.Input[Sequence[str]]] = None,
129
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTestGrokPatternResult]:
132
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTestGrokPatternResult]:
130
133
  """
131
134
  ## Example Usage
132
135
 
@@ -134,7 +137,8 @@ def get_test_grok_pattern_output(account_id: Optional[pulumi.Input[Optional[int]
134
137
  import pulumi
135
138
  import pulumi_newrelic as newrelic
136
139
 
137
- foo = newrelic.get_test_grok_pattern(grok="%%{IP:host_ip}",
140
+ # Data source
141
+ foo = newrelic.get_test_grok_pattern(grok="%{IP:host_ip}",
138
142
  log_lines=[
139
143
  "host_ip: 43.3.120.2",
140
144
  "bytes_received: 2048",
@@ -142,8 +146,19 @@ def get_test_grok_pattern_output(account_id: Optional[pulumi.Input[Optional[int]
142
146
  ```
143
147
 
144
148
 
145
- :param int account_id: The New Relic account ID to operate on. This allows you to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
149
+ :param str account_id: The New Relic account ID to operate on. This allows you to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
146
150
  :param str grok: The Grok pattern to test.
147
151
  :param Sequence[str] log_lines: The log lines to test the Grok pattern against.
148
152
  """
149
- ...
153
+ __args__ = dict()
154
+ __args__['accountId'] = account_id
155
+ __args__['grok'] = grok
156
+ __args__['logLines'] = log_lines
157
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
158
+ __ret__ = pulumi.runtime.invoke_output('newrelic:index/getTestGrokPattern:getTestGrokPattern', __args__, opts=opts, typ=GetTestGrokPatternResult)
159
+ return __ret__.apply(lambda __response__: GetTestGrokPatternResult(
160
+ account_id=pulumi.get(__response__, 'account_id'),
161
+ grok=pulumi.get(__response__, 'grok'),
162
+ id=pulumi.get(__response__, 'id'),
163
+ log_lines=pulumi.get(__response__, 'log_lines'),
164
+ test_groks=pulumi.get(__response__, 'test_groks')))
@@ -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
 
12
17
  __all__ = [
@@ -115,13 +120,10 @@ def get_user(authentication_domain_id: Optional[str] = None,
115
120
  email_id=pulumi.get(__ret__, 'email_id'),
116
121
  id=pulumi.get(__ret__, 'id'),
117
122
  name=pulumi.get(__ret__, 'name'))
118
-
119
-
120
- @_utilities.lift_output_func(get_user)
121
123
  def get_user_output(authentication_domain_id: Optional[pulumi.Input[str]] = None,
122
124
  email_id: Optional[pulumi.Input[Optional[str]]] = None,
123
125
  name: Optional[pulumi.Input[Optional[str]]] = None,
124
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]:
126
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserResult]:
125
127
  """
126
128
  The `User` data source helps search for a user by their name and/or email ID, and accordingly, fetch the ID of the matching user.
127
129
 
@@ -150,4 +152,14 @@ def get_user_output(authentication_domain_id: Optional[pulumi.Input[str]] = None
150
152
  > **NOTE** The ID of an authentication domain can be retrieved using its name, via the data source `get_authentication_domain`, as shown in the example above. Head over to the documentation of this data source for more details and examples.
151
153
  :param str name: The name of the user to search for.
152
154
  """
153
- ...
155
+ __args__ = dict()
156
+ __args__['authenticationDomainId'] = authentication_domain_id
157
+ __args__['emailId'] = email_id
158
+ __args__['name'] = name
159
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
160
+ __ret__ = pulumi.runtime.invoke_output('newrelic:index/getUser:getUser', __args__, opts=opts, typ=GetUserResult)
161
+ return __ret__.apply(lambda __response__: GetUserResult(
162
+ authentication_domain_id=pulumi.get(__response__, 'authentication_domain_id'),
163
+ email_id=pulumi.get(__response__, 'email_id'),
164
+ id=pulumi.get(__response__, 'id'),
165
+ name=pulumi.get(__response__, 'name')))
pulumi_newrelic/group.py CHANGED
@@ -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
 
12
17
  __all__ = ['GroupArgs', 'Group']
@@ -148,72 +153,6 @@ class Group(pulumi.CustomResource):
148
153
  user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
149
154
  __props__=None):
150
155
  """
151
- The `Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups.
152
-
153
- ## Example Usage
154
-
155
- ```python
156
- import pulumi
157
- import pulumi_newrelic as newrelic
158
-
159
- foo_authentication_domain = newrelic.get_authentication_domain(name="Test Authentication Domain")
160
- foo_group = newrelic.Group("fooGroup",
161
- authentication_domain_id=foo_authentication_domain.id,
162
- user_ids=[
163
- "0001112222",
164
- "2221110000",
165
- ])
166
- ```
167
- ## Additional Examples
168
-
169
- ### Addition of New Users to a New Group
170
-
171
- The following example illustrates the creation of a group using the `Group` resource, to which users created using the `User` resource are added.
172
-
173
- ```python
174
- import pulumi
175
- import pulumi_newrelic as newrelic
176
-
177
- foo_authentication_domain = newrelic.get_authentication_domain(name="Test Authentication Domain")
178
- foo_user = newrelic.User("fooUser",
179
- email_id="test_user_one@test.com",
180
- authentication_domain_id=foo_authentication_domain.id,
181
- user_type="CORE_USER_TIER")
182
- bar = newrelic.User("bar",
183
- email_id="test_user_two@test.com",
184
- authentication_domain_id=foo_authentication_domain.id,
185
- user_type="BASIC_USER_TIER")
186
- foo_group = newrelic.Group("fooGroup",
187
- authentication_domain_id=foo_authentication_domain.id,
188
- user_ids=[
189
- foo_user.id,
190
- bar.id,
191
- ])
192
- ```
193
-
194
- ### Addition of Existing Users to a New Group
195
-
196
- The following example demonstrates the usage of the `Group` resource to create a group, wherein the `User` data source is employed to associate existing users with the newly formed group.
197
-
198
- ```python
199
- import pulumi
200
- import pulumi_newrelic as newrelic
201
-
202
- foo_authentication_domain = newrelic.get_authentication_domain(name="Test Authentication Domain")
203
- foo_user = newrelic.get_user(authentication_domain_id=foo_authentication_domain.id,
204
- email_id="test_user_one@test.com")
205
- bar = newrelic.get_user(authentication_domain_id=foo_authentication_domain.id,
206
- name="Test User Two")
207
- foo_group = newrelic.Group("fooGroup",
208
- authentication_domain_id=foo_authentication_domain.id,
209
- user_ids=[
210
- foo_user.id,
211
- bar.id,
212
- ])
213
- ```
214
-
215
- > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown.
216
-
217
156
  ## Import
218
157
 
219
158
  A group can be imported using its ID. Example:
@@ -239,72 +178,6 @@ class Group(pulumi.CustomResource):
239
178
  args: GroupArgs,
240
179
  opts: Optional[pulumi.ResourceOptions] = None):
241
180
  """
242
- The `Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups.
243
-
244
- ## Example Usage
245
-
246
- ```python
247
- import pulumi
248
- import pulumi_newrelic as newrelic
249
-
250
- foo_authentication_domain = newrelic.get_authentication_domain(name="Test Authentication Domain")
251
- foo_group = newrelic.Group("fooGroup",
252
- authentication_domain_id=foo_authentication_domain.id,
253
- user_ids=[
254
- "0001112222",
255
- "2221110000",
256
- ])
257
- ```
258
- ## Additional Examples
259
-
260
- ### Addition of New Users to a New Group
261
-
262
- The following example illustrates the creation of a group using the `Group` resource, to which users created using the `User` resource are added.
263
-
264
- ```python
265
- import pulumi
266
- import pulumi_newrelic as newrelic
267
-
268
- foo_authentication_domain = newrelic.get_authentication_domain(name="Test Authentication Domain")
269
- foo_user = newrelic.User("fooUser",
270
- email_id="test_user_one@test.com",
271
- authentication_domain_id=foo_authentication_domain.id,
272
- user_type="CORE_USER_TIER")
273
- bar = newrelic.User("bar",
274
- email_id="test_user_two@test.com",
275
- authentication_domain_id=foo_authentication_domain.id,
276
- user_type="BASIC_USER_TIER")
277
- foo_group = newrelic.Group("fooGroup",
278
- authentication_domain_id=foo_authentication_domain.id,
279
- user_ids=[
280
- foo_user.id,
281
- bar.id,
282
- ])
283
- ```
284
-
285
- ### Addition of Existing Users to a New Group
286
-
287
- The following example demonstrates the usage of the `Group` resource to create a group, wherein the `User` data source is employed to associate existing users with the newly formed group.
288
-
289
- ```python
290
- import pulumi
291
- import pulumi_newrelic as newrelic
292
-
293
- foo_authentication_domain = newrelic.get_authentication_domain(name="Test Authentication Domain")
294
- foo_user = newrelic.get_user(authentication_domain_id=foo_authentication_domain.id,
295
- email_id="test_user_one@test.com")
296
- bar = newrelic.get_user(authentication_domain_id=foo_authentication_domain.id,
297
- name="Test User Two")
298
- foo_group = newrelic.Group("fooGroup",
299
- authentication_domain_id=foo_authentication_domain.id,
300
- user_ids=[
301
- foo_user.id,
302
- bar.id,
303
- ])
304
- ```
305
-
306
- > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown.
307
-
308
181
  ## Import
309
182
 
310
183
  A group can be imported using its ID. Example: