From c2de07f04c6fd6509cb498e5c07c543720bf2a6d Mon Sep 17 00:00:00 2001 From: GitHub Action Bot Date: Wed, 16 Oct 2024 00:00:26 +0000 Subject: [PATCH] Automated commit 'Merge pull request #1854 from sailpoint/ag/PLTCONN-6281 PLTCONN-6281-source-schedules' by github action: 11356252552 --- idn/sailpoint-api.v2024.yaml | 6 + idn/v2024/paths/source-schedule.yaml | 170 ++++++++++++++++++++++++ idn/v2024/paths/source-schedules.yaml | 86 ++++++++++++ idn/v2024/schemas/sources/Schedule.yaml | 16 +++ 4 files changed, 278 insertions(+) create mode 100644 idn/v2024/paths/source-schedule.yaml create mode 100644 idn/v2024/paths/source-schedules.yaml create mode 100644 idn/v2024/schemas/sources/Schedule.yaml diff --git a/idn/sailpoint-api.v2024.yaml b/idn/sailpoint-api.v2024.yaml index f326d4eb..4e1a4d1b 100644 --- a/idn/sailpoint-api.v2024.yaml +++ b/idn/sailpoint-api.v2024.yaml @@ -1610,6 +1610,10 @@ paths: $ref: ./v3/paths/provisioning-policies-bulk-update.yaml /sources/{sourceId}/schemas: $ref: ./v3/paths/schemas.yaml + /sources/{sourceId}/schedules: + $ref: ./v2024/paths/source-schedules.yaml + /sources/{sourceId}/schedules/{scheduleType}: + $ref: ./v2024/paths/source-schedule.yaml /sources/{sourceId}/schemas/{schemaId}: $ref: ./v3/paths/schema.yaml /sources/{sourceId}/source-health: @@ -2236,6 +2240,8 @@ components: $ref: ./v3/schemas/Source.yaml SourceHealthDto: $ref: ./v3/schemas/SourceHealthDto.yaml + SourceSchedule: + $ref: ./v2024/schemas/sources/Schedule.yaml Transform: $ref: ./v3/schemas/Transform.yaml WorkItems: diff --git a/idn/v2024/paths/source-schedule.yaml b/idn/v2024/paths/source-schedule.yaml new file mode 100644 index 00000000..7feeb87d --- /dev/null +++ b/idn/v2024/paths/source-schedule.yaml @@ -0,0 +1,170 @@ + +get: + operationId: getSourceSchedule + security: + - userAuth: [ idn:sources:read ] + x-sailpoint-userLevels: + - ORG_ADMIN + - SOURCE_ADMIN + - SOURCE_SUBADMIN + tags: + - Sources + summary: Get Source Schedule by Type + description: | + Get the source schedule by type in Identity Security Cloud (ISC). + parameters: + - in: path + name: sourceId + required: true + schema: + type: string + description: The Source id. + example: 2c9180835d191a86015d28455b4a2329 + - in: path + name: scheduleType + schema: + type: string + enum: + - ACCOUNT_AGGREGATION + - GROUP_AGGREGATION + required: true + description: The Schedule type. + example: ACCOUNT_AGGREGATION + responses: + '200': + description: The requested Schedule was successfully retrieved. + content: + application/json: + schema: + $ref: '../schemas/sources/Schedule.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' +patch: + operationId: updateSourceSchedule + security: + - userAuth: [ idn:sources:update ] + x-sailpoint-userLevels: + - ORG_ADMIN + - SOURCE_ADMIN + - SOURCE_SUBADMIN + tags: + - Sources + summary: Update Source Schedule (Partial) + description: | + Use this API to selectively update an existing Schedule using a JSONPatch payload. + + The following schedule fields are immutable and cannot be updated: + + - type + + parameters: + - in: path + name: sourceId + required: true + schema: + type: string + description: The Source id. + example: 2c9180835d191a86015d28455b4a2329 + - in: path + name: scheduleType + schema: + type: string + enum: + - ACCOUNT_AGGREGATION + - GROUP_AGGREGATION + required: true + description: The Schedule type. + example: ACCOUNT_AGGREGATION + requestBody: + required: true + description: The JSONPatch payload used to update the schedule. + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '../../v3/schemas/JsonPatchOperation.yaml' + examples: + add-attribute: + summary: Replace an attribute of the schedule + value: [ + { + "op": "replace", + "path": "/cronExpression", + "value": "0 0 6 * * ?" + } + ] + responses: + '200': + description: The Schedule was successfully updated. + content: + application/json: + schema: + $ref: '../schemas/sources/Schedule.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' +delete: + operationId: deleteSourceSchedule + security: + - userAuth: [ idn:sources:update ] + x-sailpoint-userLevels: + - ORG_ADMIN + - SOURCE_ADMIN + - SOURCE_SUBADMIN + tags: + - Sources + summary: Delete Source Schedule by type. + parameters: + - in: path + name: sourceId + required: true + schema: + type: string + description: The Source id. + example: 2c9180835d191a86015d28455b4a2329 + - in: path + name: scheduleType + schema: + type: string + enum: + - ACCOUNT_AGGREGATION + - GROUP_AGGREGATION + required: true + description: The Schedule type. + example: ACCOUNT_AGGREGATION + responses: + '204': + $ref: '../../v3/responses/204.yaml' + description: The Schedule was successfully deleted. + '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' diff --git a/idn/v2024/paths/source-schedules.yaml b/idn/v2024/paths/source-schedules.yaml new file mode 100644 index 00000000..86a1675a --- /dev/null +++ b/idn/v2024/paths/source-schedules.yaml @@ -0,0 +1,86 @@ + +get: + operationId: getSourceSchedules + security: + - userAuth: [ idn:sources:read ] + x-sailpoint-userLevels: + - ORG_ADMIN + - SOURCE_ADMIN + - SOURCE_SUBADMIN + tags: + - Sources + summary: List Schedules on Source + description: Use this API to list the schedules that exist on the specified source in Identity Security Cloud (ISC). + parameters: + - in: path + name: sourceId + required: true + schema: + type: string + description: Source ID. + example: 2c9180835d191a86015d28455b4a2329 + responses: + '200': + description: The schedules were successfully retrieved. + content: + application/json: + schema: + type: array + items: + $ref: '../schemas/sources/Schedule.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' +post: + operationId: createSourceSchedule + security: + - userAuth: [ idn:sources:update ] + x-sailpoint-userLevels: + - ORG_ADMIN + - SOURCE_ADMIN + - SOURCE_SUBADMIN + tags: + - Sources + summary: Create Schedule on Source + description: | + Use this API to create a new schedule for a type on the specified source in Identity Security Cloud (ISC). + parameters: + - in: path + name: sourceId + required: true + schema: + type: string + description: Source ID. + example: 2c9180835d191a86015d28455b4a2329 + requestBody: + required: true + content: + application/json: + schema: + $ref: '../schemas/sources/Schedule.yaml' + responses: + '201': + description: The schedule was successfully created on the specified source. + content: + application/json: + schema: + $ref: '../schemas/sources/Schedule.yaml' + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' diff --git a/idn/v2024/schemas/sources/Schedule.yaml b/idn/v2024/schemas/sources/Schedule.yaml new file mode 100644 index 00000000..21bbad41 --- /dev/null +++ b/idn/v2024/schemas/sources/Schedule.yaml @@ -0,0 +1,16 @@ +type: object +required: + - type + - cronExpression +properties: + type: + type: string + enum: + - ACCOUNT_AGGREGATION + - GROUP_AGGREGATION + description: The type of the Schedule. + example: ACCOUNT_AGGREGATION + cronExpression: + type: string + description: The cron expression of the schedule. + example: "0 0 5,13,21 * * ?"