/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Application Discovery * Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. * * The version of the OpenAPI document: v1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common'; import type { RequestArgs } from './base'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base'; /** * * @export * @interface ApplicationDiscoveryRequest */ export interface ApplicationDiscoveryRequest { /** * List of dataset Ids to discover applications * @type {Array} * @memberof ApplicationDiscoveryRequest */ 'datasetIds': Array; } /** * * @export * @interface ApplicationDiscoveryResponse */ export interface ApplicationDiscoveryResponse { /** * System-generated unique ID of the Object * @type {string} * @memberof ApplicationDiscoveryResponse */ 'id'?: string; /** * Type of task for app discovery * @type {string} * @memberof ApplicationDiscoveryResponse */ 'type'?: ApplicationDiscoveryResponseTypeEnum; /** * Name of the task for app discovery * @type {string} * @memberof ApplicationDiscoveryResponse */ 'uniqueName'?: string; /** * Description of the app discovery aggregation * @type {string} * @memberof ApplicationDiscoveryResponse */ 'description'?: string; /** * Name of the parent of the task for app discovery * @type {string} * @memberof ApplicationDiscoveryResponse */ 'parentName'?: string | null; /** * Service to execute app discovery * @type {string} * @memberof ApplicationDiscoveryResponse */ 'launcher'?: string; /** * * @type {ApplicationDiscoveryResponseTarget} * @memberof ApplicationDiscoveryResponse */ 'target'?: ApplicationDiscoveryResponseTarget; /** * Creation date of app discovery task * @type {string} * @memberof ApplicationDiscoveryResponse */ 'created'?: string; /** * Last modification date of app discovery task * @type {string} * @memberof ApplicationDiscoveryResponse */ 'modified'?: string; /** * Launch date of app discovery task * @type {string} * @memberof ApplicationDiscoveryResponse */ 'launched'?: string | null; /** * Completion date of app discovery task * @type {string} * @memberof ApplicationDiscoveryResponse */ 'completed'?: string | null; /** * * @type {TaskDefinitionSummary} * @memberof ApplicationDiscoveryResponse */ 'taskDefinitionSummary'?: TaskDefinitionSummary; /** * Completion status of app discovery task * @type {string} * @memberof ApplicationDiscoveryResponse */ 'completionStatus'?: ApplicationDiscoveryResponseCompletionStatusEnum | null; /** * Messages associated with the app discovery task * @type {Array} * @memberof ApplicationDiscoveryResponse */ 'messages'?: Array; /** * Return values associated with the app discovery task * @type {Array} * @memberof ApplicationDiscoveryResponse */ 'returns'?: Array; /** * Attributes of the app discovery task * @type {{ [key: string]: any; }} * @memberof ApplicationDiscoveryResponse */ 'attributes'?: { [key: string]: any; }; /** * Current progress of aggregation * @type {string} * @memberof ApplicationDiscoveryResponse */ 'progress'?: string | null; /** * Current percentage completion of app discovery task * @type {number} * @memberof ApplicationDiscoveryResponse */ 'percentComplete'?: number; } export const ApplicationDiscoveryResponseTypeEnum = { Quartz: 'QUARTZ', Qpoc: 'QPOC', QueuedTask: 'QUEUED_TASK' } as const; export type ApplicationDiscoveryResponseTypeEnum = typeof ApplicationDiscoveryResponseTypeEnum[keyof typeof ApplicationDiscoveryResponseTypeEnum]; export const ApplicationDiscoveryResponseCompletionStatusEnum = { Success: 'SUCCESS', Warning: 'WARNING', Error: 'ERROR', Terminated: 'TERMINATED', Temperror: 'TEMPERROR' } as const; export type ApplicationDiscoveryResponseCompletionStatusEnum = typeof ApplicationDiscoveryResponseCompletionStatusEnum[keyof typeof ApplicationDiscoveryResponseCompletionStatusEnum]; /** * The target(source) of app discovery * @export * @interface ApplicationDiscoveryResponseTarget */ export interface ApplicationDiscoveryResponseTarget { /** * * @type {DtoType} * @memberof ApplicationDiscoveryResponseTarget */ 'type'?: DtoType; /** * ID of the object to which this reference applies * @type {string} * @memberof ApplicationDiscoveryResponseTarget */ 'id'?: string; /** * Human-readable display name of the object to which this reference applies * @type {string} * @memberof ApplicationDiscoveryResponseTarget */ 'name'?: string; } /** * * @export * @interface BaseReferenceDto */ export interface BaseReferenceDto { /** * * @type {DtoType} * @memberof BaseReferenceDto */ 'type'?: DtoType; /** * ID of the object to which this reference applies * @type {string} * @memberof BaseReferenceDto */ 'id'?: string; /** * Human-readable display name of the object to which this reference applies * @type {string} * @memberof BaseReferenceDto */ 'name'?: string; } /** * An enumeration of the types of DTOs supported within the IdentityNow infrastructure. * @export * @enum {string} */ export const DtoType = { AccountCorrelationConfig: 'ACCOUNT_CORRELATION_CONFIG', AccessProfile: 'ACCESS_PROFILE', AccessRequestApproval: 'ACCESS_REQUEST_APPROVAL', Account: 'ACCOUNT', Application: 'APPLICATION', Campaign: 'CAMPAIGN', CampaignFilter: 'CAMPAIGN_FILTER', Certification: 'CERTIFICATION', Cluster: 'CLUSTER', ConnectorSchema: 'CONNECTOR_SCHEMA', Entitlement: 'ENTITLEMENT', GovernanceGroup: 'GOVERNANCE_GROUP', Identity: 'IDENTITY', IdentityProfile: 'IDENTITY_PROFILE', IdentityRequest: 'IDENTITY_REQUEST', MachineIdentity: 'MACHINE_IDENTITY', LifecycleState: 'LIFECYCLE_STATE', PasswordPolicy: 'PASSWORD_POLICY', Role: 'ROLE', Rule: 'RULE', SodPolicy: 'SOD_POLICY', Source: 'SOURCE', Tag: 'TAG', TagCategory: 'TAG_CATEGORY', TaskResult: 'TASK_RESULT', ReportResult: 'REPORT_RESULT', SodViolation: 'SOD_VIOLATION', AccountActivity: 'ACCOUNT_ACTIVITY', Workgroup: 'WORKGROUP' } as const; export type DtoType = typeof DtoType[keyof typeof DtoType]; /** * * @export * @interface ErrorMessageDto */ export interface ErrorMessageDto { /** * The locale for the message text, a BCP 47 language tag. * @type {string} * @memberof ErrorMessageDto */ 'locale'?: string | null; /** * * @type {LocaleOrigin} * @memberof ErrorMessageDto */ 'localeOrigin'?: LocaleOrigin | null; /** * Actual text of the error message in the indicated locale. * @type {string} * @memberof ErrorMessageDto */ 'text'?: string; } /** * * @export * @interface ErrorResponseDto */ export interface ErrorResponseDto { /** * Fine-grained error code providing more detail of the error. * @type {string} * @memberof ErrorResponseDto */ 'detailCode'?: string; /** * Unique tracking id for the error. * @type {string} * @memberof ErrorResponseDto */ 'trackingId'?: string; /** * Generic localized reason for error * @type {Array} * @memberof ErrorResponseDto */ 'messages'?: Array; /** * Plain-text descriptive reasons to provide additional detail to the text provided in the messages field * @type {Array} * @memberof ErrorResponseDto */ 'causes'?: Array; } /** * Discovered applications with their respective associated sources * @export * @interface FullDiscoveredApplications */ export interface FullDiscoveredApplications { /** * Unique identifier for the discovered application. * @type {string} * @memberof FullDiscoveredApplications */ 'id'?: string; /** * Name of the discovered application. * @type {string} * @memberof FullDiscoveredApplications */ 'name'?: string; /** * Source from which the application was discovered. * @type {string} * @memberof FullDiscoveredApplications */ 'discoverySource'?: string; /** * The vendor associated with the discovered application. * @type {string} * @memberof FullDiscoveredApplications */ 'discoveredVendor'?: string; /** * A brief description of the discovered application. * @type {string} * @memberof FullDiscoveredApplications */ 'description'?: string; /** * List of recommended connectors for the application. * @type {Array} * @memberof FullDiscoveredApplications */ 'recommendedConnectors'?: Array; /** * The timestamp when the application was last received via an entitlement aggregation invocation or a manual csv upload, in ISO 8601 format. * @type {string} * @memberof FullDiscoveredApplications */ 'discoveredAt'?: string; /** * The timestamp when the application was first discovered, in ISO 8601 format. * @type {string} * @memberof FullDiscoveredApplications */ 'createdAt'?: string; /** * The status of an application within the discovery source. By default this field is set to \"ACTIVE\" when the application is discovered. If an application has been deleted from within the discovery source, the status will be set to \"INACTIVE\". * @type {string} * @memberof FullDiscoveredApplications */ 'status'?: string; /** * List of associated sources related to this discovered application. * @type {Array} * @memberof FullDiscoveredApplications */ 'associatedSources'?: Array; /** * The operational status of the application. * @type {string} * @memberof FullDiscoveredApplications */ 'operationalStatus'?: string; /** * The category of the discovery source. * @type {string} * @memberof FullDiscoveredApplications */ 'discoverySourceCategory'?: string; /** * The number of licenses associated with the application. * @type {number} * @memberof FullDiscoveredApplications */ 'licenseCount'?: number; /** * Indicates whether the application is sanctioned. * @type {boolean} * @memberof FullDiscoveredApplications */ 'isSanctioned'?: boolean; /** * URL of the application\'s logo. * @type {string} * @memberof FullDiscoveredApplications */ 'logo'?: string; /** * The URL of the application. * @type {string} * @memberof FullDiscoveredApplications */ 'appUrl'?: string; /** * List of groups associated with the application. * @type {Array} * @memberof FullDiscoveredApplications */ 'groups'?: Array; /** * The count of users associated with the application. * @type {string} * @memberof FullDiscoveredApplications */ 'usersCount'?: string; /** * The owners of the application. * @type {Array} * @memberof FullDiscoveredApplications */ 'applicationOwner'?: Array; /** * The IT owners of the application. * @type {Array} * @memberof FullDiscoveredApplications */ 'itApplicationOwner'?: Array; /** * The business criticality level of the application. * @type {string} * @memberof FullDiscoveredApplications */ 'businessCriticality'?: string; /** * The data classification level of the application. * @type {string} * @memberof FullDiscoveredApplications */ 'dataClassification'?: string; /** * The business unit associated with the application. * @type {string} * @memberof FullDiscoveredApplications */ 'businessUnit'?: string; /** * The installation type of the application. * @type {string} * @memberof FullDiscoveredApplications */ 'installType'?: string; /** * The environment in which the application operates. * @type {string} * @memberof FullDiscoveredApplications */ 'environment'?: string; /** * The risk score of the application ranging from 0-100, 100 being highest risk. * @type {number} * @memberof FullDiscoveredApplications */ 'riskScore'?: number; /** * Indicates whether the application is used for business purposes. * @type {boolean} * @memberof FullDiscoveredApplications */ 'isBusiness'?: boolean; /** * The total number of sign-in accounts for the application. * @type {number} * @memberof FullDiscoveredApplications */ 'totalSigninsCount'?: number; /** * The risk level of the application. * @type {string} * @memberof FullDiscoveredApplications */ 'riskLevel'?: FullDiscoveredApplicationsRiskLevelEnum; /** * Indicates whether the application has privileged access. * @type {boolean} * @memberof FullDiscoveredApplications */ 'isPrivileged'?: boolean; /** * The warranty expiration date of the application. * @type {string} * @memberof FullDiscoveredApplications */ 'warrantyExpiration'?: string; /** * Additional attributes of the application useful for visibility of governance posture. * @type {object} * @memberof FullDiscoveredApplications */ 'attributes'?: object; } export const FullDiscoveredApplicationsRiskLevelEnum = { High: 'High', Medium: 'Medium', Low: 'Low' } as const; export type FullDiscoveredApplicationsRiskLevelEnum = typeof FullDiscoveredApplicationsRiskLevelEnum[keyof typeof FullDiscoveredApplicationsRiskLevelEnum]; /** * @type GetDiscoveredApplicationsV1200ResponseInner * @export */ export type GetDiscoveredApplicationsV1200ResponseInner = FullDiscoveredApplications | SlimDiscoveredApplications; /** * An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. * @export * @enum {string} */ export const LocaleOrigin = { Default: 'DEFAULT', Request: 'REQUEST' } as const; export type LocaleOrigin = typeof LocaleOrigin[keyof typeof LocaleOrigin]; /** * Localized error message to indicate a failed invocation or error if any. * @export * @interface LocalizedMessage */ export interface LocalizedMessage { /** * Message locale * @type {string} * @memberof LocalizedMessage */ 'locale': string; /** * Message text * @type {string} * @memberof LocalizedMessage */ 'message': string; } /** * * @export * @interface ManualDiscoverApplications */ export interface ManualDiscoverApplications { /** * The CSV file to upload containing `application_name` and `description` columns. Each row represents an application to be discovered. * @type {File} * @memberof ManualDiscoverApplications */ 'file': File; } /** * * @export * @interface ManualDiscoverApplicationsTemplate */ export interface ManualDiscoverApplicationsTemplate { /** * Name of the application. * @type {string} * @memberof ManualDiscoverApplicationsTemplate */ 'application_name'?: string; /** * Description of the application. * @type {string} * @memberof ManualDiscoverApplicationsTemplate */ 'description'?: string; } /** * Discovered applications * @export * @interface SlimDiscoveredApplications */ export interface SlimDiscoveredApplications { /** * Unique identifier for the discovered application. * @type {string} * @memberof SlimDiscoveredApplications */ 'id'?: string; /** * Name of the discovered application. * @type {string} * @memberof SlimDiscoveredApplications */ 'name'?: string; /** * Source from which the application was discovered. * @type {string} * @memberof SlimDiscoveredApplications */ 'discoverySource'?: string; /** * The vendor associated with the discovered application. * @type {string} * @memberof SlimDiscoveredApplications */ 'discoveredVendor'?: string; /** * A brief description of the discovered application. * @type {string} * @memberof SlimDiscoveredApplications */ 'description'?: string; /** * List of recommended connectors for the application. * @type {Array} * @memberof SlimDiscoveredApplications */ 'recommendedConnectors'?: Array; /** * The timestamp when the application was last received via an entitlement aggregation invocation or a manual csv upload, in ISO 8601 format. * @type {string} * @memberof SlimDiscoveredApplications */ 'discoveredAt'?: string; /** * The timestamp when the application was first discovered, in ISO 8601 format. * @type {string} * @memberof SlimDiscoveredApplications */ 'createdAt'?: string; /** * The status of an application within the discovery source. By default this field is set to \"ACTIVE\" when the application is discovered. If an application has been deleted from within the discovery source, the status will be set to \"INACTIVE\". * @type {string} * @memberof SlimDiscoveredApplications */ 'status'?: string; /** * The operational status of the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'operationalStatus'?: string; /** * The category of the discovery source. * @type {string} * @memberof SlimDiscoveredApplications */ 'discoverySourceCategory'?: string; /** * The number of licenses associated with the application. * @type {number} * @memberof SlimDiscoveredApplications */ 'licenseCount'?: number; /** * Indicates whether the application is sanctioned. * @type {boolean} * @memberof SlimDiscoveredApplications */ 'isSanctioned'?: boolean; /** * URL of the application\'s logo. * @type {string} * @memberof SlimDiscoveredApplications */ 'logo'?: string; /** * The URL of the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'appUrl'?: string; /** * List of groups associated with the application. * @type {Array} * @memberof SlimDiscoveredApplications */ 'groups'?: Array; /** * The count of users associated with the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'usersCount'?: string; /** * The owners of the application. * @type {Array} * @memberof SlimDiscoveredApplications */ 'applicationOwner'?: Array; /** * The IT owners of the application. * @type {Array} * @memberof SlimDiscoveredApplications */ 'itApplicationOwner'?: Array; /** * The business criticality level of the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'businessCriticality'?: string; /** * The data classification level of the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'dataClassification'?: string; /** * The business unit associated with the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'businessUnit'?: string; /** * The installation type of the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'installType'?: string; /** * The environment in which the application operates. * @type {string} * @memberof SlimDiscoveredApplications */ 'environment'?: string; /** * The risk score of the application ranging from 0-100, 100 being highest risk. * @type {number} * @memberof SlimDiscoveredApplications */ 'riskScore'?: number; /** * Indicates whether the application is used for business purposes. * @type {boolean} * @memberof SlimDiscoveredApplications */ 'isBusiness'?: boolean; /** * The total number of sign-in accounts for the application. * @type {number} * @memberof SlimDiscoveredApplications */ 'totalSigninsCount'?: number; /** * The risk level of the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'riskLevel'?: SlimDiscoveredApplicationsRiskLevelEnum; /** * Indicates whether the application has privileged access. * @type {boolean} * @memberof SlimDiscoveredApplications */ 'isPrivileged'?: boolean; /** * The warranty expiration date of the application. * @type {string} * @memberof SlimDiscoveredApplications */ 'warrantyExpiration'?: string; /** * Additional attributes of the application useful for visibility of governance posture. * @type {object} * @memberof SlimDiscoveredApplications */ 'attributes'?: object; } export const SlimDiscoveredApplicationsRiskLevelEnum = { High: 'High', Medium: 'Medium', Low: 'Low' } as const; export type SlimDiscoveredApplicationsRiskLevelEnum = typeof SlimDiscoveredApplicationsRiskLevelEnum[keyof typeof SlimDiscoveredApplicationsRiskLevelEnum]; /** * * @export * @interface StartApplicationDiscoveryV1401Response */ export interface StartApplicationDiscoveryV1401Response { /** * A message describing the error * @type {any} * @memberof StartApplicationDiscoveryV1401Response */ 'error'?: any; } /** * @type StartApplicationDiscoveryV1403Response * @export */ export type StartApplicationDiscoveryV1403Response = ErrorResponseDto | StartApplicationDiscoveryV1403ResponseOneOf; /** * * @export * @interface StartApplicationDiscoveryV1403ResponseOneOf */ export interface StartApplicationDiscoveryV1403ResponseOneOf { /** * Error message when quota is exceeded * @type {string} * @memberof StartApplicationDiscoveryV1403ResponseOneOf */ 'error': string; } /** * * @export * @interface StartApplicationDiscoveryV1429Response */ export interface StartApplicationDiscoveryV1429Response { /** * A message describing the error * @type {any} * @memberof StartApplicationDiscoveryV1429Response */ 'message'?: any; } /** * Definition of a type of task, used to invoke tasks * @export * @interface TaskDefinitionSummary */ export interface TaskDefinitionSummary { /** * System-generated unique ID of the TaskDefinition * @type {string} * @memberof TaskDefinitionSummary */ 'id': string; /** * Name of the TaskDefinition * @type {string} * @memberof TaskDefinitionSummary */ 'uniqueName': string; /** * Description of the TaskDefinition * @type {string} * @memberof TaskDefinitionSummary */ 'description': string | null; /** * Name of the parent of the TaskDefinition * @type {string} * @memberof TaskDefinitionSummary */ 'parentName': string; /** * Executor of the TaskDefinition * @type {string} * @memberof TaskDefinitionSummary */ 'executor': string | null; /** * Formal parameters of the TaskDefinition, without values * @type {{ [key: string]: any; }} * @memberof TaskDefinitionSummary */ 'arguments': { [key: string]: any; }; } /** * Task return details * @export * @interface TaskReturnDetails */ export interface TaskReturnDetails { /** * Display name of the TaskReturnDetails * @type {string} * @memberof TaskReturnDetails */ 'name': string; /** * Attribute the TaskReturnDetails is for * @type {string} * @memberof TaskReturnDetails */ 'attributeName': string; } /** * TaskStatus Message * @export * @interface TaskStatusMessage */ export interface TaskStatusMessage { /** * Type of the message * @type {string} * @memberof TaskStatusMessage */ 'type': TaskStatusMessageTypeEnum; /** * * @type {LocalizedMessage} * @memberof TaskStatusMessage */ 'localizedText': LocalizedMessage | null; /** * Key of the message * @type {string} * @memberof TaskStatusMessage */ 'key': string; /** * Message parameters for internationalization * @type {Array} * @memberof TaskStatusMessage */ 'parameters': Array | null; } export const TaskStatusMessageTypeEnum = { Info: 'INFO', Warn: 'WARN', Error: 'ERROR' } as const; export type TaskStatusMessageTypeEnum = typeof TaskStatusMessageTypeEnum[keyof typeof TaskStatusMessageTypeEnum]; /** * * @export * @interface TaskStatusMessageParametersInner */ export interface TaskStatusMessageParametersInner { } /** * ApplicationDiscoveryApi - axios parameter creator * @export */ export const ApplicationDiscoveryApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Get a list of applications that have been identified within the environment. This includes details such as application names, discovery dates, potential correlated saas_vendors and related suggested connectors. * @summary Get discovered applications for tenant * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {GetDiscoveredApplicationsV1DetailEnum} [detail] Determines whether slim, or increased level of detail is provided for each discovered application in the returned list. SLIM is the default behavior. * @param {string} [filter] 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: **name**: *eq, sw, co* **description**: *eq, sw, co* **createdAtStart**: *eq, le, ge* **createdAtEnd**: *eq, le, ge* **discoveredAtStart**: *eq, le, ge* **discoveredAtEnd**: *eq, le, ge* **discoverySource**: *eq, in* **discoverySourceName**: *eq, in* **discoverySourceCategory**: *eq, in* * @param {string} [sorters] Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, description, discoveredAt, discoverySource, discoverySourceName, discoverySourceCategory** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getDiscoveredApplicationsV1: async (limit?: number, offset?: number, detail?: GetDiscoveredApplicationsV1DetailEnum, filter?: string, sorters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/discovered-applications/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (detail !== undefined) { localVarQueryParameter['detail'] = detail; } if (filter !== undefined) { localVarQueryParameter['filter'] = filter; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Download an example CSV file with two columns `application_name` and `description`. The CSV file contains a single row with the values \'Example Application\' and \'Example Description\'. The downloaded template is specifically designed for use with the `/manual-discover-applications` endpoint. * @summary Download csv template for discovery * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getManualDiscoverApplicationsCsvTemplateV1: async (axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/manual-discover-applications-template/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Uploading a CSV file with application data for manual correlation to specific ISC connectors. If a suitable ISC connector is unavailable, the system will recommend generic connectors instead. * @summary Upload csv to discover applications * @param {File} file The CSV file to upload containing `application_name` and `description` columns. Each row represents an application to be discovered. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ sendManualDiscoverApplicationsCsvTemplateV1: async (file: File, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'file' is not null or undefined assertParamExists('sendManualDiscoverApplicationsCsvTemplateV1', 'file', file) const localVarPath = `/manual-discover-applications/v1`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)(); if (file !== undefined) { localVarFormParams.append('file', file as any); } localVarHeaderParameter['Content-Type'] = 'multipart/form-data'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = localVarFormParams; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Use this API to discover applications. * @summary Start Application Discovery * @param {string} sourceId The sourceId. * @param {ApplicationDiscoveryRequest} applicationDiscoveryRequest * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ startApplicationDiscoveryV1: async (sourceId: string, applicationDiscoveryRequest: ApplicationDiscoveryRequest, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'sourceId' is not null or undefined assertParamExists('startApplicationDiscoveryV1', 'sourceId', sourceId) // verify required parameter 'applicationDiscoveryRequest' is not null or undefined assertParamExists('startApplicationDiscoveryV1', 'applicationDiscoveryRequest', applicationDiscoveryRequest) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/sources/v1/{sourceId}/discover-applications` .replace(`{${"sourceId"}}`, encodeURIComponent(String(sourceId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json'; if (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(applicationDiscoveryRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * ApplicationDiscoveryApi - functional programming interface * @export */ export const ApplicationDiscoveryApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = ApplicationDiscoveryApiAxiosParamCreator(configuration) return { /** * Get a list of applications that have been identified within the environment. This includes details such as application names, discovery dates, potential correlated saas_vendors and related suggested connectors. * @summary Get discovered applications for tenant * @param {number} [limit] Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {number} [offset] Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {GetDiscoveredApplicationsV1DetailEnum} [detail] Determines whether slim, or increased level of detail is provided for each discovered application in the returned list. SLIM is the default behavior. * @param {string} [filter] 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: **name**: *eq, sw, co* **description**: *eq, sw, co* **createdAtStart**: *eq, le, ge* **createdAtEnd**: *eq, le, ge* **discoveredAtStart**: *eq, le, ge* **discoveredAtEnd**: *eq, le, ge* **discoverySource**: *eq, in* **discoverySourceName**: *eq, in* **discoverySourceCategory**: *eq, in* * @param {string} [sorters] Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, description, discoveredAt, discoverySource, discoverySourceName, discoverySourceCategory** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getDiscoveredApplicationsV1(limit?: number, offset?: number, detail?: GetDiscoveredApplicationsV1DetailEnum, filter?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.getDiscoveredApplicationsV1(limit, offset, detail, filter, sorters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['ApplicationDiscoveryApi.getDiscoveredApplicationsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Download an example CSV file with two columns `application_name` and `description`. The CSV file contains a single row with the values \'Example Application\' and \'Example Description\'. The downloaded template is specifically designed for use with the `/manual-discover-applications` endpoint. * @summary Download csv template for discovery * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getManualDiscoverApplicationsCsvTemplateV1(axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getManualDiscoverApplicationsCsvTemplateV1(axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['ApplicationDiscoveryApi.getManualDiscoverApplicationsCsvTemplateV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Uploading a CSV file with application data for manual correlation to specific ISC connectors. If a suitable ISC connector is unavailable, the system will recommend generic connectors instead. * @summary Upload csv to discover applications * @param {File} file The CSV file to upload containing `application_name` and `description` columns. Each row represents an application to be discovered. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async sendManualDiscoverApplicationsCsvTemplateV1(file: File, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.sendManualDiscoverApplicationsCsvTemplateV1(file, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['ApplicationDiscoveryApi.sendManualDiscoverApplicationsCsvTemplateV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to discover applications. * @summary Start Application Discovery * @param {string} sourceId The sourceId. * @param {ApplicationDiscoveryRequest} applicationDiscoveryRequest * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async startApplicationDiscoveryV1(sourceId: string, applicationDiscoveryRequest: ApplicationDiscoveryRequest, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.startApplicationDiscoveryV1(sourceId, applicationDiscoveryRequest, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['ApplicationDiscoveryApi.startApplicationDiscoveryV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * ApplicationDiscoveryApi - factory interface * @export */ export const ApplicationDiscoveryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = ApplicationDiscoveryApiFp(configuration) return { /** * Get a list of applications that have been identified within the environment. This includes details such as application names, discovery dates, potential correlated saas_vendors and related suggested connectors. * @summary Get discovered applications for tenant * @param {ApplicationDiscoveryApiGetDiscoveredApplicationsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getDiscoveredApplicationsV1(requestParameters: ApplicationDiscoveryApiGetDiscoveredApplicationsV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.getDiscoveredApplicationsV1(requestParameters.limit, requestParameters.offset, requestParameters.detail, requestParameters.filter, requestParameters.sorters, axiosOptions).then((request) => request(axios, basePath)); }, /** * Download an example CSV file with two columns `application_name` and `description`. The CSV file contains a single row with the values \'Example Application\' and \'Example Description\'. The downloaded template is specifically designed for use with the `/manual-discover-applications` endpoint. * @summary Download csv template for discovery * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getManualDiscoverApplicationsCsvTemplateV1(axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getManualDiscoverApplicationsCsvTemplateV1(axiosOptions).then((request) => request(axios, basePath)); }, /** * Uploading a CSV file with application data for manual correlation to specific ISC connectors. If a suitable ISC connector is unavailable, the system will recommend generic connectors instead. * @summary Upload csv to discover applications * @param {ApplicationDiscoveryApiSendManualDiscoverApplicationsCsvTemplateV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ sendManualDiscoverApplicationsCsvTemplateV1(requestParameters: ApplicationDiscoveryApiSendManualDiscoverApplicationsCsvTemplateV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.sendManualDiscoverApplicationsCsvTemplateV1(requestParameters.file, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to discover applications. * @summary Start Application Discovery * @param {ApplicationDiscoveryApiStartApplicationDiscoveryV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ startApplicationDiscoveryV1(requestParameters: ApplicationDiscoveryApiStartApplicationDiscoveryV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.startApplicationDiscoveryV1(requestParameters.sourceId, requestParameters.applicationDiscoveryRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for getDiscoveredApplicationsV1 operation in ApplicationDiscoveryApi. * @export * @interface ApplicationDiscoveryApiGetDiscoveredApplicationsV1Request */ export interface ApplicationDiscoveryApiGetDiscoveredApplicationsV1Request { /** * Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof ApplicationDiscoveryApiGetDiscoveredApplicationsV1 */ readonly limit?: number /** * Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof ApplicationDiscoveryApiGetDiscoveredApplicationsV1 */ readonly offset?: number /** * Determines whether slim, or increased level of detail is provided for each discovered application in the returned list. SLIM is the default behavior. * @type {'SLIM' | 'FULL'} * @memberof ApplicationDiscoveryApiGetDiscoveredApplicationsV1 */ readonly detail?: GetDiscoveredApplicationsV1DetailEnum /** * 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: **name**: *eq, sw, co* **description**: *eq, sw, co* **createdAtStart**: *eq, le, ge* **createdAtEnd**: *eq, le, ge* **discoveredAtStart**: *eq, le, ge* **discoveredAtEnd**: *eq, le, ge* **discoverySource**: *eq, in* **discoverySourceName**: *eq, in* **discoverySourceCategory**: *eq, in* * @type {string} * @memberof ApplicationDiscoveryApiGetDiscoveredApplicationsV1 */ readonly filter?: string /** * Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, description, discoveredAt, discoverySource, discoverySourceName, discoverySourceCategory** * @type {string} * @memberof ApplicationDiscoveryApiGetDiscoveredApplicationsV1 */ readonly sorters?: string } /** * Request parameters for sendManualDiscoverApplicationsCsvTemplateV1 operation in ApplicationDiscoveryApi. * @export * @interface ApplicationDiscoveryApiSendManualDiscoverApplicationsCsvTemplateV1Request */ export interface ApplicationDiscoveryApiSendManualDiscoverApplicationsCsvTemplateV1Request { /** * The CSV file to upload containing `application_name` and `description` columns. Each row represents an application to be discovered. * @type {File} * @memberof ApplicationDiscoveryApiSendManualDiscoverApplicationsCsvTemplateV1 */ readonly file: File } /** * Request parameters for startApplicationDiscoveryV1 operation in ApplicationDiscoveryApi. * @export * @interface ApplicationDiscoveryApiStartApplicationDiscoveryV1Request */ export interface ApplicationDiscoveryApiStartApplicationDiscoveryV1Request { /** * The sourceId. * @type {string} * @memberof ApplicationDiscoveryApiStartApplicationDiscoveryV1 */ readonly sourceId: string /** * * @type {ApplicationDiscoveryRequest} * @memberof ApplicationDiscoveryApiStartApplicationDiscoveryV1 */ readonly applicationDiscoveryRequest: ApplicationDiscoveryRequest /** * Use this header to enable this experimental API. * @type {string} * @memberof ApplicationDiscoveryApiStartApplicationDiscoveryV1 */ readonly xSailPointExperimental?: string } /** * ApplicationDiscoveryApi - object-oriented interface * @export * @class ApplicationDiscoveryApi * @extends {BaseAPI} */ export class ApplicationDiscoveryApi extends BaseAPI { /** * Get a list of applications that have been identified within the environment. This includes details such as application names, discovery dates, potential correlated saas_vendors and related suggested connectors. * @summary Get discovered applications for tenant * @param {ApplicationDiscoveryApiGetDiscoveredApplicationsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof ApplicationDiscoveryApi */ public getDiscoveredApplicationsV1(requestParameters: ApplicationDiscoveryApiGetDiscoveredApplicationsV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return ApplicationDiscoveryApiFp(this.configuration).getDiscoveredApplicationsV1(requestParameters.limit, requestParameters.offset, requestParameters.detail, requestParameters.filter, requestParameters.sorters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Download an example CSV file with two columns `application_name` and `description`. The CSV file contains a single row with the values \'Example Application\' and \'Example Description\'. The downloaded template is specifically designed for use with the `/manual-discover-applications` endpoint. * @summary Download csv template for discovery * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof ApplicationDiscoveryApi */ public getManualDiscoverApplicationsCsvTemplateV1(axiosOptions?: RawAxiosRequestConfig) { return ApplicationDiscoveryApiFp(this.configuration).getManualDiscoverApplicationsCsvTemplateV1(axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Uploading a CSV file with application data for manual correlation to specific ISC connectors. If a suitable ISC connector is unavailable, the system will recommend generic connectors instead. * @summary Upload csv to discover applications * @param {ApplicationDiscoveryApiSendManualDiscoverApplicationsCsvTemplateV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof ApplicationDiscoveryApi */ public sendManualDiscoverApplicationsCsvTemplateV1(requestParameters: ApplicationDiscoveryApiSendManualDiscoverApplicationsCsvTemplateV1Request, axiosOptions?: RawAxiosRequestConfig) { return ApplicationDiscoveryApiFp(this.configuration).sendManualDiscoverApplicationsCsvTemplateV1(requestParameters.file, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to discover applications. * @summary Start Application Discovery * @param {ApplicationDiscoveryApiStartApplicationDiscoveryV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof ApplicationDiscoveryApi */ public startApplicationDiscoveryV1(requestParameters: ApplicationDiscoveryApiStartApplicationDiscoveryV1Request, axiosOptions?: RawAxiosRequestConfig) { return ApplicationDiscoveryApiFp(this.configuration).startApplicationDiscoveryV1(requestParameters.sourceId, requestParameters.applicationDiscoveryRequest, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } } /** * @export */ export const GetDiscoveredApplicationsV1DetailEnum = { Slim: 'SLIM', Full: 'FULL' } as const; export type GetDiscoveredApplicationsV1DetailEnum = typeof GetDiscoveredApplicationsV1DetailEnum[keyof typeof GetDiscoveredApplicationsV1DetailEnum];