From e8bc30aa532749db64ff4bf8f66c4e878cf812b3 Mon Sep 17 00:00:00 2001 From: GitHub Action Bot Date: Fri, 11 Oct 2024 19:45:08 +0000 Subject: [PATCH] Automated commit 'Merge pull request #1651 from sailpoint/PLTFORMS-3151 PLTFORMS-3151 Add Launcher' by github action: 11298384933 --- idn/beta/paths/launcher-launch.yaml | 45 ++++++++++ idn/beta/paths/launcher.yaml | 113 ++++++++++++++++++++++++++ idn/beta/paths/launchers.yaml | 110 +++++++++++++++++++++++++ idn/beta/schemas/Launcher.yaml | 79 ++++++++++++++++++ idn/beta/schemas/LauncherRequest.yaml | 48 +++++++++++ idn/sailpoint-api.beta.yaml | 27 ++++-- 6 files changed, 414 insertions(+), 8 deletions(-) create mode 100644 idn/beta/paths/launcher-launch.yaml create mode 100644 idn/beta/paths/launcher.yaml create mode 100644 idn/beta/paths/launchers.yaml create mode 100644 idn/beta/schemas/Launcher.yaml create mode 100644 idn/beta/schemas/LauncherRequest.yaml diff --git a/idn/beta/paths/launcher-launch.yaml b/idn/beta/paths/launcher-launch.yaml new file mode 100644 index 00000000..2a975fef --- /dev/null +++ b/idn/beta/paths/launcher-launch.yaml @@ -0,0 +1,45 @@ +post: + tags: + - Launchers + summary: Launch a Launcher + description: Launch the given Launcher ID + operationId: startLauncher + parameters: + - name: launcherID + in: path + description: ID of the Launcher to be launched + required: true + schema: + type: string + format: uuid + example: e3012408-8b61-4564-ad41-c5ec131c325b + responses: + '200': + description: Launcher launched successfully + content: + application/json: + schema: + type: object + required: + - interactiveProcessId + properties: + interactiveProcessId: + type: string + description: ID of the Interactive Process that was launched + example: 5da68cfe-2d60-4b09-858f-0d03acd2f47a + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '404': + $ref: '../../v3/responses/404.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' + security: + - userAuth: [ sp:launcher-user:launch ] + x-sailpoint-userLevels: + - ORG_ADMIN diff --git a/idn/beta/paths/launcher.yaml b/idn/beta/paths/launcher.yaml new file mode 100644 index 00000000..6cd7d088 --- /dev/null +++ b/idn/beta/paths/launcher.yaml @@ -0,0 +1,113 @@ +get: + tags: + - Launchers + summary: Get Launcher by ID + description: Get details for the given Launcher ID + operationId: getLauncher + parameters: + - name: launcherID + in: path + description: ID of the Launcher to be retrieved + required: true + schema: + type: string + format: uuid + example: "e3012408-8b61-4564-ad41-c5ec131c325b" + responses: + '200': + description: Launcher retrieved successfully + content: + application/json: + schema: + $ref: '../schemas/Launcher.yaml' + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '404': + $ref: '../../v3/responses/404.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' + security: + - userAuth: [ sp:launcher-admin:read, sp:launcher-user:read ] + x-sailpoint-userLevels: + - ORG_ADMIN +put: + summary: Replace Launcher + description: Replace the given Launcher ID with given payload + operationId: putLauncher + parameters: + - name: launcherID + in: path + description: ID of the Launcher to be replaced + required: true + schema: + type: string + format: uuid + example: "e3012408-8b61-4564-ad41-c5ec131c325b" + requestBody: + description: Payload to replace Launcher + required: true + content: + application/json: + schema: + $ref: '../schemas/LauncherRequest.yaml' + responses: + '200': + description: Launcher replaced successfully + content: + application/json: + schema: + $ref: '../schemas/Launcher.yaml' + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '404': + $ref: '../../v3/responses/404.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' + security: + - userAuth: [ sp:launcher-admin:write ] + x-sailpoint-userLevels: + - ORG_ADMIN +delete: + summary: Delete Launcher + description: Delete the given Launcher ID + operationId: deleteLauncher + parameters: + - name: launcherID + in: path + description: ID of the Launcher to be deleted + required: true + schema: + type: string + format: uuid + example: "e3012408-8b61-4564-ad41-c5ec131c325b" + responses: + '204': + description: Launcher deleted successfully + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '404': + $ref: '../../v3/responses/404.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' + security: + - userAuth: [ sp:launcher-admin:delete ] + x-sailpoint-userLevels: + - ORG_ADMIN diff --git a/idn/beta/paths/launchers.yaml b/idn/beta/paths/launchers.yaml new file mode 100644 index 00000000..f8785403 --- /dev/null +++ b/idn/beta/paths/launchers.yaml @@ -0,0 +1,110 @@ +get: + tags: + - Launchers + summary: List all Launchers for tenant + description: Return a list of Launchers for the authenticated tenant + operationId: getLaunchers + parameters: + - name: filters + in: query + description: >- + Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) + + + Filtering is supported for the following fields and operators: + + + **description**: *sw* + + + **disabled**: *eq* + + + **name**: *sw* + example: disabled eq "true" + required: false + schema: + type: string + - name: next + in: query + description: Pagination marker + required: false + schema: + type: string + example: eyJuZXh0IjoxMjN9Cg== + - name: limit + in: query + description: Number of Launchers to return + required: false + schema: + type: integer + format: int32 + minimum: 1 + maximum: 100 + default: 10 + example: 42 + responses: + '200': + description: List of Launchers + content: + application/json: + schema: + type: object + properties: + next: + type: string + description: Pagination marker + items: + type: array + items: + $ref: "../schemas/Launcher.yaml" + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '404': + $ref: '../../v3/responses/404.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' + security: + - userAuth: [ sp:launcher-admin:read, sp:launcher-user:read ] + x-sailpoint-userLevels: + - ORG_ADMIN +post: + summary: Create launcher + description: Create a Launcher with given information + operationId: createLauncher + requestBody: + description: Payload to create a Launcher + required: true + content: + application/json: + schema: + $ref: "../schemas/LauncherRequest.yaml" + responses: + '201': + description: Launcher created successfully + content: + application/json: + schema: + $ref: "../schemas/Launcher.yaml" + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '404': + $ref: '../../v3/responses/404.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' + security: + - userAuth: [ sp:launcher-admin:write ] + x-sailpoint-userLevels: + - ORG_ADMIN diff --git a/idn/beta/schemas/Launcher.yaml b/idn/beta/schemas/Launcher.yaml new file mode 100644 index 00000000..0ce316b8 --- /dev/null +++ b/idn/beta/schemas/Launcher.yaml @@ -0,0 +1,79 @@ +type: object +required: + - id + - created + - modified + - owner + - name + - description + - disabled + - type + - config +properties: + id: + type: string + description: ID of the Launcher + example: 1b630bed-0941-4792-a712-57a5868ca34d + format: uuid + created: + type: string + description: Date the Launcher was created + example: 2024-04-16T20:07:30.601016489Z + format: date-time + modified: + type: string + description: Date the Launcher was last modified + example: 2024-04-17T18:02:07.320143194Z + format: date-time + owner: + type: object + description: Owner of the Launcher + required: + - type + - id + properties: + type: + type: string + description: Owner type + example: IDENTITY + id: + type: string + description: Owner ID + example: 123180847373330f0173c7e1756b6890 + name: + type: string + description: Name of the Launcher, limited to 255 characters + example: Group Create + description: + type: string + description: Description of the Launcher, limited to 2000 characters + example: Create a new Active Directory Group + type: + type: string + description: Launcher type + example: INTERACTIVE_PROCESS + enum: + - INTERACTIVE_PROCESS + disabled: + type: boolean + description: State of the Launcher + example: false + reference: + type: object + properties: + type: + type: string + description: Type of Launcher reference + example: WORKFLOW + enum: + - WORKFLOW + id: + type: string + description: ID of Launcher reference + example: 2fd6ff94-2081-4d29-acbc-83a0a2f744a5 + config: + type: string + description: | + JSON configuration associated with this Launcher, restricted to a max size of 4KB + example: '{"workflowId" : "6b42d9be-61b6-46af-827e-ea29ba8aa3d9"}' + pattern: '^\{\}$' diff --git a/idn/beta/schemas/LauncherRequest.yaml b/idn/beta/schemas/LauncherRequest.yaml new file mode 100644 index 00000000..7a1dad1f --- /dev/null +++ b/idn/beta/schemas/LauncherRequest.yaml @@ -0,0 +1,48 @@ +type: object +required: + - name + - description + - type + - disabled + - config +properties: + name: + type: string + description: Name of the Launcher, limited to 255 characters + example: Group Create + description: + type: string + description: Description of the Launcher, limited to 2000 characters + example: Create a new Active Directory Group + type: + type: string + description: Launcher type + example: INTERACTIVE_PROCESS + enum: + - INTERACTIVE_PROCESS + disabled: + type: boolean + description: State of the Launcher + example: false + reference: + type: object + required: + - id + - type + properties: + type: + type: string + description: Type of Launcher reference + example: WORKFLOW + enum: + - WORKFLOW + id: + type: string + description: ID of Launcher reference + example: 2fd6ff94-2081-4d29-acbc-83a0a2f744a5 + config: + type: string + description: | + JSON configuration associated with this Launcher, restricted to a max size of 4KB + example: '{"workflowId" : "6b42d9be-61b6-46af-827e-ea29ba8aa3d9"}' + pattern: '^\{\}$' diff --git a/idn/sailpoint-api.beta.yaml b/idn/sailpoint-api.beta.yaml index 14d6c978..c1edd080 100644 --- a/idn/sailpoint-api.beta.yaml +++ b/idn/sailpoint-api.beta.yaml @@ -195,9 +195,9 @@ tags: Administrators can select the source account to view its attributes, entitlements, and the last time the account's password was changed. Refer to [Managing User Accounts](https://documentation.sailpoint.com/saas/help/common/users/user_access.html#managing-user-accounts) for more information about accounts. - - name: Apps + - name: Apps description: | - Use this API to implement source application functionality. With this functionality in place, you can create, customize, and manage applications within sources. + Use this API to implement source application functionality. With this functionality in place, you can create, customize, and manage applications within sources. - name: Application Discovery description: | Use this API to discover applications within your Okta connector and receive connector recommendations by manually uploading application names. @@ -205,7 +205,7 @@ tags: description: | Use this API to implement approval functionality. With this functionality in place, you can get generic approvals and modify them. - The main advantages this API has vs [Access Request Approvals](https://developer.sailpoint.com/docs/api/beta/access-request-approvals) are that you can use it to get generic approvals individually or in batches and make changes to those approvals. + The main advantages this API has vs [Access Request Approvals](https://developer.sailpoint.com/docs/api/beta/access-request-approvals) are that you can use it to get generic approvals individually or in batches and make changes to those approvals. - name: Auth Profile description: | Auth Profile - Represents authentication configuration for an Identity Profile. This object gets created when an Identity Profile is created. @@ -436,6 +436,11 @@ tags: Administrators can also use this page to create new identity profiles or delete existing ones. Refer to [Creating Identity Profiles](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html) for more information about identity profiles. + - name: Launchers + description: | + Use this API to manage Launchers. + + Launchers are objects that allow users to launch various tasks from ISC such as Privileged Workflows. - name: Lifecycle States description: | Use this API to implement and customize lifecycle state functionality. @@ -726,7 +731,7 @@ tags: Do not configure a role to be requestable without establishing a secure access request approval process for that role first. Refer to [Working with Roles](https://documentation.sailpoint.com/saas/help/access/roles.html) for more information about roles. - - name: Search Attribute Configuration + - name: Search Attribute Configuration description: | Use this API to implement search attribute configuration functionality, along with [Search](https://developer.sailpoint.com/docs/api/v3/search). With this functionality in place, administrators can create custom search attributes that and run extended searches based on those attributes to further narrow down their searches and get the information and insights they want. @@ -745,7 +750,7 @@ tags: Refer to [Using Search](https://documentation.sailpoint.com/saas/help/search/index.html) for more information about ISC's search and its different possibilities. - With Search Attribute Configuration, administrators can create, manage, and run searches based on the attributes they want to search. + With Search Attribute Configuration, administrators can create, manage, and run searches based on the attributes they want to search. - name: Segments description: | Use this API to implement and customize access request segment functionality. @@ -1025,12 +1030,12 @@ tags: Use this API to manage metadata about your User Interface. For example you can set the iFrameWhitelist parameter to permit another domain to encapsulate IDN within an iframe or set the usernameEmptyText to change the placeholder text for Username on your tenant's login screen. - - name: Vendor Connector Mappings + - name: Vendor Connector Mappings description: | Vendors use ISC connectors to connect their source data to ISC, but the data in their source and the data in ISC may be stored in different formats. Connector mappings allow vendors to match their data on both sides of the connection. The vendors can then track and manage access across their sources from ISC. - This API allows you to create and manage these vendor connector mappings. + This API allows you to create and manage these vendor connector mappings. - name: Work Items description: | Use this API to implement work item functionality. @@ -1922,4 +1927,10 @@ paths: /suggested-entitlement-description-assignments: $ref: "./beta/paths/suggested-entitlement-description-assignments.yaml" /suggested-entitlement-descriptions: - $ref: "./beta/paths/suggested-entitlement-descriptions.yaml" \ No newline at end of file + $ref: "./beta/paths/suggested-entitlement-descriptions.yaml" + /launchers: + $ref: "./beta/paths/launchers.yaml" + /launchers/{launcherID}: + $ref: "./beta/paths/launcher.yaml" + /beta/launchers/{launcherID}/launch: + $ref: "./beta/paths/launcher-launch.yaml"