diff --git a/idn/beta/schemas/reports/ReportDetails.yaml b/idn/beta/schemas/reports/ReportDetails.yaml deleted file mode 100644 index 08c4b83..0000000 --- a/idn/beta/schemas/reports/ReportDetails.yaml +++ /dev/null @@ -1,25 +0,0 @@ -type : object -properties: - name: - type: string - description: >- - Name of the requesting report - example: 'Identities Details Report' - taskDefName: - type: string - description: >- - Name of the task definition which is started to process requesting report - example: 'Identities Details Report' - arguments: - type: object - description: >- - The string-object map(dictionary) with the arguments needed for report processing. - additionalProperties: - type: object - example: { "org": "org name" } - completed: - type: boolean - default: false - description: >- - Current state of the requested report - example: true diff --git a/idn/beta/schemas/reports/ReportResults.yaml b/idn/beta/schemas/reports/ReportResults.yaml deleted file mode 100644 index bb97a42..0000000 --- a/idn/beta/schemas/reports/ReportResults.yaml +++ /dev/null @@ -1,48 +0,0 @@ -type : object -description: >- - Details about report result or current state. -properties: - reportName: - type: string - description: >- - Name of the requesting report - example: 'Identities Details Report' - taskDefName: - type: string - description: >- - Name of the task definition which is started to process requesting report. Usually the same as report name - example: 'Identities Details Report' - id: - type: string - description: >- - Unique task definition identifier. - example: 'a248c16fe22222b2bd49615481311111' - date: - type: integer - format: int64 - description: >- - Report processing start date in legacy long (int64) representation. - example: 1682589075909 - status: - type: string - description: >- - Report current state or result status. - example: 'Success' - duration: - type: integer - format: int64 - description: >- - Report processing time. - example: 342 - rows: - type: integer - format: int64 - description: >- - Report size in rows. - example: 37 - availableFormats: - type: string - nullable: true - description: >- - Report request possible formats. - example: 'CSV' \ No newline at end of file diff --git a/idn/beta/schemas/reports/examples/identities-details-report-details.yaml b/idn/beta/schemas/reports/examples/identities-details-report-details.yaml deleted file mode 100644 index 9932be4..0000000 --- a/idn/beta/schemas/reports/examples/identities-details-report-details.yaml +++ /dev/null @@ -1,10 +0,0 @@ -summary: Identities Details Report -value: - name: 'Identities Details Report' - taskDefName: 'Identities Details Report' - arguments: - reportDefName: 'Identities Details Report' - s3bucket: 'abc-org-data-useast1' - pod: 'def-pod' - org: 'an-org' - completed: false \ No newline at end of file diff --git a/idn/beta/schemas/reports/examples/identities-details-report-results.yaml b/idn/beta/schemas/reports/examples/identities-details-report-results.yaml deleted file mode 100644 index 3b2ff18..0000000 --- a/idn/beta/schemas/reports/examples/identities-details-report-results.yaml +++ /dev/null @@ -1,10 +0,0 @@ -summary: Identities Details Report result. -value: - reportName: 'Identities Details Report' - taskDefName: 'Identities Details Report' - id: '1e01d272b8084c4fa12fcf8fa898102d' - date: 1688643627107 - status: 'Success' - duration: 3681 - rows: 193 - availableFormats: 'CSV' \ No newline at end of file diff --git a/idn/beta/schemas/reports/examples/identities-details-report-task-result.yaml b/idn/beta/schemas/reports/examples/identities-details-report-task-result.yaml deleted file mode 100644 index 452abb1..0000000 --- a/idn/beta/schemas/reports/examples/identities-details-report-task-result.yaml +++ /dev/null @@ -1,17 +0,0 @@ -summary: Identities Details Report task result. -value: - name: 'Identities Details Report' - taskDefName: 'Identities Details Report' - type: 'QUARTZ' - id: 'a248c16fe22222b2bd49615481311111' - created: 1682589075909 - description: 'A detailed view of the identities in the system.' - parentName: 'Audit Report' - launcher: '9832285' - launched: 1682589076909 - completed: 1682589078909 - messages: [] - returns: [] - attributes: - org: 'an-org' - progress: 'Initializing...' \ No newline at end of file diff --git a/idn/beta/schemas/reports/examples/search-export-report-details.yaml b/idn/beta/schemas/reports/examples/search-export-report-details.yaml deleted file mode 100644 index 3d46811..0000000 --- a/idn/beta/schemas/reports/examples/search-export-report-details.yaml +++ /dev/null @@ -1,21 +0,0 @@ -summary: Search Export report -value: - name: 'Search Export' - taskDefName: 'Search Export' - arguments: - reportDefName: 'Search Export' - s3bucket: 'abc-org-data-useast1' - indices: 'identities' - columns: 'displayName,firstName,lastName,email,created,attributes.cloudLifecycleState,tags,access.spread,apps.spread,accounts.spread' - query: '704171' - sort: 'displayName' - queryParams: - columns: 'displayName,firstName,lastName,email,created,attributes.cloudLifecycleState,tags,access.spread,apps.pread,accounts.spread' - indices: 'identities' - ownerId: '95ecba5c54fa439c949aec638ce2a74d' - query: '704171' - sort: 'displayName' - queryHash: '5e12cf79c67d92e23d4d8cb3e974f87d164e86d4a4dd8d32ecf89645cacfd3f2' - pod: 'def-pod' - org: 'an-org' - completed: false diff --git a/idn/beta/schemas/reports/examples/search-export-report-task-result.yaml b/idn/beta/schemas/reports/examples/search-export-report-task-result.yaml deleted file mode 100644 index abac5a3..0000000 --- a/idn/beta/schemas/reports/examples/search-export-report-task-result.yaml +++ /dev/null @@ -1,24 +0,0 @@ -summary: Identities Details Report task result. -value: - name: 'Search Export - 1a82d67377a845f495a1300a2346196b' - taskDefName: 'Identities Details Report' - type: 'QUARTZ' - id: 'a248c16fe22222b2bd49615481311111' - created: 1682589075909 - description: 'Extract query data from ElasticSearch to CSV' - parentName: null - launcher: 'T05293' - launched: null - completed: null - messages: [] - returns: [] - attributes: - queryHash: '5e12cf79c67d92e23d4d8cb3e974f87d164e86d4a48d32ecf89645cacfd3f2' - org: 'an-org' - queryParams: - columns: 'displayName,firstName,lastName,email,created,attributes.cloudLifecycleState,tags,access.spread,apps.pread,accounts.spread' - indices: 'identities' - ownerId: '95ecba5c5444439c999aec638ce2a777' - query: '700007' - sort: 'displayName' - progress: 'Initializing...' \ No newline at end of file diff --git a/idn/beta/schemas/sod/models/Exception.yaml b/idn/beta/schemas/sod/models/Exception.yaml index 6457ed3..62d96d9 100644 --- a/idn/beta/schemas/sod/models/Exception.yaml +++ b/idn/beta/schemas/sod/models/Exception.yaml @@ -2,7 +2,6 @@ type: object properties: id: type: string - description: The id for this SOD exception nullable: true example: "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde" description: Unique identifier of the SOD exception object diff --git a/idn/sailpoint-api.v3.yaml b/idn/sailpoint-api.v3.yaml index 84329d6..a2864fc 100644 --- a/idn/sailpoint-api.v3.yaml +++ b/idn/sailpoint-api.v3.yaml @@ -550,6 +550,9 @@ tags: For example, a non-administrator deciding whether to approve another identity's request for access to the Workday application, whose access may be restricted to members of the HR department, would want to know whether the identity is a member of the HR department. If an administrator has used [Update Public Identity Config](https://developer.sailpoint.com/idn/api/v3/update-public-identity-config) to make the "department" attribute public, the approver can see the department and make a decision without requesting any more information. + - name: Reports Data Extraction + description: | + Use this API to implement reports lifecycle managing and monitoring. - name: Requestable Objects description: | Use this API to implement requestable object functionality. @@ -1071,6 +1074,14 @@ paths: $ref: './v3/paths/password-dictionary.yaml' /password-org-config: $ref: './v3/paths/password-org-config.yaml' + /reports/{taskResultId}/result: + $ref: './v3/paths/reports-result.yaml' + /reports/run: + $ref: './v3/paths/reports-run.yaml' + /reports/{id}/cancel: + $ref: './v3/paths/reports-cancel.yaml' + /reports/{taskResultId}: + $ref: './v3/paths/reports-get-file.yaml' /sod-policies: $ref: './v3/paths/sod-policies.yaml' /sod-policies/{id}: diff --git a/idn/beta/paths/reports-cancel.yaml b/idn/v3/paths/reports-cancel.yaml similarity index 100% rename from idn/beta/paths/reports-cancel.yaml rename to idn/v3/paths/reports-cancel.yaml diff --git a/idn/beta/paths/reports-get-file.yaml b/idn/v3/paths/reports-get-file.yaml similarity index 81% rename from idn/beta/paths/reports-get-file.yaml rename to idn/v3/paths/reports-get-file.yaml index a811475..38acb80 100644 --- a/idn/beta/paths/reports-get-file.yaml +++ b/idn/v3/paths/reports-get-file.yaml @@ -15,13 +15,16 @@ get: required: true description: Unique identifier of the task result which handled report example: ef38f94347e94562b5bb8424a56397d8 - - in: path + - in: query name: fileFormat schema: type: string + enum: + - csv + - pdf required: true description: Output format of the requested report file - example: 'CSV' + example: csv - in: query name: name required: false @@ -29,6 +32,17 @@ get: type: string example: 'Identities Details Report' description: preferred Report file name, by default will be used report name from task result. + - in: query + name: auditable + required: false + schema: + type: boolean + default: false + example: true + description: >- + Enables auditing for current report download. + Will create an audit event and sent it to the REPORT cloud-audit kafka topic. + Event will be created if there is any result present by requested taskResultId. responses: '200': description: Details about running report task. diff --git a/idn/beta/paths/reports-result.yaml b/idn/v3/paths/reports-result.yaml similarity index 65% rename from idn/beta/paths/reports-result.yaml rename to idn/v3/paths/reports-result.yaml index 8c53f99..aa198ad 100644 --- a/idn/beta/paths/reports-result.yaml +++ b/idn/v3/paths/reports-result.yaml @@ -1,22 +1,29 @@ -post: +get: tags: - Reports Data Extraction description: >- Get the report results for a report that was run or is running. Returns empty report result in case there are no active task definitions with used in payload task definition name. - operationId: showReportResult + operationId: getReportResult summary: "Get Report Result" security: - UserContextAuth: [sp:report-result:read] - requestBody: - content: - application/json: - schema: - $ref: '../schemas/reports/ReportDetails.yaml' - examples: - identityDetailsReport: - $ref: '../schemas/reports/examples/identities-details-report-details.yaml' - required: true + parameters: + - in: path + name: taskResultId + schema: + type: string + required: true + description: Unique identifier of the task result which handled report + example: ef38f94347e94562b5bb8424a56397d8 + - in: query + name: completed + schema: + type: boolean + default: false + required: false + description: state of task result to apply ordering when results are fetching from the DB + example: true responses: '200': description: Details about report that was run or is running. diff --git a/idn/beta/paths/reports-run.yaml b/idn/v3/paths/reports-run.yaml similarity index 89% rename from idn/beta/paths/reports-run.yaml rename to idn/v3/paths/reports-run.yaml index 4e3df99..cc64d9b 100644 --- a/idn/beta/paths/reports-run.yaml +++ b/idn/v3/paths/reports-run.yaml @@ -14,10 +14,8 @@ post: schema: $ref: '../schemas/reports/ReportDetails.yaml' examples: - identityDetailsReport: + Identities Details Report: $ref: '../schemas/reports/examples/identities-details-report-details.yaml' - searchExportReport: - $ref: '../schemas/reports/examples/search-export-report-details.yaml' required: true responses: '200': diff --git a/idn/v3/schemas/reports/ReportDetails.yaml b/idn/v3/schemas/reports/ReportDetails.yaml new file mode 100644 index 0000000..03fb702 --- /dev/null +++ b/idn/v3/schemas/reports/ReportDetails.yaml @@ -0,0 +1,32 @@ +type: object +description: >- + Details about report to be processed. +properties: + reportType: + type: string + enum: + - ACCOUNTS + - IDENTITIES_DETAILS + - IDENTITIES + - IDENTITY_PROFILE_IDENTITY_ERROR + - ORPHAN_IDENTITIES + - SEARCH_EXPORT + - UNCORRELATED_ACCOUNTS + description: >- + Use this property to define what report should be processed in the RDE service. + example: IDENTITIES_DETAILS + arguments: + oneOf: + - $ref: '../reports/arguments/accounts-export-report-arguments.yaml' + - $ref: '../reports/arguments/identities-details-report-arguments.yaml' + - $ref: '../reports/arguments/identities-report-arguments.yaml' + - $ref: '../reports/arguments/identity-profile-identity-error-report-arguments.yaml' + - $ref: '../reports/arguments/orphan-uncorrelated-report-arguments.yaml' + - $ref: '../reports/arguments/search-export-report-arguments.yaml' + example: { + "application": "2c9180897e7742b2017e781782f705b9", + "sourceName": "DataScienceWorkday", + "defaultS3Bucket": true + } + description: >- + The string-object map(dictionary) with the arguments needed for report processing. \ No newline at end of file diff --git a/idn/v3/schemas/reports/ReportResults.yaml b/idn/v3/schemas/reports/ReportResults.yaml new file mode 100644 index 0000000..3435306 --- /dev/null +++ b/idn/v3/schemas/reports/ReportResults.yaml @@ -0,0 +1,67 @@ +type : object +description: >- + Details about report result or current state. +properties: + reportType: + type: string + enum: + - ACCOUNTS + - IDENTITIES_DETAILS + - IDENTITIES + - IDENTITY_PROFILE_IDENTITY_ERROR + - ORPHAN_IDENTITIES + - SEARCH_EXPORT + - UNCORRELATED_ACCOUNTS + description: >- + Use this property to define what report should be processed in the RDE service. + example: IDENTITIES_DETAILS + taskDefName: + type: string + description: >- + Name of the task definition which is started to process requesting report. Usually the same as report name + example: Identities Details Report + id: + type: string + description: >- + Unique task definition identifier. + example: a248c16fe22222b2bd49615481311111 + created: + type: string + description: >- + Report processing start date + format: date-time + example: '2020-09-07T42:14:00.364Z' + status: + type: string + enum: + - SUCCESS + - FAILURE + - WARNING + - TERMINATED + description: >- + Report current state or result status. + example: SUCCESS + duration: + type: integer + format: int64 + description: >- + Report processing time in ms. + example: 342 + rows: + type: integer + format: int64 + description: >- + Report size in rows. + example: 37 + availableFormats: + type: array + items: + type: string + enum: + - CSV + - PDF + description: >- + Output report file formats. This are formats for calling get endpoint as a query parameter 'fileFormat'. + In case report won't have this argument there will be ['CSV', 'PDF'] as default. + example: + - CSV \ No newline at end of file diff --git a/idn/beta/schemas/reports/TaskResultDetails.yaml b/idn/v3/schemas/reports/TaskResultDetails.yaml similarity index 68% rename from idn/beta/schemas/reports/TaskResultDetails.yaml rename to idn/v3/schemas/reports/TaskResultDetails.yaml index 66d047e..312db66 100644 --- a/idn/beta/schemas/reports/TaskResultDetails.yaml +++ b/idn/v3/schemas/reports/TaskResultDetails.yaml @@ -12,65 +12,72 @@ properties: description: >- Type of the job or task underlying in the report processing. It could be a quartz task, QPOC or MENTOS jobs or a refresh/sync task. - example: 'MENTOS' + example: MENTOS id: type: string description: >- Unique task definition identifier. - example: 'a248c16fe22222b2bd49615481311111' - name: - type: string + example: a248c16fe22222b2bd49615481311111 + reportType: + enum: + - ACCOUNTS + - IDENTITIES_DETAILS + - IDENTITIES + - IDENTITY_PROFILE_IDENTITY_ERROR + - ORPHAN_IDENTITIES + - SEARCH_EXPORT + - UNCORRELATED_ACCOUNTS description: >- - Name of the requesting report. - example: 'Identities Details Report' + Use this property to define what report should be processed in the RDE service. + example: IDENTITIES_DETAILS description: type: string description: >- Description of the report purpose and/or contents. - example: 'A detailed view of the identities in the system.' + example: A detailed view of the identities in the system. parentName: type: string nullable: true description: >- Name of the parent task/report if exists. - example: 'Audit Report' + example: Audit Report launcher: type: string description: >- Name of the report processing initiator. - example: 'cloudadmin' + example: cloudadmin created: - type: integer - format: int64 + type: string description: >- - Report creation date in legacy long (int64) representation. - example: 1688633986104 + Report creation date + format: date-time + example: '2020-09-07T42:14:00.364Z' launched: - type: integer + type: string nullable: true - format: int64 + format: date-time description: >- - Report start date in legacy long (int64) representation. - example: 1688633988104 + Report start date + example: '2020-09-07T42:14:00.521Z' completed: - type: integer + type: string nullable: true - format: int64 + format: date-time description: >- - Report completion date in legacy long (int64) representation. - example: 1688633989504 + Report completion date + example: '2020-09-07T42:14:01.137Z' completionStatus: type: string nullable: true enum: - - Success - - Warning - - Error - - Terminated - - TempError + - SUCCESS + - WARNING + - ERROR + - TERMINATED + - TEMP_ERROR description: >- Report completion status. - example: 'Success' + example: Success messages: type: array description: >- @@ -85,10 +92,10 @@ properties: description: >- Type of the message. enum: - - Info - - Warn - - Error - example: 'Warn' + - INFO + - WARN + - ERROR + example: WARN error: type: boolean default: false @@ -105,12 +112,12 @@ properties: type: string description: >- Message string identifier. - example: 'The following account(s) failed to correlate: A,B,C' + example: "The following account(s) failed to correlate: A,B,C" localizedText: type: string description: >- Message context with the locale based language. - example: 'The following account(s) failed to correlate: A,B,C' + example: "The following account(s) failed to correlate: A,B,C" returns: type: array description: >- @@ -133,14 +140,12 @@ properties: type: object description: >- Extra attributes map(dictionary) needed for the report. - example: - org: 'an-org' - pod: 'the-pod' additionalProperties: type: object + example: {"org": "an-org"} progress: type: string nullable: true description: >- Current report state. - example: 'Initializing...' \ No newline at end of file + example: Initializing... \ No newline at end of file diff --git a/idn/v3/schemas/reports/arguments/accounts-export-report-arguments.yaml b/idn/v3/schemas/reports/arguments/accounts-export-report-arguments.yaml new file mode 100644 index 0000000..8720968 --- /dev/null +++ b/idn/v3/schemas/reports/arguments/accounts-export-report-arguments.yaml @@ -0,0 +1,31 @@ +title: ACCOUNTS +type: object +description: >- + Arguments for Account Export (ACCOUNTS) +required: + - application + - sourceName + - defaultS3Bucket +properties: + application: + type: string + description: >- + Id of the authoritative source to export related accounts e.g. identities + example: 2c9180897eSourceIde781782f705b9 + sourceName: + type: string + description: >- + Name of the authoritative source for accounts export + example: DataScienceSourceName + defaultS3Bucket: + type: boolean + description: >- + Use it to set default s3 bucket where generated report will be saved. + In case this argument is false and 's3Bucket' argument is null or absent there will be default + s3Bucket assigned to the report. + example: true + s3Bucket: + type: string + description: >- + If you want to be specific you could use this argument with defaultS3Bucket = false. + example: the-dev-bucket \ No newline at end of file diff --git a/idn/v3/schemas/reports/arguments/identities-details-report-arguments.yaml b/idn/v3/schemas/reports/arguments/identities-details-report-arguments.yaml new file mode 100644 index 0000000..dbf5e90 --- /dev/null +++ b/idn/v3/schemas/reports/arguments/identities-details-report-arguments.yaml @@ -0,0 +1,26 @@ +title: IDENTITIES_DETAILS +type: object +description: >- + Arguments for Identities details report (IDENTITIES_DETAILS) +required: + - defaultS3Bucket + - correlatedOnly +properties: + correlatedOnly: + type: boolean + description: >- + Boolean FLAG to specify if only correlated identities should be used in report processing + default: false + example: true + defaultS3Bucket: + type: boolean + description: >- + Use it to set default s3 bucket where generated report will be saved. + In case this argument is false and 's3Bucket' argument is null or absent there will be default + s3Bucket assigned to the report. + example: true + s3Bucket: + type: string + description: >- + If you want to be specific you could use this argument with defaultS3Bucket = false. + example: the-dev-bucket diff --git a/idn/v3/schemas/reports/arguments/identities-report-arguments.yaml b/idn/v3/schemas/reports/arguments/identities-report-arguments.yaml new file mode 100644 index 0000000..9778fb8 --- /dev/null +++ b/idn/v3/schemas/reports/arguments/identities-report-arguments.yaml @@ -0,0 +1,25 @@ +title: IDENTITIES +type: object +description: >- + Arguments for Identities report (IDENTITIES) +required: + - defaultS3Bucket +properties: + correlatedOnly: + type: boolean + description: >- + Boolean FLAG to specify if only correlated identities should be used in report processing + default: false + example: true + defaultS3Bucket: + type: boolean + description: >- + Use it to set default s3 bucket where generated report will be saved. + In case this argument is false and 's3Bucket' argument is null or absent there will be default + s3Bucket assigned to the report. + example: true + s3Bucket: + type: string + description: >- + If you want to be specific you could use this argument with defaultS3Bucket = false. + example: the-dev-bucket diff --git a/idn/v3/schemas/reports/arguments/identity-profile-identity-error-report-arguments.yaml b/idn/v3/schemas/reports/arguments/identity-profile-identity-error-report-arguments.yaml new file mode 100644 index 0000000..622acec --- /dev/null +++ b/idn/v3/schemas/reports/arguments/identity-profile-identity-error-report-arguments.yaml @@ -0,0 +1,25 @@ +title: IDENTITY_PROFILE_IDENTITY_ERROR +type: object +description: >- + Arguments for Identity Profile Identity Error report (IDENTITY_PROFILE_IDENTITY_ERROR) +required: + - authoritativeSource + - defaultS3Bucket +properties: + authoritativeSource: + type: string + description: >- + Source Id to be checked on errors of identity profiles aggregation + example: 1234sourceId5678902 + defaultS3Bucket: + type: boolean + description: >- + Use it to set default s3 bucket where generated report will be saved. + In case this argument is false and 's3Bucket' argument is null or absent there will be default + s3Bucket assigned to the report. + example: true + s3Bucket: + type: string + description: >- + If you want to be specific you could use this argument with defaultS3Bucket = false. + example: the-dev-bucket \ No newline at end of file diff --git a/idn/v3/schemas/reports/arguments/orphan-uncorrelated-report-arguments.yaml b/idn/v3/schemas/reports/arguments/orphan-uncorrelated-report-arguments.yaml new file mode 100644 index 0000000..5834620 --- /dev/null +++ b/idn/v3/schemas/reports/arguments/orphan-uncorrelated-report-arguments.yaml @@ -0,0 +1,31 @@ +title: ORPHAN_IDENTITIES & UNCORRELATED_ACCOUNTS +type: object +description: >- + Arguments for Orphan Identities report (ORPHAN_IDENTITIES) and Uncorrelated Accounts report (UNCORRELATED_ACCOUNTS) +required: + - defaultS3Bucket +properties: + selectedFormats: + type: array + items: + type: string + enum: + - CSV + - PDF + description: >- + Output report file formats. This are formats for calling get endpoint as a query parameter 'fileFormat'. + In case report won't have this argument there will be ['CSV', 'PDF'] as default. + example: + - CSV + defaultS3Bucket: + type: boolean + description: >- + Use it to set default s3 bucket where generated report will be saved. + In case this argument is false and 's3Bucket' argument is null or absent there will be default + s3Bucket assigned to the report. + example: true + s3Bucket: + type: string + description: >- + If you want to be specific you could use this argument with defaultS3Bucket = false. + example: the-dev-bucket diff --git a/idn/v3/schemas/reports/arguments/search-export-report-arguments.yaml b/idn/v3/schemas/reports/arguments/search-export-report-arguments.yaml new file mode 100644 index 0000000..dee344b --- /dev/null +++ b/idn/v3/schemas/reports/arguments/search-export-report-arguments.yaml @@ -0,0 +1,65 @@ +title: SEARCH_EXPORT +type: object +description: >- + Arguments for Search Export report (SEARCH_EXPORT) +required: + - query + - defaultS3Bucket +properties: + indices: + description: >- + The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched. + externalDocs: + description: Learn more about search indices here. + url: https://documentation.sailpoint.com/saas/help/search/searchable-fields.html + type: array + items: + $ref: '../../search/Index.yaml' + example: + - entitlements + filters: + description: >- + The filters to be applied for each filtered field name. + type: object + additionalProperties: + $ref: '../../filter/Filter.yaml' + example: + source.id: + type: 'TERMS' + terms: + - '2c9180897termsId780bd2920576' + source.name.exact: + type: 'TERMS' + terms: + - 'IdentityNow' + exclude: true + query: + $ref: '../../search/Query.yaml' + includeNested: + description: >- + Indicates whether nested objects from returned search results should be included. + type: boolean + default: true + example: true + sort: + description: >- + The fields to be used to sort the search results. + Use + or - to specify the sort direction. + type: array + items: + type: string + example: + - 'displayName' + - '+id' + defaultS3Bucket: + type: boolean + description: >- + Use it to set default s3 bucket where generated report will be saved. + In case this argument is false and 's3Bucket' argument is null or absent there will be default + s3Bucket assigned to the report. + example: true + s3Bucket: + type: string + description: >- + If you want to be specific you could use this argument with defaultS3Bucket = false. + example: the-dev-bucket \ No newline at end of file diff --git a/idn/v3/schemas/reports/examples/identities-details-report-details.yaml b/idn/v3/schemas/reports/examples/identities-details-report-details.yaml new file mode 100644 index 0000000..43eed60 --- /dev/null +++ b/idn/v3/schemas/reports/examples/identities-details-report-details.yaml @@ -0,0 +1,6 @@ +summary: Identities Details report +value: + reportType: IDENTITIES_DETAILS + arguments: + defaultS3Bucket: true + correlatedOnly: true \ No newline at end of file diff --git a/idn/v3/schemas/reports/examples/identities-details-report-results.yaml b/idn/v3/schemas/reports/examples/identities-details-report-results.yaml new file mode 100644 index 0000000..61bb152 --- /dev/null +++ b/idn/v3/schemas/reports/examples/identities-details-report-results.yaml @@ -0,0 +1,11 @@ +summary: Identities Details Report result. +value: + reportType: IDENTITIES_DETAILS + taskDefName: Identities Details Report + id: 1e01d272b8084c4fa12fcf8fa898102d + created: '2023-09-07T42:14:05.122Z' + status: SUCCESS + duration: 3681 + rows: 193 + availableFormats: + - CSV \ No newline at end of file diff --git a/idn/v3/schemas/reports/examples/identities-details-report-task-result.yaml b/idn/v3/schemas/reports/examples/identities-details-report-task-result.yaml new file mode 100644 index 0000000..09596bb --- /dev/null +++ b/idn/v3/schemas/reports/examples/identities-details-report-task-result.yaml @@ -0,0 +1,17 @@ +summary: Identities Details Report task result. +value: + reportType: IDENTITIES_DETAILS + taskDefName: Identities Details Report + type: QUARTZ + id: a248c16fe22222b2bd49615481311111 + created: '2023-09-07T42:14:00.364Z' + description: A detailed view of the identities in the system. + parentName: Audit Report + launcher: '9832285' + launched: '2023-09-07T42:14:00.521Z' + completed: '2023-09-07T42:14:01.137Z' + messages: [] + returns: [] + attributes: + org: an-org + progress: 'Initializing...' \ No newline at end of file diff --git a/idn/v3/schemas/reports/examples/search-export-report-task-result.yaml b/idn/v3/schemas/reports/examples/search-export-report-task-result.yaml new file mode 100644 index 0000000..85f7fdb --- /dev/null +++ b/idn/v3/schemas/reports/examples/search-export-report-task-result.yaml @@ -0,0 +1,24 @@ +summary: Identities Details Report task result. +value: + reportType: SEARCH_EXPORT + taskDefName: Search Export + type: QUARTZ + id: a248c16fe22222b2bd49615481311111 + created: '2023-09-07T42:14:11.137Z' + description: Extract query data from ElasticSearch to CSV + parentName: null + launcher: T05293 + launched: '2020-09-07T42:14:11.137Z' + completed: '2020-09-07T42:14:13.451Z' + messages: [] + returns: [] + attributes: + queryHash: 5e12cf79c67d92e23d4d8cb3e974f87d164e86d4a48d32ecf89645cacfd3f2 + org: an-org + queryParams: + columns: displayName,firstName,lastName,email,created,attributes.cloudLifecycleState,tags,access.spread,apps.pread,accounts.spread + indices: identities + ownerId: 95ecba5c5444439c999aec638ce2a777 + query: 700007 + sort: displayName + progress: Initializing... \ No newline at end of file