Template Documentation

This commit is contained in:
luke-hagar-sp
2023-05-09 11:48:27 -05:00
parent b1a5e83bf8
commit 2a09e6bcd4
3 changed files with 270 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
---
id: cli-template-report
title: Report Template
pagination_label: CLI Templates Report
sidebar_label: Report
sidebar_position: 7
sidebar_class_name: cli-template-report
keywords: ['cli', 'template', 'report']
description: Learn about the CLI commands you can use to interact with VAs in this guide.
slug: /tools/cli/templates/report
tags: ['CLI']
---
Use Report Templates to run a set of simple predefined search queries from the CLI Reports are most useful when you do not care about the search results returned from a query, and only want to know the Count of results.
This is an example of a report template:
```json
[
{
"name": "provisioning-and-security",
"description": "All account unlocks in the tenant for a given time range",
"variables": [{"name": "days", "prompt": "Days before today"}],
"queries": [
{
"queryString": "(type:provisioning AND created:[now-{{days}}d TO now])",
"queryTitle": "Provisioning Events for the last {{days}} days"
},
{
"queryString": "(USER_UNLOCK_PASSED AND created:[now-{{days}}d TO now])",
"queryTitle": "User Unlocks for the last {{days}} days"
}
]
}
]
```
This is the report template anatomy
```json
[
{
"name": "provisioning-and-security",
```
The Name of the search template.
This is what will show up in the template list when running `sail report`.
This is also the name you can provide as an argument `sail report provisioning-and-security`
```json
"description": "All account unlocks in the tenant for a given time range",
```
The description of the report template, this will show below the template name in the `sail report` list
```json
"variables": [{"name": "days", "prompt": "Days before today"}],
```
Variables are used to populate values in the content below dynamically during command run time for example the Variable in this template is configured so you can choose how many days back you want to search for provisioning-and-security events when you run `sail report provisioning-and-security` a prompt appears saying `Input Days before today:` the number you enter is then populated anywhere that variable is used in the below object, and the query is run
```json
"queries": [
{
"queryString": "(type:provisioning AND created:[now-{{days}}d TO now])",
"queryTitle": "Provisioning Events for the last {{days}} days"
},
{
"queryString": "(USER_UNLOCK_PASSED AND created:[now-{{days}}d TO now])",
"queryTitle": "User Unlocks for the last {{days}} days"
}
]
}
]
```
This is a list of the queries that will be run, currently variables for days are populated

View File

@@ -0,0 +1,103 @@
---
id: cli-template-search
title: Search Template
pagination_label: CLI Templates Search
sidebar_label: Search
sidebar_position: 7
sidebar_class_name: cli-template-search
keywords: ['cli', 'template', 'search']
description: Learn about the CLI commands you can use to interact with VAs in this guide.
slug: /tools/cli/templates/search
tags: ['CLI']
---
Use Search Templates to run predefined search queries from the CLI
This is an example of a template file with 3 search templates populated
```json
[
{
"name": "all-account-unlocks",
"description": "All account unlocks in the tenant for a given time range",
"variables": [{"name": "days", "prompt": "Days before today"}],
"searchQuery": {
"indices": ["events"],
"queryType": null,
"queryVersion": null,
"query": {
"query": "(USER_UNLOCK_PASSED AND created:[now-{{days}}d TO now])"
},
"sort": [],
"searchAfter": []
}
},
{
"name": "all-provisioning-events",
"description": "All provisioning events in the tenant for a given time range",
"variables": [{"name": "days", "prompt": "Days before today"}],
"searchQuery": {
"indices": ["events"],
"queryType": null,
"queryVersion": null,
"query": {
"query": "(type:provisioning AND created:[now-{{days}}d TO now])"
},
"sort": [],
"searchAfter": []
}
},
{
"name": "all-provisioning-events-90-days",
"description": "All provisioning events in the tenant for a given time range",
"variables": [],
"searchQuery": {
"indices": ["events"],
"queryType": null,
"queryVersion": null,
"query": {
"query": "(type:provisioning AND created:[now-90d TO now])"
},
"sort": [],
"searchAfter": []
}
}
]
```
This is the search template anatomy:
```json
{
"name": "all-account-unlocks",
```
The search template name that displays in the template list when you run `sail search template`.
You can also provide this name as an argument: `sail search template all-account-unlocks`
```json
"description": "All account unlocks in the tenant for a given time range"
```
The search template description that displays below the template name in the `sail search template` list
```json
"variables": [{"name": "days", "prompt": "Days before today"}],
```
Use variables to dynamically populate values in the following content during command run time. For example, the variable in this template is configured such that you can choose how many days back you want to search for account unlock events. When you run `sail search template all-account-unlocks`, a prompt displays, saying `Input Days before today:` The number you enter is then populated anywhere that variable is used in the following object, and the query runs.
```json
"searchQuery": {
"indices": ["events"],
"queryType": null,
"queryVersion": null,
"query": {
"query": "(USER_UNLOCK_PASSED AND created:[now-{{days}}d TO now])" },
"sort": [], "searchAfter": []
}
}
```
Everything inside this searchQuery object matches the standard format of an [IdentityNow search query](https://documentation.sailpoint.com/saas/help/search/building-query.html). A limited number of examples are provided [here](https://developer.sailpoint.com/idn/api/v3/search-post), but the searchQuery object is mapped to the full search object. This means that you can add any search query values missing from this object.

View File

@@ -0,0 +1,87 @@
---
id: cli-template-spconfig
title: SPConfig Template
pagination_label: CLI Templates SPConfig
sidebar_label: SPConfig
sidebar_position: 7
sidebar_class_name: cli-template-spconfig
keywords: ['cli', 'template', 'spconfig']
description: Learn about the CLI commands you can use to interact with VAs in this guide.
slug: /tools/cli/templates/spconfig
tags: ['CLI']
---
Use SPConfig templates to perform complex import and export operations with IdentityNow configurations
This is an example of a template file with one SPConfig templated populated
```json
[
{
"name": "all-objects",
"description": "Export all available objects",
"variables": [],
"exportBody": {
"description": "Export all available objects",
"excludeTypes": [],
"includeTypes": [
"SOURCE",
"RULE",
"TRIGGER_SUBSCRIPTION",
"TRANSFORM",
"IDENTITY_PROFILE"
],
"objectOptions": {}
}
}
]
```
This is the anatomy of a SPConfig template
```json
{
"name": "all-objects",
```
The search template name that displays in the template list when you run `sail spconfig template`.
You can also provide this name as an argument: `sail spconfig template all-objects`
```json
"description": "Export all available objects",
```
The spconfig template description that displays below the template name
in the `sail spconfig template` list
```json
"variables": [],
```
Use variables to dynamically populate values in the following content during command run time.
```json
"exportBody": {
```
The below object matches that detailed in the [API docs](https://developer.sailpoint.com/idn/api/beta/export-sp-config)
```json
"description": "Export all available objects",
"excludeTypes": [],
"includeTypes": [
"SOURCE",
"RULE",
"TRIGGER_SUBSCRIPTION",
"TRANSFORM",
"IDENTITY_PROFILE"
],
"objectOptions": {}
}
}
```