Skip to content

Commit 7fb4c6e

Browse files
author
Robert Rossetti
committed
patchnotes and docs for latest changes.
1 parent 43bc5a9 commit 7fb4c6e

3 files changed

Lines changed: 39 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 1.5.2
2+
* Fix: saved search `action_email_include_*`, `action_email_send_csv`, and `action_snow_event_param_severity` handle boolean JSON from Splunk Cloud API responses
3+
* Support for namespaced REST import of saved searches and data ui views
4+
* Fix: URL-encode saved search and dashboard names in read, update, delete, and ACL API calls
5+
16
## 1.5.1
27
* Fix: generic_acl app ACL updates on Splunk Cloud
38

docs/resources/data_ui_views.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,20 @@ Dashboards/views in a specific Splunk namespace can be imported with a Splunk RE
3838
```
3939
terraform import splunk_data_ui_views.example "/servicesNS/<owner>/<app>/data/ui/views/<url-encoded-view-name>"
4040
```
41+
42+
### After import
43+
44+
Import sets the resource `id` and `name` to the view name. REST-path imports also set initial ACL namespace values (`owner`, `app`, and an inferred `sharing` value). Import does not load every Splunk setting or permission list.
45+
46+
Run `terraform plan` immediately after import. Plan output commonly includes drift until your configuration matches Splunk:
47+
48+
- **ACL drift**`acl.read` and `acl.write` are not populated during import and may differ from Splunk until you copy values from the Splunk UI or REST API into your `.tf` file. REST-path import infers `sharing` as `app` when `owner` is `nobody`, otherwise `user`. Globally shared views (`sharing = "global"`) may show a one-time ACL change in plan; set `sharing = "global"` explicitly in config if needed.
49+
- **Unset attributes** — Dashboard attributes such as `eai_data` and ACL permissions may differ from a minimal import config until you define them explicitly or use `lifecycle { ignore_changes = [...] }`.
50+
- **Bare-name import** — Importing by name alone does not set `acl`. Without an `acl` block in config, refresh may use provider defaults that do not match the view's Splunk namespace. Prefer REST-path import or set `acl` explicitly.
51+
52+
Recommended workflow:
53+
54+
1. `terraform import ...` (name or REST path)
55+
2. `terraform plan` — review drift
56+
3. Update `.tf` to match required settings, or use `terraform plan -generate-config-out=generated.tf` (Terraform 1.5+) as a starting point
57+
4. Run `terraform plan` again until only intentional changes remain

docs/resources/saved_searches.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,3 +239,20 @@ Saved searches in a specific Splunk namespace can be imported with a Splunk REST
239239
```
240240
terraform import splunk_saved_searches.example "/servicesNS/<owner>/<app>/saved/searches/<url-encoded-saved-search-name>"
241241
```
242+
243+
### After import
244+
245+
Import sets the resource `id` and `name` to the saved search name. REST-path imports also set initial ACL namespace values (`owner`, `app`, and an inferred `sharing` value). Import does not load every Splunk setting or permission list.
246+
247+
Run `terraform plan` immediately after import. Plan output commonly includes drift until your configuration matches Splunk:
248+
249+
- **ACL drift**`acl.read` and `acl.write` are not populated during import and may differ from Splunk until you copy values from the Splunk UI or REST API into your `.tf` file. REST-path import infers `sharing` as `app` when `owner` is `nobody`, otherwise `user`. Globally shared saved searches (`sharing = "global"`) may show a one-time ACL change in plan; set `sharing = "global"` explicitly in config if needed.
250+
- **Unset attributes** — Saved searches expose many optional fields with Splunk defaults. A minimal import config will often produce a large plan until you define the attributes you care about or use `lifecycle { ignore_changes = [...] }`.
251+
- **Bare-name import** — Importing by name alone does not set `acl`. Without an `acl` block in config, the provider defaults to `owner = "nobody"` and `app = "search"`, which can cause refresh errors or plan changes for app- or user-scoped saved searches. Prefer REST-path import or set `acl` explicitly.
252+
253+
Recommended workflow:
254+
255+
1. `terraform import ...` (name or REST path)
256+
2. `terraform plan` — review drift
257+
3. Update `.tf` to match required settings, or use `terraform plan -generate-config-out=generated.tf` (Terraform 1.5+) as a starting point
258+
4. Run `terraform plan` again until only intentional changes remain

0 commit comments

Comments
 (0)