pulumi-newrelic 5.16.0a1698964311__py3-none-any.whl → 5.58.0a1763707205__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-newrelic might be problematic. Click here for more details.

Files changed (92) hide show
  1. pulumi_newrelic/__init__.py +58 -1
  2. pulumi_newrelic/_inputs.py +10772 -2775
  3. pulumi_newrelic/_utilities.py +92 -11
  4. pulumi_newrelic/account_management.py +56 -42
  5. pulumi_newrelic/alert_channel.py +177 -151
  6. pulumi_newrelic/alert_condition.py +313 -301
  7. pulumi_newrelic/alert_muting_rule.py +195 -138
  8. pulumi_newrelic/alert_policy.py +157 -109
  9. pulumi_newrelic/alert_policy_channel.py +95 -81
  10. pulumi_newrelic/api_access_key.py +191 -209
  11. pulumi_newrelic/browser_application.py +161 -153
  12. pulumi_newrelic/cloud/__init__.py +3 -1
  13. pulumi_newrelic/cloud/_inputs.py +4267 -2710
  14. pulumi_newrelic/cloud/aws_govcloud_integrations.py +238 -200
  15. pulumi_newrelic/cloud/aws_govcloud_link_account.py +159 -212
  16. pulumi_newrelic/cloud/aws_integrations.py +518 -1490
  17. pulumi_newrelic/cloud/aws_link_account.py +88 -76
  18. pulumi_newrelic/cloud/azure_integrations.py +681 -587
  19. pulumi_newrelic/cloud/azure_link_account.py +129 -117
  20. pulumi_newrelic/cloud/gcp_integrations.py +436 -408
  21. pulumi_newrelic/cloud/gcp_link_account.py +71 -59
  22. pulumi_newrelic/cloud/oci_link_account.py +926 -0
  23. pulumi_newrelic/cloud/outputs.py +1678 -2317
  24. pulumi_newrelic/config/__init__.py +2 -1
  25. pulumi_newrelic/config/__init__.pyi +45 -0
  26. pulumi_newrelic/config/vars.py +22 -17
  27. pulumi_newrelic/data_partition_rule.py +129 -117
  28. pulumi_newrelic/entity_tags.py +153 -31
  29. pulumi_newrelic/events_to_metrics_rule.py +114 -102
  30. pulumi_newrelic/get_account.py +41 -29
  31. pulumi_newrelic/get_alert_channel.py +73 -28
  32. pulumi_newrelic/get_alert_policy.py +83 -34
  33. pulumi_newrelic/get_application.py +51 -39
  34. pulumi_newrelic/get_authentication_domain.py +111 -0
  35. pulumi_newrelic/get_cloud_account.py +43 -31
  36. pulumi_newrelic/get_entity.py +126 -121
  37. pulumi_newrelic/get_group.py +190 -0
  38. pulumi_newrelic/get_key_transaction.py +117 -38
  39. pulumi_newrelic/get_notification_destination.py +86 -36
  40. pulumi_newrelic/get_obfuscation_expression.py +47 -35
  41. pulumi_newrelic/get_service_level_alert_helper.py +237 -137
  42. pulumi_newrelic/get_test_grok_pattern.py +47 -32
  43. pulumi_newrelic/get_user.py +165 -0
  44. pulumi_newrelic/group.py +286 -0
  45. pulumi_newrelic/infra_alert_condition.py +400 -382
  46. pulumi_newrelic/insights/__init__.py +2 -1
  47. pulumi_newrelic/insights/_inputs.py +94 -23
  48. pulumi_newrelic/insights/event.py +56 -48
  49. pulumi_newrelic/insights/outputs.py +51 -18
  50. pulumi_newrelic/key_transaction.py +465 -0
  51. pulumi_newrelic/log_parsing_rule.py +169 -153
  52. pulumi_newrelic/monitor_downtime.py +914 -0
  53. pulumi_newrelic/notification_channel.py +560 -418
  54. pulumi_newrelic/notification_destination.py +379 -124
  55. pulumi_newrelic/nrql_alert_condition.py +945 -513
  56. pulumi_newrelic/nrql_drop_rule.py +121 -129
  57. pulumi_newrelic/obfuscation_expression.py +88 -76
  58. pulumi_newrelic/obfuscation_rule.py +123 -109
  59. pulumi_newrelic/one_dashboard.py +118 -108
  60. pulumi_newrelic/one_dashboard_json.py +77 -67
  61. pulumi_newrelic/one_dashboard_raw.py +214 -202
  62. pulumi_newrelic/outputs.py +5491 -2141
  63. pulumi_newrelic/pipeline_cloud_rule.py +335 -0
  64. pulumi_newrelic/plugins/__init__.py +2 -1
  65. pulumi_newrelic/plugins/_inputs.py +520 -90
  66. pulumi_newrelic/plugins/application_settings.py +463 -167
  67. pulumi_newrelic/plugins/outputs.py +337 -75
  68. pulumi_newrelic/plugins/workload.py +387 -151
  69. pulumi_newrelic/provider.py +156 -142
  70. pulumi_newrelic/pulumi-plugin.json +2 -1
  71. pulumi_newrelic/service_level.py +277 -255
  72. pulumi_newrelic/synthetics/__init__.py +2 -1
  73. pulumi_newrelic/synthetics/_inputs.py +275 -106
  74. pulumi_newrelic/synthetics/alert_condition.py +174 -160
  75. pulumi_newrelic/synthetics/broken_links_monitor.py +367 -207
  76. pulumi_newrelic/synthetics/cert_check_monitor.py +380 -218
  77. pulumi_newrelic/synthetics/get_private_location.py +51 -39
  78. pulumi_newrelic/synthetics/get_secure_credential.py +39 -27
  79. pulumi_newrelic/synthetics/monitor.py +668 -462
  80. pulumi_newrelic/synthetics/multi_location_alert_condition.py +219 -201
  81. pulumi_newrelic/synthetics/outputs.py +102 -85
  82. pulumi_newrelic/synthetics/private_location.py +120 -110
  83. pulumi_newrelic/synthetics/script_monitor.py +623 -375
  84. pulumi_newrelic/synthetics/secure_credential.py +99 -93
  85. pulumi_newrelic/synthetics/step_monitor.py +545 -201
  86. pulumi_newrelic/user.py +366 -0
  87. pulumi_newrelic/workflow.py +348 -312
  88. {pulumi_newrelic-5.16.0a1698964311.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/METADATA +8 -7
  89. pulumi_newrelic-5.58.0a1763707205.dist-info/RECORD +92 -0
  90. {pulumi_newrelic-5.16.0a1698964311.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/WHEEL +1 -1
  91. pulumi_newrelic-5.16.0a1698964311.dist-info/RECORD +0 -82
  92. {pulumi_newrelic-5.16.0a1698964311.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
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__ = ['ApiAccessKeyArgs', 'ApiAccessKey']
@@ -14,23 +19,25 @@ __all__ = ['ApiAccessKeyArgs', 'ApiAccessKey']
14
19
  @pulumi.input_type
15
20
  class ApiAccessKeyArgs:
16
21
  def __init__(__self__, *,
17
- account_id: pulumi.Input[int],
18
- key_type: pulumi.Input[str],
19
- ingest_type: Optional[pulumi.Input[str]] = None,
20
- name: Optional[pulumi.Input[str]] = None,
21
- notes: Optional[pulumi.Input[str]] = None,
22
- user_id: Optional[pulumi.Input[int]] = None):
22
+ key_type: pulumi.Input[_builtins.str],
23
+ account_id: Optional[pulumi.Input[_builtins.str]] = None,
24
+ ingest_type: Optional[pulumi.Input[_builtins.str]] = None,
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ notes: Optional[pulumi.Input[_builtins.str]] = None,
27
+ user_id: Optional[pulumi.Input[_builtins.str]] = None):
23
28
  """
24
29
  The set of arguments for constructing a ApiAccessKey resource.
25
- :param pulumi.Input[int] account_id: The New Relic account ID of the account you wish to create the API access key.
26
- :param pulumi.Input[str] key_type: What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
27
- :param pulumi.Input[str] ingest_type: Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
28
- :param pulumi.Input[str] name: The name of the key.
29
- :param pulumi.Input[str] notes: Any notes about this ingest key.
30
- :param pulumi.Input[int] user_id: Required if `key_type = USER`. The New Relic user ID yous wish to create the API access key for in an account.
31
- """
32
- pulumi.set(__self__, "account_id", account_id)
30
+ :param pulumi.Input[_builtins.str] key_type: The type of API key to create. Valid options are `INGEST` or `USER` (case-sensitive).
31
+ - If `key_type` is `INGEST`, then `ingest_type` must be specified.
32
+ - If `key_type` is `USER`, then `user_id` must be specified.
33
+ :param pulumi.Input[_builtins.str] account_id: The New Relic account ID where the API access key will be created.
34
+ :param pulumi.Input[_builtins.str] ingest_type: Required if `key_type` is `INGEST`. Valid options are `BROWSER` or `LICENSE` (case-sensitive).
35
+ :param pulumi.Input[_builtins.str] notes: Additional notes about the API access key.
36
+ :param pulumi.Input[_builtins.str] user_id: Required if `key_type` is `USER`. The New Relic user ID for which the API access key will be created.
37
+ """
33
38
  pulumi.set(__self__, "key_type", key_type)
39
+ if account_id is not None:
40
+ pulumi.set(__self__, "account_id", account_id)
34
41
  if ingest_type is not None:
35
42
  pulumi.set(__self__, "ingest_type", ingest_type)
36
43
  if name is not None:
@@ -40,98 +47,99 @@ class ApiAccessKeyArgs:
40
47
  if user_id is not None:
41
48
  pulumi.set(__self__, "user_id", user_id)
42
49
 
43
- @property
44
- @pulumi.getter(name="accountId")
45
- def account_id(self) -> pulumi.Input[int]:
46
- """
47
- The New Relic account ID of the account you wish to create the API access key.
48
- """
49
- return pulumi.get(self, "account_id")
50
-
51
- @account_id.setter
52
- def account_id(self, value: pulumi.Input[int]):
53
- pulumi.set(self, "account_id", value)
54
-
55
- @property
50
+ @_builtins.property
56
51
  @pulumi.getter(name="keyType")
57
- def key_type(self) -> pulumi.Input[str]:
52
+ def key_type(self) -> pulumi.Input[_builtins.str]:
58
53
  """
59
- What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
54
+ The type of API key to create. Valid options are `INGEST` or `USER` (case-sensitive).
55
+ - If `key_type` is `INGEST`, then `ingest_type` must be specified.
56
+ - If `key_type` is `USER`, then `user_id` must be specified.
60
57
  """
61
58
  return pulumi.get(self, "key_type")
62
59
 
63
60
  @key_type.setter
64
- def key_type(self, value: pulumi.Input[str]):
61
+ def key_type(self, value: pulumi.Input[_builtins.str]):
65
62
  pulumi.set(self, "key_type", value)
66
63
 
67
- @property
64
+ @_builtins.property
65
+ @pulumi.getter(name="accountId")
66
+ def account_id(self) -> Optional[pulumi.Input[_builtins.str]]:
67
+ """
68
+ The New Relic account ID where the API access key will be created.
69
+ """
70
+ return pulumi.get(self, "account_id")
71
+
72
+ @account_id.setter
73
+ def account_id(self, value: Optional[pulumi.Input[_builtins.str]]):
74
+ pulumi.set(self, "account_id", value)
75
+
76
+ @_builtins.property
68
77
  @pulumi.getter(name="ingestType")
69
- def ingest_type(self) -> Optional[pulumi.Input[str]]:
78
+ def ingest_type(self) -> Optional[pulumi.Input[_builtins.str]]:
70
79
  """
71
- Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
80
+ Required if `key_type` is `INGEST`. Valid options are `BROWSER` or `LICENSE` (case-sensitive).
72
81
  """
73
82
  return pulumi.get(self, "ingest_type")
74
83
 
75
84
  @ingest_type.setter
76
- def ingest_type(self, value: Optional[pulumi.Input[str]]):
85
+ def ingest_type(self, value: Optional[pulumi.Input[_builtins.str]]):
77
86
  pulumi.set(self, "ingest_type", value)
78
87
 
79
- @property
88
+ @_builtins.property
80
89
  @pulumi.getter
81
- def name(self) -> Optional[pulumi.Input[str]]:
82
- """
83
- The name of the key.
84
- """
90
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
85
91
  return pulumi.get(self, "name")
86
92
 
87
93
  @name.setter
88
- def name(self, value: Optional[pulumi.Input[str]]):
94
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
89
95
  pulumi.set(self, "name", value)
90
96
 
91
- @property
97
+ @_builtins.property
92
98
  @pulumi.getter
93
- def notes(self) -> Optional[pulumi.Input[str]]:
99
+ def notes(self) -> Optional[pulumi.Input[_builtins.str]]:
94
100
  """
95
- Any notes about this ingest key.
101
+ Additional notes about the API access key.
96
102
  """
97
103
  return pulumi.get(self, "notes")
98
104
 
99
105
  @notes.setter
100
- def notes(self, value: Optional[pulumi.Input[str]]):
106
+ def notes(self, value: Optional[pulumi.Input[_builtins.str]]):
101
107
  pulumi.set(self, "notes", value)
102
108
 
103
- @property
109
+ @_builtins.property
104
110
  @pulumi.getter(name="userId")
105
- def user_id(self) -> Optional[pulumi.Input[int]]:
111
+ def user_id(self) -> Optional[pulumi.Input[_builtins.str]]:
106
112
  """
107
- Required if `key_type = USER`. The New Relic user ID yous wish to create the API access key for in an account.
113
+ Required if `key_type` is `USER`. The New Relic user ID for which the API access key will be created.
108
114
  """
109
115
  return pulumi.get(self, "user_id")
110
116
 
111
117
  @user_id.setter
112
- def user_id(self, value: Optional[pulumi.Input[int]]):
118
+ def user_id(self, value: Optional[pulumi.Input[_builtins.str]]):
113
119
  pulumi.set(self, "user_id", value)
114
120
 
115
121
 
116
122
  @pulumi.input_type
117
123
  class _ApiAccessKeyState:
118
124
  def __init__(__self__, *,
119
- account_id: Optional[pulumi.Input[int]] = None,
120
- ingest_type: Optional[pulumi.Input[str]] = None,
121
- key: Optional[pulumi.Input[str]] = None,
122
- key_type: Optional[pulumi.Input[str]] = None,
123
- name: Optional[pulumi.Input[str]] = None,
124
- notes: Optional[pulumi.Input[str]] = None,
125
- user_id: Optional[pulumi.Input[int]] = None):
125
+ account_id: Optional[pulumi.Input[_builtins.str]] = None,
126
+ ingest_type: Optional[pulumi.Input[_builtins.str]] = None,
127
+ key: Optional[pulumi.Input[_builtins.str]] = None,
128
+ key_type: Optional[pulumi.Input[_builtins.str]] = None,
129
+ name: Optional[pulumi.Input[_builtins.str]] = None,
130
+ notes: Optional[pulumi.Input[_builtins.str]] = None,
131
+ user_id: Optional[pulumi.Input[_builtins.str]] = None):
126
132
  """
127
133
  Input properties used for looking up and filtering ApiAccessKey resources.
128
- :param pulumi.Input[int] account_id: The New Relic account ID of the account you wish to create the API access key.
129
- :param pulumi.Input[str] ingest_type: Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
130
- :param pulumi.Input[str] key: The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
131
- :param pulumi.Input[str] key_type: What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
132
- :param pulumi.Input[str] name: The name of the key.
133
- :param pulumi.Input[str] notes: Any notes about this ingest key.
134
- :param pulumi.Input[int] user_id: Required if `key_type = USER`. The New Relic user ID yous wish to create the API access key for in an account.
134
+ :param pulumi.Input[_builtins.str] account_id: The New Relic account ID where the API access key will be created.
135
+ :param pulumi.Input[_builtins.str] ingest_type: Required if `key_type` is `INGEST`. Valid options are `BROWSER` or `LICENSE` (case-sensitive).
136
+ :param pulumi.Input[_builtins.str] key: The actual API key.
137
+ - <span style="color:tomato;">It is important to exercise caution when exporting the value of `key`, as it is sensitive information</span>. Avoid logging or exposing it inappropriately.
138
+ :param pulumi.Input[_builtins.str] key_type: The type of API key to create. Valid options are `INGEST` or `USER` (case-sensitive).
139
+ - If `key_type` is `INGEST`, then `ingest_type` must be specified.
140
+ - If `key_type` is `USER`, then `user_id` must be specified.
141
+ :param pulumi.Input[_builtins.str] notes: Additional notes about the API access key.
142
+ :param pulumi.Input[_builtins.str] user_id: Required if `key_type` is `USER`. The New Relic user ID for which the API access key will be created.
135
143
  """
136
144
  if account_id is not None:
137
145
  pulumi.set(__self__, "account_id", account_id)
@@ -148,151 +156,140 @@ class _ApiAccessKeyState:
148
156
  if user_id is not None:
149
157
  pulumi.set(__self__, "user_id", user_id)
150
158
 
151
- @property
159
+ @_builtins.property
152
160
  @pulumi.getter(name="accountId")
153
- def account_id(self) -> Optional[pulumi.Input[int]]:
161
+ def account_id(self) -> Optional[pulumi.Input[_builtins.str]]:
154
162
  """
155
- The New Relic account ID of the account you wish to create the API access key.
163
+ The New Relic account ID where the API access key will be created.
156
164
  """
157
165
  return pulumi.get(self, "account_id")
158
166
 
159
167
  @account_id.setter
160
- def account_id(self, value: Optional[pulumi.Input[int]]):
168
+ def account_id(self, value: Optional[pulumi.Input[_builtins.str]]):
161
169
  pulumi.set(self, "account_id", value)
162
170
 
163
- @property
171
+ @_builtins.property
164
172
  @pulumi.getter(name="ingestType")
165
- def ingest_type(self) -> Optional[pulumi.Input[str]]:
173
+ def ingest_type(self) -> Optional[pulumi.Input[_builtins.str]]:
166
174
  """
167
- Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
175
+ Required if `key_type` is `INGEST`. Valid options are `BROWSER` or `LICENSE` (case-sensitive).
168
176
  """
169
177
  return pulumi.get(self, "ingest_type")
170
178
 
171
179
  @ingest_type.setter
172
- def ingest_type(self, value: Optional[pulumi.Input[str]]):
180
+ def ingest_type(self, value: Optional[pulumi.Input[_builtins.str]]):
173
181
  pulumi.set(self, "ingest_type", value)
174
182
 
175
- @property
183
+ @_builtins.property
176
184
  @pulumi.getter
177
- def key(self) -> Optional[pulumi.Input[str]]:
185
+ def key(self) -> Optional[pulumi.Input[_builtins.str]]:
178
186
  """
179
- The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
187
+ The actual API key.
188
+ - <span style="color:tomato;">It is important to exercise caution when exporting the value of `key`, as it is sensitive information</span>. Avoid logging or exposing it inappropriately.
180
189
  """
181
190
  return pulumi.get(self, "key")
182
191
 
183
192
  @key.setter
184
- def key(self, value: Optional[pulumi.Input[str]]):
193
+ def key(self, value: Optional[pulumi.Input[_builtins.str]]):
185
194
  pulumi.set(self, "key", value)
186
195
 
187
- @property
196
+ @_builtins.property
188
197
  @pulumi.getter(name="keyType")
189
- def key_type(self) -> Optional[pulumi.Input[str]]:
198
+ def key_type(self) -> Optional[pulumi.Input[_builtins.str]]:
190
199
  """
191
- What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
200
+ The type of API key to create. Valid options are `INGEST` or `USER` (case-sensitive).
201
+ - If `key_type` is `INGEST`, then `ingest_type` must be specified.
202
+ - If `key_type` is `USER`, then `user_id` must be specified.
192
203
  """
193
204
  return pulumi.get(self, "key_type")
194
205
 
195
206
  @key_type.setter
196
- def key_type(self, value: Optional[pulumi.Input[str]]):
207
+ def key_type(self, value: Optional[pulumi.Input[_builtins.str]]):
197
208
  pulumi.set(self, "key_type", value)
198
209
 
199
- @property
210
+ @_builtins.property
200
211
  @pulumi.getter
201
- def name(self) -> Optional[pulumi.Input[str]]:
202
- """
203
- The name of the key.
204
- """
212
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
205
213
  return pulumi.get(self, "name")
206
214
 
207
215
  @name.setter
208
- def name(self, value: Optional[pulumi.Input[str]]):
216
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
209
217
  pulumi.set(self, "name", value)
210
218
 
211
- @property
219
+ @_builtins.property
212
220
  @pulumi.getter
213
- def notes(self) -> Optional[pulumi.Input[str]]:
221
+ def notes(self) -> Optional[pulumi.Input[_builtins.str]]:
214
222
  """
215
- Any notes about this ingest key.
223
+ Additional notes about the API access key.
216
224
  """
217
225
  return pulumi.get(self, "notes")
218
226
 
219
227
  @notes.setter
220
- def notes(self, value: Optional[pulumi.Input[str]]):
228
+ def notes(self, value: Optional[pulumi.Input[_builtins.str]]):
221
229
  pulumi.set(self, "notes", value)
222
230
 
223
- @property
231
+ @_builtins.property
224
232
  @pulumi.getter(name="userId")
225
- def user_id(self) -> Optional[pulumi.Input[int]]:
233
+ def user_id(self) -> Optional[pulumi.Input[_builtins.str]]:
226
234
  """
227
- Required if `key_type = USER`. The New Relic user ID yous wish to create the API access key for in an account.
235
+ Required if `key_type` is `USER`. The New Relic user ID for which the API access key will be created.
228
236
  """
229
237
  return pulumi.get(self, "user_id")
230
238
 
231
239
  @user_id.setter
232
- def user_id(self, value: Optional[pulumi.Input[int]]):
240
+ def user_id(self, value: Optional[pulumi.Input[_builtins.str]]):
233
241
  pulumi.set(self, "user_id", value)
234
242
 
235
243
 
244
+ @pulumi.type_token("newrelic:index/apiAccessKey:ApiAccessKey")
236
245
  class ApiAccessKey(pulumi.CustomResource):
237
246
  @overload
238
247
  def __init__(__self__,
239
248
  resource_name: str,
240
249
  opts: Optional[pulumi.ResourceOptions] = None,
241
- account_id: Optional[pulumi.Input[int]] = None,
242
- ingest_type: Optional[pulumi.Input[str]] = None,
243
- key_type: Optional[pulumi.Input[str]] = None,
244
- name: Optional[pulumi.Input[str]] = None,
245
- notes: Optional[pulumi.Input[str]] = None,
246
- user_id: Optional[pulumi.Input[int]] = None,
250
+ account_id: Optional[pulumi.Input[_builtins.str]] = None,
251
+ ingest_type: Optional[pulumi.Input[_builtins.str]] = None,
252
+ key_type: Optional[pulumi.Input[_builtins.str]] = None,
253
+ name: Optional[pulumi.Input[_builtins.str]] = None,
254
+ notes: Optional[pulumi.Input[_builtins.str]] = None,
255
+ user_id: Optional[pulumi.Input[_builtins.str]] = None,
247
256
  __props__=None):
248
257
  """
249
- Use this resource to programmatically create and manage the following types of keys:
250
- - [User API keys](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key)
251
- - License (or ingest) keys, including:
252
- - General [license key](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/license-key) used for APM
253
- - [Browser license key](https://docs.newrelic.com/docs/browser/new-relic-browser/configuration/copy-browser-monitoring-license-key-app-id)
258
+ ## Import
254
259
 
255
- Please visit the New Relic article ['Use NerdGraph to manage license keys and User API keys'](https://docs.newrelic.com/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys)
256
- for more information.
260
+ Existing API access keys can be imported using a composite ID of `<api_access_key_id>:<key_type>`, where `<key_type>` is either `INGEST` or `USER`. Refer to the considerations listed in the Important Considerations section above regarding limitations on importing the actual key value.
257
261
 
258
- > **IMPORTANT!**
259
- Please be very careful when updating existing `ApiAccessKey` resources as only `newrelic_api_access_key.name`
260
- and `newrelic_api_access_key.notes` are updatable. All other resource attributes will force a resource recreation which will
261
- invalidate the previous API key(s).
262
+ For example:
262
263
 
263
- ## Example Usage
264
+ ```sh
265
+ $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "131313133A331313130B5F13DF01313FDB13B13133EE5E133D13EAAB3A3C13D3:INGEST"
266
+ ```
264
267
 
265
- ```python
266
- import pulumi
267
- import pulumi_newrelic as newrelic
268
+ For customers using Terraform v1.5 and above, it is recommended to use the `import {}` block in your Terraform configuration. This allows Terraform to generate the resource configuration automatically during the import process by running a `pulumi preview -generate-config-out=<filename>.tf`, reducing manual effort and ensuring accuracy.
268
269
 
269
- foobar = newrelic.ApiAccessKey("foobar",
270
- account_id=1234567,
271
- ingest_type="LICENSE",
272
- key_type="INGEST",
273
- notes="To be used with service X")
274
- ```
270
+ For example:
275
271
 
276
- > **WARNING:** Creating 'Ingest - License' and 'Ingest - Browser' keys using this resource is restricted to 'core' or 'full platform' New Relic user accounts. If you've signed up as a 'basic' user with New Relic, or have been added as a 'basic' user to your organization on New Relic, you would not be able to use your account to create 'Ingest' keys. If you see the message `"You do not have permission to create this key"` in the response of the API called by this resource, it could be owing to the aforementioned. For more insights into user account types on New Relic and associated privileges, please check out this [page](https://docs.newrelic.com/docs/accounts/accounts-billing/new-relic-one-user-management/user-type/#api-access).
272
+ hcl
277
273
 
278
- ## Import
274
+ import {
279
275
 
280
- Existing API access keys can be imported using a composite ID of `<api_access_key_id>:<key_type>`. `<key_type>` will be either `INGEST` or `USER`.
276
+ id = "131313133A331313130B5F13DF01313FDB13B13133EE5E133D13EAAB3A3C13D3:INGEST"
281
277
 
282
- For example:
278
+ to = newrelic_api_access_key.foobar
283
279
 
284
- ```sh
285
- $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "1234567:INGEST"
286
- ```
280
+ }
281
+
282
+ This approach simplifies the import process and ensures that the resource configuration aligns with the imported state.
287
283
 
288
284
  :param str resource_name: The name of the resource.
289
285
  :param pulumi.ResourceOptions opts: Options for the resource.
290
- :param pulumi.Input[int] account_id: The New Relic account ID of the account you wish to create the API access key.
291
- :param pulumi.Input[str] ingest_type: Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
292
- :param pulumi.Input[str] key_type: What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
293
- :param pulumi.Input[str] name: The name of the key.
294
- :param pulumi.Input[str] notes: Any notes about this ingest key.
295
- :param pulumi.Input[int] user_id: Required if `key_type = USER`. The New Relic user ID yous wish to create the API access key for in an account.
286
+ :param pulumi.Input[_builtins.str] account_id: The New Relic account ID where the API access key will be created.
287
+ :param pulumi.Input[_builtins.str] ingest_type: Required if `key_type` is `INGEST`. Valid options are `BROWSER` or `LICENSE` (case-sensitive).
288
+ :param pulumi.Input[_builtins.str] key_type: The type of API key to create. Valid options are `INGEST` or `USER` (case-sensitive).
289
+ - If `key_type` is `INGEST`, then `ingest_type` must be specified.
290
+ - If `key_type` is `USER`, then `user_id` must be specified.
291
+ :param pulumi.Input[_builtins.str] notes: Additional notes about the API access key.
292
+ :param pulumi.Input[_builtins.str] user_id: Required if `key_type` is `USER`. The New Relic user ID for which the API access key will be created.
296
293
  """
297
294
  ...
298
295
  @overload
@@ -301,44 +298,31 @@ class ApiAccessKey(pulumi.CustomResource):
301
298
  args: ApiAccessKeyArgs,
302
299
  opts: Optional[pulumi.ResourceOptions] = None):
303
300
  """
304
- Use this resource to programmatically create and manage the following types of keys:
305
- - [User API keys](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key)
306
- - License (or ingest) keys, including:
307
- - General [license key](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/license-key) used for APM
308
- - [Browser license key](https://docs.newrelic.com/docs/browser/new-relic-browser/configuration/copy-browser-monitoring-license-key-app-id)
301
+ ## Import
309
302
 
310
- Please visit the New Relic article ['Use NerdGraph to manage license keys and User API keys'](https://docs.newrelic.com/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys)
311
- for more information.
303
+ Existing API access keys can be imported using a composite ID of `<api_access_key_id>:<key_type>`, where `<key_type>` is either `INGEST` or `USER`. Refer to the considerations listed in the Important Considerations section above regarding limitations on importing the actual key value.
312
304
 
313
- > **IMPORTANT!**
314
- Please be very careful when updating existing `ApiAccessKey` resources as only `newrelic_api_access_key.name`
315
- and `newrelic_api_access_key.notes` are updatable. All other resource attributes will force a resource recreation which will
316
- invalidate the previous API key(s).
305
+ For example:
317
306
 
318
- ## Example Usage
307
+ ```sh
308
+ $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "131313133A331313130B5F13DF01313FDB13B13133EE5E133D13EAAB3A3C13D3:INGEST"
309
+ ```
319
310
 
320
- ```python
321
- import pulumi
322
- import pulumi_newrelic as newrelic
311
+ For customers using Terraform v1.5 and above, it is recommended to use the `import {}` block in your Terraform configuration. This allows Terraform to generate the resource configuration automatically during the import process by running a `pulumi preview -generate-config-out=<filename>.tf`, reducing manual effort and ensuring accuracy.
323
312
 
324
- foobar = newrelic.ApiAccessKey("foobar",
325
- account_id=1234567,
326
- ingest_type="LICENSE",
327
- key_type="INGEST",
328
- notes="To be used with service X")
329
- ```
313
+ For example:
330
314
 
331
- > **WARNING:** Creating 'Ingest - License' and 'Ingest - Browser' keys using this resource is restricted to 'core' or 'full platform' New Relic user accounts. If you've signed up as a 'basic' user with New Relic, or have been added as a 'basic' user to your organization on New Relic, you would not be able to use your account to create 'Ingest' keys. If you see the message `"You do not have permission to create this key"` in the response of the API called by this resource, it could be owing to the aforementioned. For more insights into user account types on New Relic and associated privileges, please check out this [page](https://docs.newrelic.com/docs/accounts/accounts-billing/new-relic-one-user-management/user-type/#api-access).
315
+ hcl
332
316
 
333
- ## Import
317
+ import {
334
318
 
335
- Existing API access keys can be imported using a composite ID of `<api_access_key_id>:<key_type>`. `<key_type>` will be either `INGEST` or `USER`.
319
+ id = "131313133A331313130B5F13DF01313FDB13B13133EE5E133D13EAAB3A3C13D3:INGEST"
336
320
 
337
- For example:
321
+ to = newrelic_api_access_key.foobar
338
322
 
339
- ```sh
340
- $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "1234567:INGEST"
341
- ```
323
+ }
324
+
325
+ This approach simplifies the import process and ensures that the resource configuration aligns with the imported state.
342
326
 
343
327
  :param str resource_name: The name of the resource.
344
328
  :param ApiAccessKeyArgs args: The arguments to use to populate this resource's properties.
@@ -355,12 +339,12 @@ class ApiAccessKey(pulumi.CustomResource):
355
339
  def _internal_init(__self__,
356
340
  resource_name: str,
357
341
  opts: Optional[pulumi.ResourceOptions] = None,
358
- account_id: Optional[pulumi.Input[int]] = None,
359
- ingest_type: Optional[pulumi.Input[str]] = None,
360
- key_type: Optional[pulumi.Input[str]] = None,
361
- name: Optional[pulumi.Input[str]] = None,
362
- notes: Optional[pulumi.Input[str]] = None,
363
- user_id: Optional[pulumi.Input[int]] = None,
342
+ account_id: Optional[pulumi.Input[_builtins.str]] = None,
343
+ ingest_type: Optional[pulumi.Input[_builtins.str]] = None,
344
+ key_type: Optional[pulumi.Input[_builtins.str]] = None,
345
+ name: Optional[pulumi.Input[_builtins.str]] = None,
346
+ notes: Optional[pulumi.Input[_builtins.str]] = None,
347
+ user_id: Optional[pulumi.Input[_builtins.str]] = None,
364
348
  __props__=None):
365
349
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
366
350
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -370,8 +354,6 @@ class ApiAccessKey(pulumi.CustomResource):
370
354
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
371
355
  __props__ = ApiAccessKeyArgs.__new__(ApiAccessKeyArgs)
372
356
 
373
- if account_id is None and not opts.urn:
374
- raise TypeError("Missing required property 'account_id'")
375
357
  __props__.__dict__["account_id"] = account_id
376
358
  __props__.__dict__["ingest_type"] = ingest_type
377
359
  if key_type is None and not opts.urn:
@@ -381,8 +363,6 @@ class ApiAccessKey(pulumi.CustomResource):
381
363
  __props__.__dict__["notes"] = notes
382
364
  __props__.__dict__["user_id"] = user_id
383
365
  __props__.__dict__["key"] = None
384
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["key"])
385
- opts = pulumi.ResourceOptions.merge(opts, secret_opts)
386
366
  super(ApiAccessKey, __self__).__init__(
387
367
  'newrelic:index/apiAccessKey:ApiAccessKey',
388
368
  resource_name,
@@ -393,13 +373,13 @@ class ApiAccessKey(pulumi.CustomResource):
393
373
  def get(resource_name: str,
394
374
  id: pulumi.Input[str],
395
375
  opts: Optional[pulumi.ResourceOptions] = None,
396
- account_id: Optional[pulumi.Input[int]] = None,
397
- ingest_type: Optional[pulumi.Input[str]] = None,
398
- key: Optional[pulumi.Input[str]] = None,
399
- key_type: Optional[pulumi.Input[str]] = None,
400
- name: Optional[pulumi.Input[str]] = None,
401
- notes: Optional[pulumi.Input[str]] = None,
402
- user_id: Optional[pulumi.Input[int]] = None) -> 'ApiAccessKey':
376
+ account_id: Optional[pulumi.Input[_builtins.str]] = None,
377
+ ingest_type: Optional[pulumi.Input[_builtins.str]] = None,
378
+ key: Optional[pulumi.Input[_builtins.str]] = None,
379
+ key_type: Optional[pulumi.Input[_builtins.str]] = None,
380
+ name: Optional[pulumi.Input[_builtins.str]] = None,
381
+ notes: Optional[pulumi.Input[_builtins.str]] = None,
382
+ user_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'ApiAccessKey':
403
383
  """
404
384
  Get an existing ApiAccessKey resource's state with the given name, id, and optional extra
405
385
  properties used to qualify the lookup.
@@ -407,13 +387,15 @@ class ApiAccessKey(pulumi.CustomResource):
407
387
  :param str resource_name: The unique name of the resulting resource.
408
388
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
409
389
  :param pulumi.ResourceOptions opts: Options for the resource.
410
- :param pulumi.Input[int] account_id: The New Relic account ID of the account you wish to create the API access key.
411
- :param pulumi.Input[str] ingest_type: Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
412
- :param pulumi.Input[str] key: The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
413
- :param pulumi.Input[str] key_type: What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
414
- :param pulumi.Input[str] name: The name of the key.
415
- :param pulumi.Input[str] notes: Any notes about this ingest key.
416
- :param pulumi.Input[int] user_id: Required if `key_type = USER`. The New Relic user ID yous wish to create the API access key for in an account.
390
+ :param pulumi.Input[_builtins.str] account_id: The New Relic account ID where the API access key will be created.
391
+ :param pulumi.Input[_builtins.str] ingest_type: Required if `key_type` is `INGEST`. Valid options are `BROWSER` or `LICENSE` (case-sensitive).
392
+ :param pulumi.Input[_builtins.str] key: The actual API key.
393
+ - <span style="color:tomato;">It is important to exercise caution when exporting the value of `key`, as it is sensitive information</span>. Avoid logging or exposing it inappropriately.
394
+ :param pulumi.Input[_builtins.str] key_type: The type of API key to create. Valid options are `INGEST` or `USER` (case-sensitive).
395
+ - If `key_type` is `INGEST`, then `ingest_type` must be specified.
396
+ - If `key_type` is `USER`, then `user_id` must be specified.
397
+ :param pulumi.Input[_builtins.str] notes: Additional notes about the API access key.
398
+ :param pulumi.Input[_builtins.str] user_id: Required if `key_type` is `USER`. The New Relic user ID for which the API access key will be created.
417
399
  """
418
400
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
419
401
 
@@ -428,59 +410,59 @@ class ApiAccessKey(pulumi.CustomResource):
428
410
  __props__.__dict__["user_id"] = user_id
429
411
  return ApiAccessKey(resource_name, opts=opts, __props__=__props__)
430
412
 
431
- @property
413
+ @_builtins.property
432
414
  @pulumi.getter(name="accountId")
433
- def account_id(self) -> pulumi.Output[int]:
415
+ def account_id(self) -> pulumi.Output[Optional[_builtins.str]]:
434
416
  """
435
- The New Relic account ID of the account you wish to create the API access key.
417
+ The New Relic account ID where the API access key will be created.
436
418
  """
437
419
  return pulumi.get(self, "account_id")
438
420
 
439
- @property
421
+ @_builtins.property
440
422
  @pulumi.getter(name="ingestType")
441
- def ingest_type(self) -> pulumi.Output[str]:
423
+ def ingest_type(self) -> pulumi.Output[_builtins.str]:
442
424
  """
443
- Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
425
+ Required if `key_type` is `INGEST`. Valid options are `BROWSER` or `LICENSE` (case-sensitive).
444
426
  """
445
427
  return pulumi.get(self, "ingest_type")
446
428
 
447
- @property
429
+ @_builtins.property
448
430
  @pulumi.getter
449
- def key(self) -> pulumi.Output[str]:
431
+ def key(self) -> pulumi.Output[_builtins.str]:
450
432
  """
451
- The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
433
+ The actual API key.
434
+ - <span style="color:tomato;">It is important to exercise caution when exporting the value of `key`, as it is sensitive information</span>. Avoid logging or exposing it inappropriately.
452
435
  """
453
436
  return pulumi.get(self, "key")
454
437
 
455
- @property
438
+ @_builtins.property
456
439
  @pulumi.getter(name="keyType")
457
- def key_type(self) -> pulumi.Output[str]:
440
+ def key_type(self) -> pulumi.Output[_builtins.str]:
458
441
  """
459
- What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
442
+ The type of API key to create. Valid options are `INGEST` or `USER` (case-sensitive).
443
+ - If `key_type` is `INGEST`, then `ingest_type` must be specified.
444
+ - If `key_type` is `USER`, then `user_id` must be specified.
460
445
  """
461
446
  return pulumi.get(self, "key_type")
462
447
 
463
- @property
448
+ @_builtins.property
464
449
  @pulumi.getter
465
- def name(self) -> pulumi.Output[str]:
466
- """
467
- The name of the key.
468
- """
450
+ def name(self) -> pulumi.Output[_builtins.str]:
469
451
  return pulumi.get(self, "name")
470
452
 
471
- @property
453
+ @_builtins.property
472
454
  @pulumi.getter
473
- def notes(self) -> pulumi.Output[str]:
455
+ def notes(self) -> pulumi.Output[_builtins.str]:
474
456
  """
475
- Any notes about this ingest key.
457
+ Additional notes about the API access key.
476
458
  """
477
459
  return pulumi.get(self, "notes")
478
460
 
479
- @property
461
+ @_builtins.property
480
462
  @pulumi.getter(name="userId")
481
- def user_id(self) -> pulumi.Output[int]:
463
+ def user_id(self) -> pulumi.Output[_builtins.str]:
482
464
  """
483
- Required if `key_type = USER`. The New Relic user ID yous wish to create the API access key for in an account.
465
+ Required if `key_type` is `USER`. The New Relic user ID for which the API access key will be created.
484
466
  """
485
467
  return pulumi.get(self, "user_id")
486
468