Automated commit by github action: 5647025234

This commit is contained in:
GitHub Action Bot
2023-07-24 15:52:57 +00:00
parent 7796e2dc15
commit f048d13f74
12 changed files with 486 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
post:
tags:
- Reports Data Extraction
description: >-
Cancels a running report.
operationId: cancelReport
summary: "Cancel Report"
security:
- oauth2: [sp:report:delete]
parameters:
- name: id
in: path
description: ID of the running Report to cancel
required: true
style: simple
explode: false
schema:
type: string
example: 'a1ed223247144cc29d23c632624b4767'
responses:
'204':
$ref: '../../v3/responses/204.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'

View File

@@ -0,0 +1,71 @@
get:
tags:
- Reports Data Extraction
description: >-
Gets a report in file format.
operationId: getReport
summary: "Get Report File"
security:
- oauth2: [sp:report:read]
parameters:
- in: path
name: taskResultId
schema:
type: string
required: true
description: Unique identifier of the task result which handled report
example: ef38f94347e94562b5bb8424a56397d8
- in: path
name: fileFormat
schema:
type: string
required: true
description: Output format of the requested report file
example: 'CSV'
- in: query
name: name
required: false
schema:
type: string
example: 'Identities Details Report'
description: preferred Report file name, by default will be used report name from task result.
responses:
'200':
description: Details about running report task.
content:
application/octet-stream:
schema:
type: string
format: binary
headers:
Content-disposition:
description: The requested report's filename
schema:
type: string
example: 'attachment;filename=\"fileName"'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'404':
description: Not Found - returned if the request URL refers to a resource or object that does not exist
content:
application/json:
schema:
$ref: '../../v3/schemas/ErrorResponseDto.yaml'
examples:
"404":
summary: An example of a 404 response object
value:
detailCode: "404 Not found"
trackingId: "b21b1f7ce4da4d639f2c62a57171b427"
messages:
- locale: "en-US"
localeOrigin: "DEFAULT"
text: "<h1>File Not Found - 404 Error</h1> The requested file was not found."
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'

View File

@@ -0,0 +1,39 @@
post:
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
summary: "Get Report Result"
security:
- oauth2: [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
responses:
'200':
description: Details about report that was run or is running.
content:
application/json:
schema:
$ref: '../schemas/reports/ReportResults.yaml'
examples:
identityDetailsReport:
$ref: '../schemas/reports/examples/identities-details-report-results.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'

View File

@@ -0,0 +1,43 @@
post:
tags:
- Reports Data Extraction
description: >-
Runs a report according to input report details.
If non-concurrent task is already running then it returns, otherwise new task creates and returns.
operationId: startReport
summary: "Run Report"
security:
- oauth2: [sp:report:create]
requestBody:
content:
application/json:
schema:
$ref: '../schemas/reports/ReportDetails.yaml'
examples:
identityDetailsReport:
$ref: '../schemas/reports/examples/identities-details-report-details.yaml'
searchExportReport:
$ref: '../schemas/reports/examples/search-export-report-details.yaml'
required: true
responses:
'200':
description: Details about running report task.
content:
application/json:
schema:
$ref: '../schemas/reports/TaskResultDetails.yaml'
examples:
identityDetailsReport:
$ref: '../schemas/reports/examples/identities-details-report-task-result.yaml'
searchExportReport:
$ref: '../schemas/reports/examples/search-export-report-task-result.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'

View File

@@ -0,0 +1,25 @@
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

View File

@@ -0,0 +1,48 @@
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'

View File

@@ -0,0 +1,146 @@
type: object
description: >-
Details about job or task type, state and lifecycle.
properties:
type:
type: string
enum:
- QUARTZ
- QPOC
- MENTOS
- QUEUED_TASK
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'
id:
type: string
description: >-
Unique task definition identifier.
example: 'a248c16fe22222b2bd49615481311111'
name:
type: string
description: >-
Name of the requesting report.
example: 'Identities Details Report'
description:
type: string
description: >-
Description of the report purpose and/or contents.
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'
launcher:
type: string
description: >-
Name of the report processing initiator.
example: 'cloudadmin'
created:
type: integer
format: int64
description: >-
Report creation date in legacy long (int64) representation.
example: 1688633986104
launched:
type: integer
nullable: true
format: int64
description: >-
Report start date in legacy long (int64) representation.
example: 1688633988104
completed:
type: integer
nullable: true
format: int64
description: >-
Report completion date in legacy long (int64) representation.
example: 1688633989504
completionStatus:
type: string
nullable: true
enum:
- Success
- Warning
- Error
- Terminated
- TempError
description: >-
Report completion status.
example: 'Success'
messages:
type: array
description: >-
List of the messages dedicated to the report.
From task definition perspective here usually should be warnings or errors.
example: []
items:
type: object
properties:
type:
type: string
description: >-
Type of the message.
enum:
- Info
- Warn
- Error
example: 'Warn'
error:
type: boolean
default: false
description: >-
Flag whether message is an error.
example: false
warning:
type: boolean
default: false
description: >-
Flag whether message is a warning.
example: true
key:
type: string
description: >-
Message string identifier.
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'
returns:
type: array
description: >-
Task definition results, if necessary.
example: []
items:
type: object
properties:
displayLabel:
type: string
description: >-
Attribute description.
example: ' '
attributeName:
type: string
description: >-
System or database attribute name.
example: ' '
attributes:
type: object
description: >-
Extra attributes map(dictionary) needed for the report.
example:
org: 'an-org'
pod: 'the-pod'
additionalProperties:
type: object
progress:
type: string
nullable: true
description: >-
Current report state.
example: 'Initializing...'

View File

@@ -0,0 +1,10 @@
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

View File

@@ -0,0 +1,10 @@
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'

View File

@@ -0,0 +1,17 @@
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...'

View File

@@ -0,0 +1,21 @@
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

View File

@@ -0,0 +1,24 @@
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...'