/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Account Aggregations * 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 AccountAggregationStatus */ export interface AccountAggregationStatus { /** * When the aggregation started. * @type {string} * @memberof AccountAggregationStatus */ 'start'?: string | null; /** * STARTED - Aggregation started, but source account iteration has not completed. ACCOUNTS_COLLECTED - Source account iteration completed, but all accounts have not yet been processed. COMPLETED - Aggregation completed (*possibly with errors*). CANCELLED - Aggregation cancelled by user. RETRIED - Aggregation retried because of connectivity issues with the Virtual Appliance. TERMINATED - Aggregation marked as failed after 3 tries after connectivity issues with the Virtual Appliance. * @type {string} * @memberof AccountAggregationStatus */ 'status'?: AccountAggregationStatusStatusEnum; /** * The total number of *NEW, CHANGED and DELETED* accounts that need to be processed for this aggregation. This does not include accounts that were unchanged since the previous aggregation. This can be zero if there were no new, changed or deleted accounts since the previous aggregation. *Only available when status is ACCOUNTS_COLLECTED or COMPLETED.* * @type {number} * @memberof AccountAggregationStatus */ 'totalAccounts'?: number; /** * The number of *NEW, CHANGED and DELETED* accounts that have been processed so far. This reflects the number of accounts that have been processed at the time of the API call, and may increase on subsequent API calls while the status is ACCOUNTS_COLLECTED. *Only available when status is ACCOUNTS_COLLECTED or COMPLETED.* * @type {number} * @memberof AccountAggregationStatus */ 'processedAccounts'?: number; /** * The total number of accounts that have been marked for deletion during the aggregation. *Only available when status is ACCOUNTS_COLLECTED or COMPLETED.* * @type {number} * @memberof AccountAggregationStatus */ 'totalAccountsMarkedForDeletion'?: number; /** * The number of accounts that have been deleted during the aggregation. *Only available when status is ACCOUNTS_COLLECTED or COMPLETED.* * @type {number} * @memberof AccountAggregationStatus */ 'deletedAccounts'?: number; /** * The total number of unique identities that have been marked for refresh. *Only available when status is ACCOUNTS_COLLECTED or COMPLETED.* * @type {number} * @memberof AccountAggregationStatus */ 'totalIdentities'?: number; /** * The number of unique identities that have been refreshed at the time of the API call, and may increase on subsequent API calls while the status is ACCOUNTS_COLLECTED. *Only available when status is ACCOUNTS_COLLECTED or COMPLETED.* * @type {number} * @memberof AccountAggregationStatus */ 'processedIdentities'?: number; } export const AccountAggregationStatusStatusEnum = { Started: 'STARTED', AccountsCollected: 'ACCOUNTS_COLLECTED', Completed: 'COMPLETED', Cancelled: 'CANCELLED', Retried: 'RETRIED', Terminated: 'TERMINATED', NotFound: 'NOT_FOUND' } as const; export type AccountAggregationStatusStatusEnum = typeof AccountAggregationStatusStatusEnum[keyof typeof AccountAggregationStatusStatusEnum]; /** * * @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; } /** * * @export * @interface GetAccountAggregationStatusV1400Response */ export interface GetAccountAggregationStatusV1400Response { /** * A message describing the error * @type {any} * @memberof GetAccountAggregationStatusV1400Response */ 'error'?: any; } /** * * @export * @interface GetAccountAggregationStatusV1429Response */ export interface GetAccountAggregationStatusV1429Response { /** * A message describing the error * @type {any} * @memberof GetAccountAggregationStatusV1429Response */ 'message'?: any; } /** * 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]; /** * AccountAggregationsApi - axios parameter creator * @export */ export const AccountAggregationsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * This API returns the status of an *in-progress* account aggregation, along with the total number of **NEW**, **CHANGED** and **DELETED** accounts found since the previous aggregation, and the number of those accounts that have been processed so far. Accounts that have not changed since the previous aggregation are not included in **totalAccounts** and **processedAccounts** counts returned by this API. This is distinct from **Accounts Scanned** shown in the Aggregation UI, which indicates total accounts scanned regardless of whether they changed or not. Since this endpoint reports on the status of an *in-progress* account aggregation, totalAccounts and processedAccounts may change between calls to this endpoint. *Only available up to an hour after the aggregation completes. May respond with *404 Not Found* after that.* required to call this API. * @summary In-progress account aggregation status * @param {string} id The account aggregation id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountAggregationStatusV1: async (id: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('getAccountAggregationStatusV1', 'id', id) const localVarPath = `/account-aggregations/v1/{id}/status` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // 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, }; }, } }; /** * AccountAggregationsApi - functional programming interface * @export */ export const AccountAggregationsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AccountAggregationsApiAxiosParamCreator(configuration) return { /** * This API returns the status of an *in-progress* account aggregation, along with the total number of **NEW**, **CHANGED** and **DELETED** accounts found since the previous aggregation, and the number of those accounts that have been processed so far. Accounts that have not changed since the previous aggregation are not included in **totalAccounts** and **processedAccounts** counts returned by this API. This is distinct from **Accounts Scanned** shown in the Aggregation UI, which indicates total accounts scanned regardless of whether they changed or not. Since this endpoint reports on the status of an *in-progress* account aggregation, totalAccounts and processedAccounts may change between calls to this endpoint. *Only available up to an hour after the aggregation completes. May respond with *404 Not Found* after that.* required to call this API. * @summary In-progress account aggregation status * @param {string} id The account aggregation id * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getAccountAggregationStatusV1(id: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountAggregationStatusV1(id, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccountAggregationsApi.getAccountAggregationStatusV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * AccountAggregationsApi - factory interface * @export */ export const AccountAggregationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = AccountAggregationsApiFp(configuration) return { /** * This API returns the status of an *in-progress* account aggregation, along with the total number of **NEW**, **CHANGED** and **DELETED** accounts found since the previous aggregation, and the number of those accounts that have been processed so far. Accounts that have not changed since the previous aggregation are not included in **totalAccounts** and **processedAccounts** counts returned by this API. This is distinct from **Accounts Scanned** shown in the Aggregation UI, which indicates total accounts scanned regardless of whether they changed or not. Since this endpoint reports on the status of an *in-progress* account aggregation, totalAccounts and processedAccounts may change between calls to this endpoint. *Only available up to an hour after the aggregation completes. May respond with *404 Not Found* after that.* required to call this API. * @summary In-progress account aggregation status * @param {AccountAggregationsApiGetAccountAggregationStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccountAggregationStatusV1(requestParameters: AccountAggregationsApiGetAccountAggregationStatusV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getAccountAggregationStatusV1(requestParameters.id, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for getAccountAggregationStatusV1 operation in AccountAggregationsApi. * @export * @interface AccountAggregationsApiGetAccountAggregationStatusV1Request */ export interface AccountAggregationsApiGetAccountAggregationStatusV1Request { /** * The account aggregation id * @type {string} * @memberof AccountAggregationsApiGetAccountAggregationStatusV1 */ readonly id: string } /** * AccountAggregationsApi - object-oriented interface * @export * @class AccountAggregationsApi * @extends {BaseAPI} */ export class AccountAggregationsApi extends BaseAPI { /** * This API returns the status of an *in-progress* account aggregation, along with the total number of **NEW**, **CHANGED** and **DELETED** accounts found since the previous aggregation, and the number of those accounts that have been processed so far. Accounts that have not changed since the previous aggregation are not included in **totalAccounts** and **processedAccounts** counts returned by this API. This is distinct from **Accounts Scanned** shown in the Aggregation UI, which indicates total accounts scanned regardless of whether they changed or not. Since this endpoint reports on the status of an *in-progress* account aggregation, totalAccounts and processedAccounts may change between calls to this endpoint. *Only available up to an hour after the aggregation completes. May respond with *404 Not Found* after that.* required to call this API. * @summary In-progress account aggregation status * @param {AccountAggregationsApiGetAccountAggregationStatusV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccountAggregationsApi */ public getAccountAggregationStatusV1(requestParameters: AccountAggregationsApiGetAccountAggregationStatusV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccountAggregationsApiFp(this.configuration).getAccountAggregationStatusV1(requestParameters.id, axiosOptions).then((request) => request(this.axios, this.basePath)); } }