added docs to sidebar

This commit is contained in:
philip-ellis-sp
2022-08-26 17:01:25 -04:00
parent 311b34449a
commit b0935db3c8
150 changed files with 1016 additions and 270 deletions

View File

@@ -1,6 +1,6 @@
---
id: access-request-dynamic-approval
slug: idn/docs/event-triggers/access-request-dynamic-approval
slug: /idn/event-triggers/access-request-dynamic-approval
---
# Access Request Dynamic Approval

View File

@@ -1,6 +1,6 @@
---
id: access-request-postapproval
slug: idn/docs/event-triggers/access-request-postapproval
slug: /idn/event-triggers/access-request-postapproval
---
# Access Request Postapproval

View File

@@ -1,6 +1,6 @@
---
id: access-request-preapproval
slug: idn/docs/event-triggers/access-request-preapproval
slug: /idn/event-triggers/access-request-preapproval
---
# Access Request Preapproval

View File

@@ -1,6 +1,6 @@
---
id: account-aggregation-completed
slug: idn/docs/event-triggers/account-aggregation-completed
slug: /idn/event-triggers/account-aggregation-completed
---
# Account Aggregation Completed

View File

@@ -1,6 +1,6 @@
---
id: identity-attribute-changed
slug: idn/docs/event-triggers/identity-attribute-changed
slug: /idn/event-triggers/identity-attribute-changed
---
# Identity Attribute Changed

View File

@@ -1,6 +1,6 @@
---
id: identity-created
slug: idn/docs/event-triggers/identity-created
slug: /idn/event-triggers/identity-created
---
# Identity Created

View File

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

View File

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 123 KiB

View File

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,6 +1,6 @@
---
id: provisioning-action-completed
slug: idn/docs/event-triggers/provisioning-action-completed
slug: /idn/event-triggers/provisioning-action-completed
---
# Provisioning Action Completed

View File

@@ -1,6 +1,6 @@
---
id: saved-search-completed
slug: idn/docs/event-triggers/saved-search-completed
slug: /idn/event-triggers/saved-search-completed
---
# Saved Search Completed

View File

@@ -1,6 +1,6 @@
---
id: source-created
slug: idn/docs/event-triggers/source-created
slug: /idn/event-triggers/source-created
---
# Source Created

View File

@@ -1,6 +1,6 @@
---
id: source-deleted
slug: idn/docs/event-triggers/source-deleted
slug: /idn/event-triggers/source-deleted
---
# Source Deleted

View File

@@ -1,6 +1,6 @@
---
id: source-updated
slug: idn/docs/event-triggers/source-updated
slug: /idn/event-triggers/source-updated
---
# Source Updated

View File

@@ -1,6 +1,6 @@
---
id: va-cluster-status-change
slug: idn/docs/event-triggers/va-cluster-status-change
slug: /idn/event-triggers/va-cluster-status-change
---
# VA Cluster Status Change

View File

@@ -1,6 +1,6 @@
---
id: identity-deleted
slug: idn/docs/event-triggers/early-access/va-cluster-status-change
slug: /idn/event-triggers/early-access/va-cluster-status-change
---
# Identity Deleted

View File

@@ -1,6 +1,6 @@
---
id: source-account-created
slug: idn/docs/event-triggers/early-access/source-account-created
slug: /idn/event-triggers/early-access/source-account-created
---
# Source Account Created

View File

@@ -1,6 +1,6 @@
---
id: source-account-deleted
slug: idn/docs/event-triggers/early-access/source-account-deleted
slug: /idn/event-triggers/early-access/source-account-deleted
---
# Source Account Deleted

View File

@@ -1,6 +1,6 @@
---
id: source-account-updated
slug: idn/docs/event-triggers/early-access/source-account-updated
slug: /idn/event-triggers/early-access/source-account-updated
---
# Source Account Updated

View File

@@ -1,6 +1,6 @@
---
id: filtering-events
slug: idn/docs/event-triggers/getting-started/filtering-events
slug: /idn/event-triggers/getting-started/filtering-events
---
# Filtering Events

View File

@@ -1,6 +1,6 @@
---
id: getting-started
slug: idn/docs/event-triggers/getting-started
slug: /idn/event-triggers/getting-started
---
# Getting Started

View File

@@ -1,6 +1,6 @@
---
id: preparing-a-subscriber-service
slug: idn/docs/event-triggers/getting-started/preparing-a-subscriber-service
slug: /idn/event-triggers/getting-started/preparing-a-subscriber-service
---
# Preparing a Subscriber Service

View File

@@ -1,6 +1,6 @@
---
id: responding-to-request-response
slug: idn/docs/event-triggers/getting-started/responding-to-request-response
slug: /idn/event-triggers/getting-started/responding-to-request-response
---
# Responding to a Request Response Trigger

View File

@@ -1,6 +1,6 @@
---
id: subscribing-to-a-trigger
slug: idn/docs/event-triggers/getting-started/subscribing-to-a-trigger
slug: /idn/event-triggers/getting-started/subscribing-to-a-trigger
---
# Subscribing to a Trigger

View File

@@ -1,6 +1,6 @@
---
id: testing-triggers
slug: idn/docs/event-triggers/getting-started/testing-triggers
slug: /idn/event-triggers/getting-started/testing-triggers
---
# Testing Triggers

View File

@@ -1,6 +1,6 @@
---
id: trigger-types
slug: idn/docs/event-triggers/getting-started/trigger-types
slug: /idn/event-triggers/getting-started/trigger-types
---
# Trigger Types

View File

@@ -1,6 +1,6 @@
---
id: authentication
slug: idn/docs/getting-started/authentication
slug: /idn/getting-started/authentication
---
# Authentication

View File

@@ -1,6 +1,6 @@
---
id: getting-started
slug: idn/docs/getting-started
slug: /idn/getting-started
---
# Getting Started with SailPoint APIs

View File

@@ -1,6 +1,6 @@
---
id: standard-collection-parameters
slug: idn/docs/getting-started/standard-collection-parameters
slug: /idn/getting-started/standard-collection-parameters
---
# Standard Collection Parameters

View File

@@ -1,6 +1,6 @@
---
id: saas-configuration
slug: idn/docs/saas-configuration
slug: /idn/saas-configuration
---
# Overview

View File

@@ -1,6 +1,6 @@
---
id: account-create
slug: idn/docs/saas-connectivity/commands/account-create
slug: /idn/saas-connectivity/commands/account-create
---
# Account Create
@@ -54,7 +54,7 @@ The account create command accepts a provisioning plan from IDN and creates the
You can create the provisioning plan through the ```accountCreateTemplate``` in the ```connector-spec.json``` file, and you can also modify its behavior in IDN using the create profile screen:
![Account Create](../../img/custom_connectors/commands/account_create/account_create_idn.png)
![Account Create](./img/account_create_idn.png)
Create Profile provides the instructions for the provisioning plan and determines which attributes are sent to your connector code. For example, if all the account attributes in the preceding image are configured for a value, then the following JSON payload is sent to your connector:
@@ -175,7 +175,7 @@ There are two ways you can generate random passwords:
1. Use the “Create Password” generator in Create Profile. (This can also be configured in the ```accountCreateTemplate```)
![Create Password](../../img/custom_connectors/commands/account_create/create_password_idn.png)
![Create Password](./img/create_password_idn.png)
2. Disable the 'password' field.
@@ -209,14 +209,14 @@ async createAccount(input: StdAccountCreateInput): Promise<AirtableAccount> {
One way to test whether the account create code works in IDN is to set up an access profile and role that grants members an entitlement from the connectors target source. Start by creating an access profile that grants one or more entitlements from the target source.
![Testing 1](../../img/custom_connectors/commands/account_create/testing1.png)
![Testing 1](./img/testing1.png)
Next, create a role that uses the access profile created in the previous step.
![Testing 2](../../img/custom_connectors/commands/account_create/testing2.png)
![Testing 2](./img/testing2.png)
Modify the role membership to use Identity List and select one or more users that do not have accounts in the target source yet.
![Testing 3](../../img/custom_connectors/commands/account_create/testing3.png)
![Testing 3](./img/testing3.png)
Click the Update button in the upper right corner to initiate the account provisioning process. Doing so creates the account(s) on the target source once the process is complete.

View File

@@ -1,6 +1,6 @@
---
id: account-delete
slug: idn/docs/saas-connectivity/commands/account-delete
slug: /idn/saas-connectivity/commands/account-delete
---
# Account Delete

View File

@@ -1,6 +1,6 @@
---
id: account-discover
slug: idn/docs/saas-connectivity/commands/account-discover
slug: /idn/saas-connectivity/commands/account-discover
---
# Account Discover Schema
@@ -336,16 +336,16 @@ There are many properties in this payload, so you may want to remove some, but i
## Test in IdentityNow
To test the account discover schema command in IDN, ensure that you upload your latest connector code and create a new source in IDN. After you configure and test your source connection, go to the Account Schema page. You will see an empty schema.
![Discover Schema 1](../../img/custom_connectors/commands/discover_schema/discover_schema_idn1.png)
![Discover Schema 1](./img/discover_schema_idn1.png)
To discover the schema for this source, click the Options dropdown in the upper right and select Discover Schema.
![Discover Schema 2](../../img/custom_connectors/commands/discover_schema/discover_schema_idn2.png)
![Discover Schema 2](./img/discover_schema_idn2.png)
IDN then asks you to assign attributes to Account ID and 'Account Name.'
![Discover Schema 3](../../img/custom_connectors/commands/discover_schema/discover_schema_idn3.png)
![Discover Schema 3](./img/discover_schema_idn3.png)
Save the schema. You now have a populated account schema. A user of this source must provide further details, like descriptions and identifying which attributes are entitlements.
![Discover Schema 4](../../img/custom_connectors/commands/discover_schema/discover_schema_idn4.png)
![Discover Schema 4](./img/discover_schema_idn4.png)

View File

@@ -1,6 +1,6 @@
---
id: account-enable
slug: idn/docs/saas-connectivity/commands/account-enable
slug: /idn/saas-connectivity/commands/account-enable
---
# Account Enable/Disable

View File

@@ -1,6 +1,6 @@
---
id: account-list
slug: idn/docs/saas-connectivity/commands/account-list
slug: /idn/saas-connectivity/commands/account-list
---
# Account List
@@ -34,7 +34,7 @@ slug: idn/docs/saas-connectivity/commands/account-list
## Description
The account list command aggregates all accounts from the target source into IdentityNow. IDN calls this command during a manual or scheduled account aggregation.
![Account List](../../img/custom_connectors/commands/account_list/account_list_idn.png)
![Account List](./img/account_list_idn.png)
## Implementation
For you to be able to implement this endpoint, the web service must expose an API for listing user accounts and entitlements (i.e. roles or groups). Sometimes, a target sources API has a single endpoint providing all the attributes and entitlements a source account contains. However, some APIs may break these attributes and entitlements into separate API endpoints, requiring you to make multiple calls to gather all an account's necessary data. The following code from [airtable.ts](https://github.com/sailpoint-oss/airtable-example-connector/blob/main/src/airtable.ts) shows the necessary steps to create a complete account from the various endpoints the API offers:

View File

@@ -1,6 +1,6 @@
---
id: account-read
slug: idn/docs/saas-connectivity/commands/account-read
slug: /idn/saas-connectivity/commands/account-read
---
# Account Read
@@ -41,7 +41,7 @@ slug: idn/docs/saas-connectivity/commands/account-read
## Description
The account read command aggregates a single account from the target source into IdentityNow. IDN can call this command during a “one-off” account refresh, which you can trigger by aggregating an individual account in IDN.
![Account Read](../../img/custom_connectors/commands/account_read/account_read_idn.png)
![Account Read](./img/account_read_idn.png)
## Implementation
Implementation of account read is similar to account list's implementation, except the code only needs to get one account, not all the accounts. The following snippet is from [airtable.ts](https://github.com/sailpoint-oss/airtable-example-connector/blob/main/src/airtable.ts):

View File

@@ -1,6 +1,6 @@
---
id: account-unlock
slug: idn/docs/saas-connectivity/commands/account-unlock
slug: /idn/saas-connectivity/commands/account-unlock
---
# Account Unlock

View File

@@ -1,6 +1,6 @@
---
id: account-update
slug: idn/docs/saas-connectivity/commands/account-update
slug: /idn/saas-connectivity/commands/account-update
---
# Account Update

View File

@@ -1,6 +1,6 @@
---
id: entitlement-list
slug: idn/docs/saas-connectivity/commands/entitlement-list
slug: /idn/saas-connectivity/commands/entitlement-list
---
# Entitlement List
@@ -34,7 +34,7 @@ slug: idn/docs/saas-connectivity/commands/entitlement-list
The entitlement list command triggers during a manual or scheduled entitlement aggregation operation within IDN. This operation gathers a list of all entitlements available on the target source, usually multi-valued entitlements like groups or roles. This operation provides IDN administrators with a list of entitlements available on the source so they can create access profiles and roles accordingly, and it provides IDN with more details about the entitlements. The entitlement schemas minimum requirements are name and ID, but you can add other values, such as created date, updated date, status, etc.
![Discover Schema 4](../../img/custom_connectors/commands/entitlement_list/entitlement_list_idn.png)
![Discover Schema 4](./img/entitlement_list_idn.png)
## Defining the Schema
The entitlement schema is defined in the [connector-spec.json](https://github.com/sailpoint-oss/airtable-example-connector/blob/main/connector-spec.json) file. Currently, only the multi-valued “group” type is supported. The following values are the minimum requirements, but you can add more attributes.

View File

@@ -1,6 +1,6 @@
---
id: entitlement-read
slug: idn/docs/saas-connectivity/commands/entitlement-read
slug: /idn/saas-connectivity/commands/entitlement-read
---
# Entitlement Read

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -1,6 +1,6 @@
---
id: test-connection
slug: idn/docs/saas-connectivity/commands/test-connection
slug: /idn/saas-connectivity/commands/test-connection
---
# Test Connection
@@ -19,7 +19,7 @@ The test connection command ensures the connector can communicate with the targe
Use Test Connection in the IDN UI after an admin has finished entering configuration information for a new instance of the connector.
![Test Connection](../../img/custom_connectors/commands/test_connection/test_command_idn.png)
![Test Connection](./img/test_command_idn.png)
## Implementation
In [index.ts](https://github.com/sailpoint-oss/airtable-example-connector/blob/main/src/index.ts), add the test connection function handler to your connector. Within this function, send a simple request to your web service to ensure the connection works. The web service this connector targets has a JavaScript SDK, so define your own function like the following example to test the connection:

View File

@@ -1,6 +1,6 @@
---
id: cli-common-commands
slug: idn/docs/saas-connectivity/getting-started/cli-common-commands
slug: /idn/saas-connectivity/getting-started/cli-common-commands
---
# Common CLI/SDK Commands

View File

@@ -1,6 +1,6 @@
---
id: cli
slug: idn/docs/saas-connectivity/getting-started/cli
slug: /idn/saas-connectivity/getting-started/cli
---
# Getting Started with the CLI

View File

@@ -1,6 +1,6 @@
---
id: cli-test-build-deploy
slug: idn/docs/saas-connectivity/getting-started/cli-test-build-deploy
slug: /idn/saas-connectivity/getting-started/cli-test-build-deploy
---
# Test, Build, and Deploy Using the CLI
## Testing Your Connector

View File

@@ -1,6 +1,6 @@
---
id: connector-spec
slug: idn/docs/saas-connectivity/getting-started/connector-spec
slug: /idn/saas-connectivity/getting-started/connector-spec
---
# Connector specification file (connector-spec.json)

View File

@@ -1,6 +1,6 @@
---
id: example-connectors
slug: idn/docs/saas-connectivity/getting-started/example-connectors
slug: /idn/saas-connectivity/getting-started/example-connectors
---
# Example Connectors

View File

@@ -1,6 +1,6 @@
---
id: getting-started
slug: idn/docs/saas-connectivity/getting-started
slug: /idn/saas-connectivity/getting-started
---
# SaaS Connectivity
@@ -14,7 +14,7 @@ Connectors are the bridges between the SailPoint Identity Now (IDN) SaaS platfor
VA connectors always communicate with external sources through the Virtual Appliance (VA) as seen in the diagram below:
![Old Connectivity](../img/custom_connectors/old_connectivity_diagram.png)
![Old Connectivity](./img/old_connectivity_diagram.png)
VA connectors can be disadvantageous because you need an on-prem virtual appliance to have any external connectivity with them, even when that connectivity is a SaaS service like Salesforce.com.
@@ -22,6 +22,6 @@ It is also challenging to create a custom connector in the VA Connector framewor
The new Cloud connectors work differently - they run on the IDN platform instead (see diagram below).
![New Connectivity](../img/custom_connectors/new_connectivity_diagram.png)
![New Connectivity](./img/new_connectivity_diagram.png)
With this process, you can run an entire IDN instance without a VA. The new connector also includes a CLI tool to manage cloud connectors and an SDK to create custom connectors. Because it is simpler to create a custom connector, you can create specific connectors for a variety of sources, and the connectors' configuration can be much simpler. For example, you can now configure a formerly complicated webservice connector by providing two parameters (Base URL and API Key) in a custom cloud connector.

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -1,6 +1,6 @@
---
id: postman-collection
slug: idn/docs/saas-connectivity/getting-started/postman-collection
slug: /idn/saas-connectivity/getting-started/postman-collection
---
# Postman Collection

View File

@@ -1,6 +1,6 @@
---
id: api-calls
slug: idn/docs/saas-connectivity/in-depth/api-calls
slug: /idn/saas-connectivity/in-depth/api-calls
---
# API Calls
Calling API endpoints sequentially for hundreds or thousands of accounts is slow. If several API calls are required to build a users account, then it is recommended that you use asynchronous functions to speed up this task. Asynchronous functions allow your program to execute several commands at once, which is especially important for high latency commands like calling API endpoints - each call to an endpoint can take anywhere from several milliseconds to several seconds. The following code snippet from [discourse-client.ts](https://github.com/sailpoint-oss/discourse-connector-2/blob/main/Discourse/src/discourse-client.ts) shows how you can use asynchronous functions to quickly build a list of account profiles for your sources users:

View File

@@ -1,6 +1,6 @@
---
id: debugging
slug: idn/docs/saas-connectivity/in-depth/debugging
slug: /idn/saas-connectivity/in-depth/debugging
---
# Debugging
@@ -38,7 +38,7 @@ In VS Code, open a javascript debug terminal window and run the npm run dev comm
```npm run dev```
Now you can set breakpoints in your typescript files in VS Code:
![debugging 1](../../img/custom_connectors/in_depth/debugging1.png)
![debugging 1](./img/debugging1.png)
### Debug through the VS Code Debug configuration
To simplify the debugging process, you can consolidate the debugging steps into a VS Code launch configuration. The following snippet is an example of how you would do so:
@@ -75,7 +75,7 @@ To simplify the debugging process, you can consolidate the debugging steps into
With these configurations set, you can run the debugger by selecting the options shown in the following image:
![debugging 2](../../img/custom_connectors/in_depth/debugging2.png)
![debugging 2](./img/debugging2.png)
## Debug in IdentityNow
You can use the ```sp conn logs``` command to gain insight into how your connector is performing while running in IDN. See the section on logging for more information.

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -1,6 +1,6 @@
---
id: linting
slug: idn/docs/saas-connectivity/in-depth/linting
slug: /idn/saas-connectivity/in-depth/linting
---
# Linting
To add linting to your project, simple install the linter using NPM:

View File

@@ -1,6 +1,6 @@
---
id: logging
slug: idn/docs/saas-connectivity/in-depth/logging
slug: /idn/saas-connectivity/in-depth/logging
---
# Logging

View File

@@ -1,6 +1,6 @@
---
id: testing
slug: idn/docs/saas-connectivity/in-depth/testing
slug: /idn/saas-connectivity/in-depth/testing
---
# Testing
@@ -33,8 +33,8 @@ Ran all test suites.
```
You can also view the results in an html report by viewing the ```index.html``` file inside the ```coverage/lcov-report``` folder:
![Account List](../../img/custom_connectors/in_depth/testing1.png)
![Account List](../../img/custom_connectors/in_depth/testing2.png)
![Account List](./img/testing1.png)
![Account List](./img/testing2.png)
## Testing Techniques

View File

@@ -1,6 +1,6 @@
---
id: building-transforms
slug: idn/docs/transforms/getting-started
slug: /idn/transforms/getting-started
---
# Building Transforms in IdentityNow
@@ -10,7 +10,7 @@ In SailPoint's cloud services, transforms allow you to manipulate attribute valu
Transforms are configurable objects that define easy ways to manipulate attribute data without requiring you to write code. Transforms are configurable building blocks with sets of inputs and outputs:
![What are Transforms 1](../../img/transforms/what_are_transforms_1.png)
![What are Transforms 1](./img/what_are_transforms_1.png)
Because there is no code to write, an administrator can configure these using a JSON object structure and uploading them into IdentityNow using [IdentityNow's Transform REST APIs](https://developer.sailpoint.com/apis/v3/#tag/Transforms).
@@ -22,17 +22,17 @@ Transforms typically have an input(s) and output(s). The way the transformation
For example, a [Lower transform](../transform_operations/operations/lower.md) transforms any input text strings into lowercase versions as output. So if the input were "Foo", the lower case output of the transform would be "foo":
![How Transforms Work 1](../../img/transforms/how_transforms_work_1.png)
![How Transforms Work 1](./img/how_transforms_work_1.png)
There are other types of transforms too. For example an [E.164 Phone transform](../transform_operations/operations/e164_phone.md) transforms any input phone number strings into an E.164 formatted version as output. So if the input were "(512) 346-2000" the output would be "+1 5123462000":
![How Transforms Work 2](../../img/transforms/how_transforms_work_2.png)
![How Transforms Work 2](./img/how_transforms_work_2.png)
### Multiple Transform Inputs
In the previous examples, each transform had a single input. Some transforms can specify more than one input. For example, the [Concat transform](../transform_operations/operations/concatenation.md) concatenates one or more strings together. If "Foo" and "Bar" were inputs, the transformed output would be "FooBar":
![How Transforms Work 3](../../img/transforms/how_transforms_work_3.png)
![How Transforms Work 3](./img/how_transforms_work_3.png)
### Complex Nested Transforms
@@ -40,7 +40,7 @@ For more complex use cases, a single transform may not be enough. It is possible
An example of a nested transform would be using the previous [Concat transform](../transform_operations/operations/concatenation.md) and passing its output as an input to another [Lower transform](../transform_operations/operations/lower.md). If the inputs "Foo" and "Bar" were passed into the transforms, the ultimate output would be "foobar," concatenated and lower-cased.
![How Transforms Work 4](../../img/transforms/how_transforms_work_4.png)
![How Transforms Work 4](./img/how_transforms_work_4.png)
There is no hard limit for the number of transforms that can be nested. However, the more transforms applied, the more complex the nested transform will be, which can make it difficult to understand and maintain.
@@ -50,7 +50,7 @@ Some transforms can specify an attributes map that configures the transform beha
It is possible to extend the earlier complex nested transform example. If a Replace transform, which replaces certain strings with replacement text, were added, and the transform were configured to replace "Bar with "Baz," the output would be added as an input to the Concat and Lower transforms:
![Configuring Transform Behavior 1](../../img/transforms/configuring_transform_behavior_1.png)
![Configuring Transform Behavior 1](./img/configuring_transform_behavior_1.png)
The output of the Replace transform would be "Baz," which is then passed as an input to the Concat transform along with "Foo," producing an output of "FooBaz." This is then passed as an input into the Lower transform, producing a final output of "foobaz."
@@ -89,7 +89,7 @@ The following two examples explain how a transform with an implicit or explicit
An identity profile is configured the following way:
![Configuring Transform Behavior 2](../../img/transforms/configuring_transform_behavior_2.png)
![Configuring Transform Behavior 2](./img/configuring_transform_behavior_2.png)
As an example, the "Lowercase Department" transform being used is written the following way:

View File

@@ -1,6 +1,6 @@
---
id: creating-your-first-transform
slug: idn/docs/transforms/creating-your-first-transform
slug: /idn/transforms/creating-your-first-transform
---
# Creating Your First Transform
@@ -113,7 +113,7 @@ curl --location --request POST 'https://{tenant}.api.identitynow.com/v3/transfor
Once you have created the transform, you can find it in IdentityNow by going to **Admin** > **Identities** > **Identity Profiles** > (An Identity Profile) > **Mappings** (tab).
![Mappings Tab](../../img/transforms/mappings_tab.png)
![Mappings Tab](./img/mappings_tab.png)
For more information about creating transforms, see [Create Transform](https://developer.sailpoint.com/apis/v3/#operation/createTransform).

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Some files were not shown because too many files have changed in this diff Show More