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