pulumi-newrelic 5.22.0__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 +28 -1
  2. pulumi_newrelic/_inputs.py +10385 -2976
  3. pulumi_newrelic/_utilities.py +50 -10
  4. pulumi_newrelic/account_management.py +48 -42
  5. pulumi_newrelic/alert_channel.py +165 -175
  6. pulumi_newrelic/alert_condition.py +307 -319
  7. pulumi_newrelic/alert_muting_rule.py +193 -140
  8. pulumi_newrelic/alert_policy.py +121 -117
  9. pulumi_newrelic/alert_policy_channel.py +89 -79
  10. pulumi_newrelic/api_access_key.py +195 -193
  11. pulumi_newrelic/browser_application.py +120 -114
  12. pulumi_newrelic/cloud/__init__.py +3 -1
  13. pulumi_newrelic/cloud/_inputs.py +4267 -2714
  14. pulumi_newrelic/cloud/aws_govcloud_integrations.py +206 -196
  15. pulumi_newrelic/cloud/aws_govcloud_link_account.py +143 -228
  16. pulumi_newrelic/cloud/aws_integrations.py +510 -1490
  17. pulumi_newrelic/cloud/aws_link_account.py +80 -76
  18. pulumi_newrelic/cloud/azure_integrations.py +673 -587
  19. pulumi_newrelic/cloud/azure_link_account.py +121 -117
  20. pulumi_newrelic/cloud/gcp_integrations.py +428 -408
  21. pulumi_newrelic/cloud/gcp_link_account.py +65 -61
  22. pulumi_newrelic/cloud/oci_link_account.py +926 -0
  23. pulumi_newrelic/cloud/outputs.py +1678 -2321
  24. pulumi_newrelic/config/__init__.py +2 -1
  25. pulumi_newrelic/config/__init__.pyi +8 -3
  26. pulumi_newrelic/config/vars.py +22 -17
  27. pulumi_newrelic/data_partition_rule.py +119 -117
  28. pulumi_newrelic/entity_tags.py +111 -53
  29. pulumi_newrelic/events_to_metrics_rule.py +106 -102
  30. pulumi_newrelic/get_account.py +41 -33
  31. pulumi_newrelic/get_alert_channel.py +73 -28
  32. pulumi_newrelic/get_alert_policy.py +82 -33
  33. pulumi_newrelic/get_application.py +51 -43
  34. pulumi_newrelic/get_authentication_domain.py +27 -23
  35. pulumi_newrelic/get_cloud_account.py +43 -35
  36. pulumi_newrelic/get_entity.py +126 -183
  37. pulumi_newrelic/get_group.py +76 -31
  38. pulumi_newrelic/get_key_transaction.py +117 -42
  39. pulumi_newrelic/get_notification_destination.py +75 -38
  40. pulumi_newrelic/get_obfuscation_expression.py +47 -39
  41. pulumi_newrelic/get_service_level_alert_helper.py +189 -171
  42. pulumi_newrelic/get_test_grok_pattern.py +47 -36
  43. pulumi_newrelic/get_user.py +39 -31
  44. pulumi_newrelic/group.py +59 -199
  45. pulumi_newrelic/infra_alert_condition.py +399 -405
  46. pulumi_newrelic/insights/__init__.py +2 -1
  47. pulumi_newrelic/insights/_inputs.py +71 -28
  48. pulumi_newrelic/insights/event.py +54 -52
  49. pulumi_newrelic/insights/outputs.py +28 -23
  50. pulumi_newrelic/key_transaction.py +465 -0
  51. pulumi_newrelic/log_parsing_rule.py +159 -157
  52. pulumi_newrelic/monitor_downtime.py +311 -331
  53. pulumi_newrelic/notification_channel.py +534 -464
  54. pulumi_newrelic/notification_destination.py +238 -141
  55. pulumi_newrelic/nrql_alert_condition.py +820 -614
  56. pulumi_newrelic/nrql_drop_rule.py +113 -151
  57. pulumi_newrelic/obfuscation_expression.py +80 -76
  58. pulumi_newrelic/obfuscation_rule.py +115 -109
  59. pulumi_newrelic/one_dashboard.py +110 -104
  60. pulumi_newrelic/one_dashboard_json.py +69 -63
  61. pulumi_newrelic/one_dashboard_raw.py +212 -206
  62. pulumi_newrelic/outputs.py +4936 -2234
  63. pulumi_newrelic/pipeline_cloud_rule.py +335 -0
  64. pulumi_newrelic/plugins/__init__.py +2 -1
  65. pulumi_newrelic/plugins/_inputs.py +519 -89
  66. pulumi_newrelic/plugins/application_settings.py +463 -187
  67. pulumi_newrelic/plugins/outputs.py +336 -74
  68. pulumi_newrelic/plugins/workload.py +313 -189
  69. pulumi_newrelic/provider.py +156 -142
  70. pulumi_newrelic/pulumi-plugin.json +2 -1
  71. pulumi_newrelic/service_level.py +263 -263
  72. pulumi_newrelic/synthetics/__init__.py +2 -1
  73. pulumi_newrelic/synthetics/_inputs.py +265 -108
  74. pulumi_newrelic/synthetics/alert_condition.py +170 -180
  75. pulumi_newrelic/synthetics/broken_links_monitor.py +297 -249
  76. pulumi_newrelic/synthetics/cert_check_monitor.py +306 -258
  77. pulumi_newrelic/synthetics/get_private_location.py +51 -47
  78. pulumi_newrelic/synthetics/get_secure_credential.py +39 -31
  79. pulumi_newrelic/synthetics/monitor.py +658 -460
  80. pulumi_newrelic/synthetics/multi_location_alert_condition.py +211 -205
  81. pulumi_newrelic/synthetics/outputs.py +92 -87
  82. pulumi_newrelic/synthetics/private_location.py +118 -112
  83. pulumi_newrelic/synthetics/script_monitor.py +613 -373
  84. pulumi_newrelic/synthetics/secure_credential.py +97 -95
  85. pulumi_newrelic/synthetics/step_monitor.py +445 -275
  86. pulumi_newrelic/user.py +84 -80
  87. pulumi_newrelic/workflow.py +336 -322
  88. {pulumi_newrelic-5.22.0.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/METADATA +7 -6
  89. pulumi_newrelic-5.58.0a1763707205.dist-info/RECORD +92 -0
  90. {pulumi_newrelic-5.22.0.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/WHEEL +1 -1
  91. pulumi_newrelic-5.22.0.dist-info/RECORD +0 -89
  92. {pulumi_newrelic-5.22.0.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,141 +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
- > **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).
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.
266
269
 
267
- ## Import
270
+ For example:
268
271
 
269
- Existing API access keys can be imported using a composite ID of `<api_access_key_id>:<key_type>`. `<key_type>`
270
- will be either `INGEST` or `USER`.
272
+ hcl
271
273
 
272
- For example:
274
+ import {
273
275
 
274
- ```sh
275
- $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "1234567:INGEST"
276
- ```
276
+ id = "131313133A331313130B5F13DF01313FDB13B13133EE5E133D13EAAB3A3C13D3:INGEST"
277
+
278
+ to = newrelic_api_access_key.foobar
279
+
280
+ }
281
+
282
+ This approach simplifies the import process and ensures that the resource configuration aligns with the imported state.
277
283
 
278
284
  :param str resource_name: The name of the resource.
279
285
  :param pulumi.ResourceOptions opts: Options for the resource.
280
- :param pulumi.Input[int] account_id: The New Relic account ID of the account you wish to create the API access key.
281
- :param pulumi.Input[str] ingest_type: Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
282
- :param pulumi.Input[str] key_type: What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
283
- :param pulumi.Input[str] name: The name of the key.
284
- :param pulumi.Input[str] notes: Any notes about this ingest key.
285
- :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.
286
293
  """
287
294
  ...
288
295
  @overload
@@ -291,34 +298,31 @@ class ApiAccessKey(pulumi.CustomResource):
291
298
  args: ApiAccessKeyArgs,
292
299
  opts: Optional[pulumi.ResourceOptions] = None):
293
300
  """
294
- Use this resource to programmatically create and manage the following types of keys:
295
- - [User API keys](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key)
296
- - License (or ingest) keys, including:
297
- - General [license key](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/license-key) used for APM
298
- - [Browser license key](https://docs.newrelic.com/docs/browser/new-relic-browser/configuration/copy-browser-monitoring-license-key-app-id)
301
+ ## Import
302
+
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.
299
304
 
300
- 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)
301
- for more information.
305
+ For example:
302
306
 
303
- > **IMPORTANT!**
304
- Please be very careful when updating existing `ApiAccessKey` resources as only `newrelic_api_access_key.name`
305
- and `newrelic_api_access_key.notes` are updatable. All other resource attributes will force a resource recreation which will
306
- invalidate the previous API key(s).
307
+ ```sh
308
+ $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "131313133A331313130B5F13DF01313FDB13B13133EE5E133D13EAAB3A3C13D3:INGEST"
309
+ ```
307
310
 
308
- ## Example Usage
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.
309
312
 
310
- > **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).
313
+ For example:
311
314
 
312
- ## Import
315
+ hcl
313
316
 
314
- Existing API access keys can be imported using a composite ID of `<api_access_key_id>:<key_type>`. `<key_type>`
315
- will be either `INGEST` or `USER`.
317
+ import {
316
318
 
317
- For example:
319
+ id = "131313133A331313130B5F13DF01313FDB13B13133EE5E133D13EAAB3A3C13D3:INGEST"
318
320
 
319
- ```sh
320
- $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "1234567:INGEST"
321
- ```
321
+ to = newrelic_api_access_key.foobar
322
+
323
+ }
324
+
325
+ This approach simplifies the import process and ensures that the resource configuration aligns with the imported state.
322
326
 
323
327
  :param str resource_name: The name of the resource.
324
328
  :param ApiAccessKeyArgs args: The arguments to use to populate this resource's properties.
@@ -335,12 +339,12 @@ class ApiAccessKey(pulumi.CustomResource):
335
339
  def _internal_init(__self__,
336
340
  resource_name: str,
337
341
  opts: Optional[pulumi.ResourceOptions] = None,
338
- account_id: Optional[pulumi.Input[int]] = None,
339
- ingest_type: Optional[pulumi.Input[str]] = None,
340
- key_type: Optional[pulumi.Input[str]] = None,
341
- name: Optional[pulumi.Input[str]] = None,
342
- notes: Optional[pulumi.Input[str]] = None,
343
- 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,
344
348
  __props__=None):
345
349
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
346
350
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -350,8 +354,6 @@ class ApiAccessKey(pulumi.CustomResource):
350
354
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
351
355
  __props__ = ApiAccessKeyArgs.__new__(ApiAccessKeyArgs)
352
356
 
353
- if account_id is None and not opts.urn:
354
- raise TypeError("Missing required property 'account_id'")
355
357
  __props__.__dict__["account_id"] = account_id
356
358
  __props__.__dict__["ingest_type"] = ingest_type
357
359
  if key_type is None and not opts.urn:
@@ -361,8 +363,6 @@ class ApiAccessKey(pulumi.CustomResource):
361
363
  __props__.__dict__["notes"] = notes
362
364
  __props__.__dict__["user_id"] = user_id
363
365
  __props__.__dict__["key"] = None
364
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["key"])
365
- opts = pulumi.ResourceOptions.merge(opts, secret_opts)
366
366
  super(ApiAccessKey, __self__).__init__(
367
367
  'newrelic:index/apiAccessKey:ApiAccessKey',
368
368
  resource_name,
@@ -373,13 +373,13 @@ class ApiAccessKey(pulumi.CustomResource):
373
373
  def get(resource_name: str,
374
374
  id: pulumi.Input[str],
375
375
  opts: Optional[pulumi.ResourceOptions] = None,
376
- account_id: Optional[pulumi.Input[int]] = None,
377
- ingest_type: Optional[pulumi.Input[str]] = None,
378
- key: Optional[pulumi.Input[str]] = None,
379
- key_type: Optional[pulumi.Input[str]] = None,
380
- name: Optional[pulumi.Input[str]] = None,
381
- notes: Optional[pulumi.Input[str]] = None,
382
- 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':
383
383
  """
384
384
  Get an existing ApiAccessKey resource's state with the given name, id, and optional extra
385
385
  properties used to qualify the lookup.
@@ -387,13 +387,15 @@ class ApiAccessKey(pulumi.CustomResource):
387
387
  :param str resource_name: The unique name of the resulting resource.
388
388
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
389
389
  :param pulumi.ResourceOptions opts: Options for the resource.
390
- :param pulumi.Input[int] account_id: The New Relic account ID of the account you wish to create the API access key.
391
- :param pulumi.Input[str] ingest_type: Required if `key_type = INGEST`. Valid options are `BROWSER` or `LICENSE`, case-sensitive.
392
- :param pulumi.Input[str] key: The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
393
- :param pulumi.Input[str] key_type: What type of API key to create. Valid options are `INGEST` or `USER`, case-sensitive.
394
- :param pulumi.Input[str] name: The name of the key.
395
- :param pulumi.Input[str] notes: Any notes about this ingest key.
396
- :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.
397
399
  """
398
400
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
399
401
 
@@ -408,59 +410,59 @@ class ApiAccessKey(pulumi.CustomResource):
408
410
  __props__.__dict__["user_id"] = user_id
409
411
  return ApiAccessKey(resource_name, opts=opts, __props__=__props__)
410
412
 
411
- @property
413
+ @_builtins.property
412
414
  @pulumi.getter(name="accountId")
413
- def account_id(self) -> pulumi.Output[int]:
415
+ def account_id(self) -> pulumi.Output[Optional[_builtins.str]]:
414
416
  """
415
- 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.
416
418
  """
417
419
  return pulumi.get(self, "account_id")
418
420
 
419
- @property
421
+ @_builtins.property
420
422
  @pulumi.getter(name="ingestType")
421
- def ingest_type(self) -> pulumi.Output[str]:
423
+ def ingest_type(self) -> pulumi.Output[_builtins.str]:
422
424
  """
423
- 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).
424
426
  """
425
427
  return pulumi.get(self, "ingest_type")
426
428
 
427
- @property
429
+ @_builtins.property
428
430
  @pulumi.getter
429
- def key(self) -> pulumi.Output[str]:
431
+ def key(self) -> pulumi.Output[_builtins.str]:
430
432
  """
431
- 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.
432
435
  """
433
436
  return pulumi.get(self, "key")
434
437
 
435
- @property
438
+ @_builtins.property
436
439
  @pulumi.getter(name="keyType")
437
- def key_type(self) -> pulumi.Output[str]:
440
+ def key_type(self) -> pulumi.Output[_builtins.str]:
438
441
  """
439
- 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.
440
445
  """
441
446
  return pulumi.get(self, "key_type")
442
447
 
443
- @property
448
+ @_builtins.property
444
449
  @pulumi.getter
445
- def name(self) -> pulumi.Output[str]:
446
- """
447
- The name of the key.
448
- """
450
+ def name(self) -> pulumi.Output[_builtins.str]:
449
451
  return pulumi.get(self, "name")
450
452
 
451
- @property
453
+ @_builtins.property
452
454
  @pulumi.getter
453
- def notes(self) -> pulumi.Output[str]:
455
+ def notes(self) -> pulumi.Output[_builtins.str]:
454
456
  """
455
- Any notes about this ingest key.
457
+ Additional notes about the API access key.
456
458
  """
457
459
  return pulumi.get(self, "notes")
458
460
 
459
- @property
461
+ @_builtins.property
460
462
  @pulumi.getter(name="userId")
461
- def user_id(self) -> pulumi.Output[int]:
463
+ def user_id(self) -> pulumi.Output[_builtins.str]:
462
464
  """
463
- 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.
464
466
  """
465
467
  return pulumi.get(self, "user_id")
466
468