isc-transforms-mcp 1.0.0
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.
- package/JSONS/authoritative-operation-catalog.json +280 -0
- package/JSONS/sailpoint.isc.transforms.accountAttribute.schema.json +164 -0
- package/JSONS/sailpoint.isc.transforms.base64Decode.schema.json +37 -0
- package/JSONS/sailpoint.isc.transforms.base64Encode.schema.json +32 -0
- package/JSONS/sailpoint.isc.transforms.concat.schema.json +109 -0
- package/JSONS/sailpoint.isc.transforms.conditional.schema.json +161 -0
- package/JSONS/sailpoint.isc.transforms.dateCompare.schema.json +159 -0
- package/JSONS/sailpoint.isc.transforms.dateFormat.schema.json +101 -0
- package/JSONS/sailpoint.isc.transforms.dateMath.schema.json +119 -0
- package/JSONS/sailpoint.isc.transforms.decomposeDiacriticalMarks.schema.json +92 -0
- package/JSONS/sailpoint.isc.transforms.displayName.schema.json +42 -0
- package/JSONS/sailpoint.isc.transforms.e164phone.schema.json +107 -0
- package/JSONS/sailpoint.isc.transforms.firstValid.schema.json +129 -0
- package/JSONS/sailpoint.isc.transforms.generateRandomString.schema.json +94 -0
- package/JSONS/sailpoint.isc.transforms.getEndOfString.schema.json +118 -0
- package/JSONS/sailpoint.isc.transforms.getReferenceIdentityAttribute.schema.json +79 -0
- package/JSONS/sailpoint.isc.transforms.identityAttribute.schema.json +104 -0
- package/JSONS/sailpoint.isc.transforms.index.schema.json +48 -0
- package/JSONS/sailpoint.isc.transforms.indexOf.schema.json +90 -0
- package/JSONS/sailpoint.isc.transforms.iso3166.schema.json +103 -0
- package/JSONS/sailpoint.isc.transforms.join.schema.json +113 -0
- package/JSONS/sailpoint.isc.transforms.lastIndexOf.schema.json +90 -0
- package/JSONS/sailpoint.isc.transforms.leftPad.schema.json +96 -0
- package/JSONS/sailpoint.isc.transforms.lookup.schema.json +100 -0
- package/JSONS/sailpoint.isc.transforms.lower.schema.json +80 -0
- package/JSONS/sailpoint.isc.transforms.normalizeNames.schema.json +79 -0
- package/JSONS/sailpoint.isc.transforms.randomAlphaNumeric.schema.json +53 -0
- package/JSONS/sailpoint.isc.transforms.randomNumeric.schema.json +53 -0
- package/JSONS/sailpoint.isc.transforms.reference.schema.json +90 -0
- package/JSONS/sailpoint.isc.transforms.replace.schema.json +96 -0
- package/JSONS/sailpoint.isc.transforms.replaceAll.schema.json +96 -0
- package/JSONS/sailpoint.isc.transforms.rfc5646.schema.json +79 -0
- package/JSONS/sailpoint.isc.transforms.rightPad.schema.json +96 -0
- package/JSONS/sailpoint.isc.transforms.rule.schema.json +106 -0
- package/JSONS/sailpoint.isc.transforms.split.schema.json +103 -0
- package/JSONS/sailpoint.isc.transforms.static.schema.json +131 -0
- package/JSONS/sailpoint.isc.transforms.substring.schema.json +167 -0
- package/JSONS/sailpoint.isc.transforms.trim.schema.json +93 -0
- package/JSONS/sailpoint.isc.transforms.upper.schema.json +80 -0
- package/JSONS/sailpoint.isc.transforms.usernameGenerator.schema.json +106 -0
- package/JSONS/sailpoint.isc.transforms.uuid.schema.json +32 -0
- package/LICENSE +21 -0
- package/README.md +221 -0
- package/bin/isc-transforms-mcp.mjs +3 -0
- package/dist/allowlist.js +37 -0
- package/dist/config.js +67 -0
- package/dist/http/errors.js +19 -0
- package/dist/http/iscAuth.js +45 -0
- package/dist/http/iscClient.js +73 -0
- package/dist/index.js +613 -0
- package/dist/logger.js +9 -0
- package/dist/redact.js +28 -0
- package/dist/transforms/catalog.js +566 -0
- package/dist/transforms/explain.js +266 -0
- package/dist/transforms/generate.js +551 -0
- package/dist/transforms/index.js +9 -0
- package/dist/transforms/lint.js +839 -0
- package/dist/transforms/normalize.js +96 -0
- package/dist/transforms/patterns.js +295 -0
- package/dist/transforms/testcases.js +350 -0
- package/dist/transforms/validate.js +250 -0
- package/dist/util/diff.js +23 -0
- package/package.json +76 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.normalizeNames.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - normalizeNames",
|
|
5
|
+
"description": "Strict schema derived from the SailPoint official Name Normalizer operation documentation. Normalizes spelling/diacritics and standardizes strings. Docs require only top-level 'type' and 'name'. Optional attributes include 'input'.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"type": {
|
|
14
|
+
"const": "normalizeNames"
|
|
15
|
+
},
|
|
16
|
+
"name": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1
|
|
19
|
+
},
|
|
20
|
+
"requiresPeriodicRefresh": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"default": false,
|
|
23
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
24
|
+
},
|
|
25
|
+
"attributes": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"description": "Optional configuration. Only 'input' is documented.",
|
|
29
|
+
"properties": {
|
|
30
|
+
"input": {
|
|
31
|
+
"description": "Optional explicit input passed into the transform (nested transform). If omitted, uses UI-configured input.",
|
|
32
|
+
"oneOf": [
|
|
33
|
+
{
|
|
34
|
+
"$ref": "#/$defs/NestedTransform"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"$defs": {
|
|
42
|
+
"NestedTransform": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"description": "Nested transform object used as explicit input (name optional in docs).",
|
|
45
|
+
"additionalProperties": false,
|
|
46
|
+
"required": [
|
|
47
|
+
"type",
|
|
48
|
+
"attributes"
|
|
49
|
+
],
|
|
50
|
+
"properties": {
|
|
51
|
+
"id": {
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
"name": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"minLength": 1
|
|
57
|
+
},
|
|
58
|
+
"type": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 1
|
|
61
|
+
},
|
|
62
|
+
"requiresPeriodicRefresh": {
|
|
63
|
+
"type": "boolean"
|
|
64
|
+
},
|
|
65
|
+
"attributes": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": true,
|
|
68
|
+
"description": "Operation-specific attributes for the nested transform."
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"examples": [
|
|
74
|
+
{
|
|
75
|
+
"type": "normalizeNames",
|
|
76
|
+
"name": "Name Normalizer Transform"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.randomAlphaNumeric.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - randomAlphaNumeric",
|
|
5
|
+
"description": "Strict schema derived from SailPoint official Random Alphanumeric operation documentation. Generates a random alphanumeric string. Optional length defaults to 32 and maximum allowable is 450.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"type": {
|
|
14
|
+
"const": "randomAlphaNumeric"
|
|
15
|
+
},
|
|
16
|
+
"name": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1
|
|
19
|
+
},
|
|
20
|
+
"requiresPeriodicRefresh": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"default": false,
|
|
23
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
24
|
+
},
|
|
25
|
+
"attributes": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"description": "Optional configuration. Only 'length' is documented.",
|
|
29
|
+
"properties": {
|
|
30
|
+
"length": {
|
|
31
|
+
"type": "integer",
|
|
32
|
+
"minimum": 1,
|
|
33
|
+
"maximum": 450,
|
|
34
|
+
"default": 32,
|
|
35
|
+
"description": "Length of the random string. Default 32; maximum 450."
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"examples": [
|
|
41
|
+
{
|
|
42
|
+
"type": "randomAlphaNumeric",
|
|
43
|
+
"name": "Random AlphaNumeric Transform"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "randomAlphaNumeric",
|
|
47
|
+
"name": "Random AlphaNumeric Transform (Length 16)",
|
|
48
|
+
"attributes": {
|
|
49
|
+
"length": 16
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.randomNumeric.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - randomNumeric",
|
|
5
|
+
"description": "Strict schema derived from SailPoint official Random Numeric operation documentation. Generates a random numeric string. Optional length defaults to 10 and maximum allowable is 450.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"type": {
|
|
14
|
+
"const": "randomNumeric"
|
|
15
|
+
},
|
|
16
|
+
"name": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1
|
|
19
|
+
},
|
|
20
|
+
"requiresPeriodicRefresh": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"default": false,
|
|
23
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
24
|
+
},
|
|
25
|
+
"attributes": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"description": "Optional configuration. Only 'length' is documented.",
|
|
29
|
+
"properties": {
|
|
30
|
+
"length": {
|
|
31
|
+
"type": "integer",
|
|
32
|
+
"minimum": 1,
|
|
33
|
+
"maximum": 450,
|
|
34
|
+
"default": 10,
|
|
35
|
+
"description": "Length of the random number string. Default 10; maximum 450."
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"examples": [
|
|
41
|
+
{
|
|
42
|
+
"type": "randomNumeric",
|
|
43
|
+
"name": "Random Numeric Transform"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "randomNumeric",
|
|
47
|
+
"name": "Random Numeric Transform (Length 6)",
|
|
48
|
+
"attributes": {
|
|
49
|
+
"length": 6
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.reference.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - reference",
|
|
5
|
+
"description": "Strict schema derived from SailPoint official Reference operation documentation. References (reuses) another transform by its id.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name",
|
|
11
|
+
"attributes"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"type": {
|
|
15
|
+
"const": "reference"
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1
|
|
20
|
+
},
|
|
21
|
+
"requiresPeriodicRefresh": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": false,
|
|
24
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
25
|
+
},
|
|
26
|
+
"attributes": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"required": [
|
|
30
|
+
"id"
|
|
31
|
+
],
|
|
32
|
+
"properties": {
|
|
33
|
+
"id": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"minLength": 1,
|
|
36
|
+
"description": "ID of the transform to reference."
|
|
37
|
+
},
|
|
38
|
+
"input": {
|
|
39
|
+
"description": "Optional explicit input. Some docs show input for reference; if present, it is an object. Modeled as a nested transform object to align with other operations.",
|
|
40
|
+
"oneOf": [
|
|
41
|
+
{
|
|
42
|
+
"$ref": "#/$defs/NestedTransform"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"$defs": {
|
|
50
|
+
"NestedTransform": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"description": "Nested transform object used as explicit input (name optional in docs).",
|
|
53
|
+
"additionalProperties": false,
|
|
54
|
+
"required": [
|
|
55
|
+
"type",
|
|
56
|
+
"attributes"
|
|
57
|
+
],
|
|
58
|
+
"properties": {
|
|
59
|
+
"id": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"name": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"minLength": 1
|
|
65
|
+
},
|
|
66
|
+
"type": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"minLength": 1
|
|
69
|
+
},
|
|
70
|
+
"requiresPeriodicRefresh": {
|
|
71
|
+
"type": "boolean"
|
|
72
|
+
},
|
|
73
|
+
"attributes": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"additionalProperties": true,
|
|
76
|
+
"description": "Operation-specific attributes for the nested transform."
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"examples": [
|
|
82
|
+
{
|
|
83
|
+
"type": "reference",
|
|
84
|
+
"name": "Reference Transform",
|
|
85
|
+
"attributes": {
|
|
86
|
+
"id": "2c91808a7c9b5d0c017c9c2a12345678"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.replace.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - replace",
|
|
5
|
+
"description": "Strict schema derived from SailPoint official Replace operation documentation. Find and replace all instances of a single regex pattern in the incoming value.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name",
|
|
11
|
+
"attributes"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"type": {
|
|
15
|
+
"const": "replace"
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1
|
|
20
|
+
},
|
|
21
|
+
"requiresPeriodicRefresh": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": false,
|
|
24
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
25
|
+
},
|
|
26
|
+
"attributes": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"required": [
|
|
30
|
+
"regex",
|
|
31
|
+
"replacement"
|
|
32
|
+
],
|
|
33
|
+
"properties": {
|
|
34
|
+
"regex": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"minLength": 1,
|
|
37
|
+
"description": "Regular expression pattern to replace."
|
|
38
|
+
},
|
|
39
|
+
"replacement": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Replacement string."
|
|
42
|
+
},
|
|
43
|
+
"input": {
|
|
44
|
+
"description": "Optional explicit input passed into the transform (nested transform). If omitted, uses UI-configured input.",
|
|
45
|
+
"oneOf": [
|
|
46
|
+
{
|
|
47
|
+
"$ref": "#/$defs/NestedTransform"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"$defs": {
|
|
55
|
+
"NestedTransform": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"description": "Nested transform object used as explicit input (name optional in docs).",
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"required": [
|
|
60
|
+
"type",
|
|
61
|
+
"attributes"
|
|
62
|
+
],
|
|
63
|
+
"properties": {
|
|
64
|
+
"id": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
"name": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"minLength": 1
|
|
70
|
+
},
|
|
71
|
+
"type": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"minLength": 1
|
|
74
|
+
},
|
|
75
|
+
"requiresPeriodicRefresh": {
|
|
76
|
+
"type": "boolean"
|
|
77
|
+
},
|
|
78
|
+
"attributes": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"additionalProperties": true,
|
|
81
|
+
"description": "Operation-specific attributes for the nested transform."
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"examples": [
|
|
87
|
+
{
|
|
88
|
+
"type": "replace",
|
|
89
|
+
"name": "Replace Transform",
|
|
90
|
+
"attributes": {
|
|
91
|
+
"regex": "\\s+",
|
|
92
|
+
"replacement": "_"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.replaceAll.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - replaceAll",
|
|
5
|
+
"description": "Strict schema derived from SailPoint official Replace All operation documentation. Performs find-and-replace for every (pattern -> replacement) entry in a table. Patterns are interpreted as regular expressions.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name",
|
|
11
|
+
"attributes"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"type": {
|
|
15
|
+
"const": "replaceAll"
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1
|
|
20
|
+
},
|
|
21
|
+
"requiresPeriodicRefresh": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": false,
|
|
24
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
25
|
+
},
|
|
26
|
+
"attributes": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"required": [
|
|
30
|
+
"table"
|
|
31
|
+
],
|
|
32
|
+
"properties": {
|
|
33
|
+
"table": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"description": "Map of regex patterns to replacement strings.",
|
|
36
|
+
"minProperties": 1,
|
|
37
|
+
"additionalProperties": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"input": {
|
|
42
|
+
"description": "Optional explicit input passed into the transform (nested transform). If omitted, uses UI-configured input.",
|
|
43
|
+
"oneOf": [
|
|
44
|
+
{
|
|
45
|
+
"$ref": "#/$defs/NestedTransform"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"$defs": {
|
|
53
|
+
"NestedTransform": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"description": "Nested transform object used as explicit input (name optional in docs).",
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"required": [
|
|
58
|
+
"type",
|
|
59
|
+
"attributes"
|
|
60
|
+
],
|
|
61
|
+
"properties": {
|
|
62
|
+
"id": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"name": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"minLength": 1
|
|
68
|
+
},
|
|
69
|
+
"type": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"minLength": 1
|
|
72
|
+
},
|
|
73
|
+
"requiresPeriodicRefresh": {
|
|
74
|
+
"type": "boolean"
|
|
75
|
+
},
|
|
76
|
+
"attributes": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"additionalProperties": true,
|
|
79
|
+
"description": "Operation-specific attributes for the nested transform."
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"examples": [
|
|
85
|
+
{
|
|
86
|
+
"type": "replaceAll",
|
|
87
|
+
"name": "Replace All Transform",
|
|
88
|
+
"attributes": {
|
|
89
|
+
"table": {
|
|
90
|
+
"\\s+": "_",
|
|
91
|
+
"[^A-Za-z0-9_]+": ""
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.rfc5646.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - rfc5646",
|
|
5
|
+
"description": "Strict schema derived from SailPoint official RFC5646 operation documentation. Converts three-letter language abbreviation into an RFC5646 language tag. Optional attributes include input.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"type": {
|
|
14
|
+
"const": "rfc5646"
|
|
15
|
+
},
|
|
16
|
+
"name": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1
|
|
19
|
+
},
|
|
20
|
+
"requiresPeriodicRefresh": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"default": false,
|
|
23
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
24
|
+
},
|
|
25
|
+
"attributes": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"description": "Optional configuration. Only 'input' is documented.",
|
|
29
|
+
"properties": {
|
|
30
|
+
"input": {
|
|
31
|
+
"description": "Optional explicit input passed into the transform (nested transform). If omitted, uses UI-configured input.",
|
|
32
|
+
"oneOf": [
|
|
33
|
+
{
|
|
34
|
+
"$ref": "#/$defs/NestedTransform"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"$defs": {
|
|
42
|
+
"NestedTransform": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"description": "Nested transform object used as explicit input (name optional in docs).",
|
|
45
|
+
"additionalProperties": false,
|
|
46
|
+
"required": [
|
|
47
|
+
"type",
|
|
48
|
+
"attributes"
|
|
49
|
+
],
|
|
50
|
+
"properties": {
|
|
51
|
+
"id": {
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
"name": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"minLength": 1
|
|
57
|
+
},
|
|
58
|
+
"type": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 1
|
|
61
|
+
},
|
|
62
|
+
"requiresPeriodicRefresh": {
|
|
63
|
+
"type": "boolean"
|
|
64
|
+
},
|
|
65
|
+
"attributes": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": true,
|
|
68
|
+
"description": "Operation-specific attributes for the nested transform."
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"examples": [
|
|
74
|
+
{
|
|
75
|
+
"type": "rfc5646",
|
|
76
|
+
"name": "RFC5646 Transform"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sailpoint.isc.transforms.rightPad.schema.json",
|
|
4
|
+
"title": "SailPoint ISC Transform Schema - rightPad",
|
|
5
|
+
"description": "Strict schema derived from the SailPoint official Right Pad operation documentation. Adds padding to the right of an incoming string to the specified length using an optional padding string (default single space).",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"type",
|
|
10
|
+
"name",
|
|
11
|
+
"attributes"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"type": {
|
|
15
|
+
"const": "rightPad"
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1
|
|
20
|
+
},
|
|
21
|
+
"requiresPeriodicRefresh": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": false,
|
|
24
|
+
"description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
|
|
25
|
+
},
|
|
26
|
+
"attributes": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"required": [
|
|
30
|
+
"length"
|
|
31
|
+
],
|
|
32
|
+
"properties": {
|
|
33
|
+
"length": {
|
|
34
|
+
"type": "integer",
|
|
35
|
+
"minimum": 0,
|
|
36
|
+
"description": "Desired output length after padding."
|
|
37
|
+
},
|
|
38
|
+
"padding": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"default": " ",
|
|
41
|
+
"description": "Padding string to use (default is a single space)."
|
|
42
|
+
},
|
|
43
|
+
"input": {
|
|
44
|
+
"description": "Optional explicit input string (nested transform). If omitted, uses UI-configured input.",
|
|
45
|
+
"oneOf": [
|
|
46
|
+
{
|
|
47
|
+
"$ref": "#/$defs/NestedTransform"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"$defs": {
|
|
55
|
+
"NestedTransform": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"description": "Nested transform object used as explicit input (name optional in docs).",
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"required": [
|
|
60
|
+
"type",
|
|
61
|
+
"attributes"
|
|
62
|
+
],
|
|
63
|
+
"properties": {
|
|
64
|
+
"id": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
"name": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"minLength": 1
|
|
70
|
+
},
|
|
71
|
+
"type": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"minLength": 1
|
|
74
|
+
},
|
|
75
|
+
"requiresPeriodicRefresh": {
|
|
76
|
+
"type": "boolean"
|
|
77
|
+
},
|
|
78
|
+
"attributes": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"additionalProperties": true,
|
|
81
|
+
"description": "Operation-specific attributes for the nested transform."
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"examples": [
|
|
87
|
+
{
|
|
88
|
+
"type": "rightPad",
|
|
89
|
+
"name": "Right Pad Transform",
|
|
90
|
+
"attributes": {
|
|
91
|
+
"length": 10,
|
|
92
|
+
"padding": "0"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|