/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Access Request Identity Metrics * 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 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 GetAccessRequestIdentityMetricsV1401Response */ export interface GetAccessRequestIdentityMetricsV1401Response { /** * A message describing the error * @type {any} * @memberof GetAccessRequestIdentityMetricsV1401Response */ 'error'?: any; } /** * * @export * @interface GetAccessRequestIdentityMetricsV1429Response */ export interface GetAccessRequestIdentityMetricsV1429Response { /** * A message describing the error * @type {any} * @memberof GetAccessRequestIdentityMetricsV1429Response */ '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]; /** * AccessRequestIdentityMetricsApi - axios parameter creator * @export */ export const AccessRequestIdentityMetricsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Use this API to return information access metrics. * @summary Return access request identity metrics * @param {string} identityId Manager\'s identity ID. * @param {string} requestedObjectId Requested access item\'s ID. * @param {GetAccessRequestIdentityMetricsV1TypeEnum} type Requested access item\'s type. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessRequestIdentityMetricsV1: async (identityId: string, requestedObjectId: string, type: GetAccessRequestIdentityMetricsV1TypeEnum, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'identityId' is not null or undefined assertParamExists('getAccessRequestIdentityMetricsV1', 'identityId', identityId) // verify required parameter 'requestedObjectId' is not null or undefined assertParamExists('getAccessRequestIdentityMetricsV1', 'requestedObjectId', requestedObjectId) // verify required parameter 'type' is not null or undefined assertParamExists('getAccessRequestIdentityMetricsV1', 'type', type) const localVarPath = `/access-request-identity-metrics/v1/{identityId}/requested-objects/{requestedObjectId}/type/{type}` .replace(`{${"identityId"}}`, encodeURIComponent(String(identityId))) .replace(`{${"requestedObjectId"}}`, encodeURIComponent(String(requestedObjectId))) .replace(`{${"type"}}`, encodeURIComponent(String(type))); // 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, }; }, } }; /** * AccessRequestIdentityMetricsApi - functional programming interface * @export */ export const AccessRequestIdentityMetricsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AccessRequestIdentityMetricsApiAxiosParamCreator(configuration) return { /** * Use this API to return information access metrics. * @summary Return access request identity metrics * @param {string} identityId Manager\'s identity ID. * @param {string} requestedObjectId Requested access item\'s ID. * @param {GetAccessRequestIdentityMetricsV1TypeEnum} type Requested access item\'s type. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getAccessRequestIdentityMetricsV1(identityId: string, requestedObjectId: string, type: GetAccessRequestIdentityMetricsV1TypeEnum, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccessRequestIdentityMetricsV1(identityId, requestedObjectId, type, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['AccessRequestIdentityMetricsApi.getAccessRequestIdentityMetricsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * AccessRequestIdentityMetricsApi - factory interface * @export */ export const AccessRequestIdentityMetricsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = AccessRequestIdentityMetricsApiFp(configuration) return { /** * Use this API to return information access metrics. * @summary Return access request identity metrics * @param {AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getAccessRequestIdentityMetricsV1(requestParameters: AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getAccessRequestIdentityMetricsV1(requestParameters.identityId, requestParameters.requestedObjectId, requestParameters.type, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for getAccessRequestIdentityMetricsV1 operation in AccessRequestIdentityMetricsApi. * @export * @interface AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1Request */ export interface AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1Request { /** * Manager\'s identity ID. * @type {string} * @memberof AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1 */ readonly identityId: string /** * Requested access item\'s ID. * @type {string} * @memberof AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1 */ readonly requestedObjectId: string /** * Requested access item\'s type. * @type {'ENTITLEMENT' | 'ROLE' | 'ACCESS_PROFILE'} * @memberof AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1 */ readonly type: GetAccessRequestIdentityMetricsV1TypeEnum } /** * AccessRequestIdentityMetricsApi - object-oriented interface * @export * @class AccessRequestIdentityMetricsApi * @extends {BaseAPI} */ export class AccessRequestIdentityMetricsApi extends BaseAPI { /** * Use this API to return information access metrics. * @summary Return access request identity metrics * @param {AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof AccessRequestIdentityMetricsApi */ public getAccessRequestIdentityMetricsV1(requestParameters: AccessRequestIdentityMetricsApiGetAccessRequestIdentityMetricsV1Request, axiosOptions?: RawAxiosRequestConfig) { return AccessRequestIdentityMetricsApiFp(this.configuration).getAccessRequestIdentityMetricsV1(requestParameters.identityId, requestParameters.requestedObjectId, requestParameters.type, axiosOptions).then((request) => request(this.axios, this.basePath)); } } /** * @export */ export const GetAccessRequestIdentityMetricsV1TypeEnum = { Entitlement: 'ENTITLEMENT', Role: 'ROLE', AccessProfile: 'ACCESS_PROFILE' } as const; export type GetAccessRequestIdentityMetricsV1TypeEnum = typeof GetAccessRequestIdentityMetricsV1TypeEnum[keyof typeof GetAccessRequestIdentityMetricsV1TypeEnum];