/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Identity Attributes * 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 IdentityAttribute2 */ export interface IdentityAttribute2 { /** * Identity attribute\'s technical name. * @type {string} * @memberof IdentityAttribute2 */ 'name': string; /** * Identity attribute\'s business-friendly name. * @type {string} * @memberof IdentityAttribute2 */ 'displayName'?: string; /** * Indicates whether the attribute is \'standard\' or \'default\'. * @type {boolean} * @memberof IdentityAttribute2 */ 'standard'?: boolean; /** * Identity attribute\'s type. * @type {string} * @memberof IdentityAttribute2 */ 'type'?: string | null; /** * Indicates whether the identity attribute is multi-valued. * @type {boolean} * @memberof IdentityAttribute2 */ 'multi'?: boolean; /** * Indicates whether the identity attribute is searchable. * @type {boolean} * @memberof IdentityAttribute2 */ 'searchable'?: boolean; /** * Indicates whether the identity attribute is \'system\', meaning that it doesn\'t have a source and isn\'t configurable. * @type {boolean} * @memberof IdentityAttribute2 */ 'system'?: boolean; /** * Identity attribute\'s list of sources - this specifies how the rule\'s value is derived. * @type {Array} * @memberof IdentityAttribute2 */ 'sources'?: Array; } /** * Identity attribute IDs. * @export * @interface IdentityAttributeNames */ export interface IdentityAttributeNames { /** * List of identity attributes\' technical names. * @type {Array} * @memberof IdentityAttributeNames */ 'ids'?: Array; } /** * * @export * @interface ListIdentityAttributesV1401Response */ export interface ListIdentityAttributesV1401Response { /** * A message describing the error * @type {any} * @memberof ListIdentityAttributesV1401Response */ 'error'?: any; } /** * * @export * @interface ListIdentityAttributesV1429Response */ export interface ListIdentityAttributesV1429Response { /** * A message describing the error * @type {any} * @memberof ListIdentityAttributesV1429Response */ '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]; /** * * @export * @interface Source2 */ export interface Source2 { /** * Attribute mapping type. * @type {string} * @memberof Source2 */ 'type'?: string; /** * Attribute mapping properties. * @type {object} * @memberof Source2 */ 'properties'?: object; } /** * IdentityAttributesApi - axios parameter creator * @export */ export const IdentityAttributesApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Use this API to create a new identity attribute. * @summary Create identity attribute * @param {IdentityAttribute2} identityAttribute2 * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createIdentityAttributeV1: async (identityAttribute2: IdentityAttribute2, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'identityAttribute2' is not null or undefined assertParamExists('createIdentityAttributeV1', 'identityAttribute2', identityAttribute2) const localVarPath = `/identity-attributes/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; localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(identityAttribute2, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This deletes an identity attribute with the given name. The `system` and `standard` properties must be set to false before you can delete an identity attribute. * @summary Delete identity attribute * @param {string} name The attribute\'s technical name. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteIdentityAttributeV1: async (name: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'name' is not null or undefined assertParamExists('deleteIdentityAttributeV1', 'name', name) const localVarPath = `/identity-attributes/v1/{name}` .replace(`{${"name"}}`, encodeURIComponent(String(name))); // 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: 'DELETE', ...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, }; }, /** * Use this API to bulk delete identity attributes for a given set of names. Attributes that are currently mapped in an identity profile cannot be deleted. The `system` and `standard` properties must be set to \'false\' before you can delete an identity attribute. * @summary Bulk delete identity attributes * @param {IdentityAttributeNames} identityAttributeNames * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteIdentityAttributesInBulkV1: async (identityAttributeNames: IdentityAttributeNames, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'identityAttributeNames' is not null or undefined assertParamExists('deleteIdentityAttributesInBulkV1', 'identityAttributeNames', identityAttributeNames) const localVarPath = `/identity-attributes/v1/bulk-delete`; // 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: 'DELETE', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(identityAttributeNames, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This gets an identity attribute for a given technical name. * @summary Get identity attribute * @param {string} name The attribute\'s technical name. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getIdentityAttributeV1: async (name: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'name' is not null or undefined assertParamExists('getIdentityAttributeV1', 'name', name) const localVarPath = `/identity-attributes/v1/{name}` .replace(`{${"name"}}`, encodeURIComponent(String(name))); // 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, }; }, /** * Use this API to get a collection of identity attributes. * @summary List identity attributes * @param {boolean} [includeSystem] Include \'system\' attributes in the response. * @param {boolean} [includeSilent] Include \'silent\' attributes in the response. * @param {boolean} [searchableOnly] Include only \'searchable\' attributes in the response. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listIdentityAttributesV1: async (includeSystem?: boolean, includeSilent?: boolean, searchableOnly?: boolean, count?: boolean, axiosOptions: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/identity-attributes/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 (includeSystem !== undefined) { localVarQueryParameter['includeSystem'] = includeSystem; } if (includeSilent !== undefined) { localVarQueryParameter['includeSilent'] = includeSilent; } if (searchableOnly !== undefined) { localVarQueryParameter['searchableOnly'] = searchableOnly; } if (count !== undefined) { localVarQueryParameter['count'] = count; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This updates an existing identity attribute. Making an attribute searchable requires that the `system`, `standard`, and `multi` properties be set to false. * @summary Update identity attribute * @param {string} name The attribute\'s technical name. * @param {IdentityAttribute2} identityAttribute2 * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ putIdentityAttributeV1: async (name: string, identityAttribute2: IdentityAttribute2, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'name' is not null or undefined assertParamExists('putIdentityAttributeV1', 'name', name) // verify required parameter 'identityAttribute2' is not null or undefined assertParamExists('putIdentityAttributeV1', 'identityAttribute2', identityAttribute2) const localVarPath = `/identity-attributes/v1/{name}` .replace(`{${"name"}}`, encodeURIComponent(String(name))); // 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: 'PUT', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; localVarRequestOptions.data = serializeDataIfNeeded(identityAttribute2, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * IdentityAttributesApi - functional programming interface * @export */ export const IdentityAttributesApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = IdentityAttributesApiAxiosParamCreator(configuration) return { /** * Use this API to create a new identity attribute. * @summary Create identity attribute * @param {IdentityAttribute2} identityAttribute2 * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async createIdentityAttributeV1(identityAttribute2: IdentityAttribute2, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createIdentityAttributeV1(identityAttribute2, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['IdentityAttributesApi.createIdentityAttributeV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This deletes an identity attribute with the given name. The `system` and `standard` properties must be set to false before you can delete an identity attribute. * @summary Delete identity attribute * @param {string} name The attribute\'s technical name. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteIdentityAttributeV1(name: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteIdentityAttributeV1(name, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['IdentityAttributesApi.deleteIdentityAttributeV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to bulk delete identity attributes for a given set of names. Attributes that are currently mapped in an identity profile cannot be deleted. The `system` and `standard` properties must be set to \'false\' before you can delete an identity attribute. * @summary Bulk delete identity attributes * @param {IdentityAttributeNames} identityAttributeNames * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteIdentityAttributesInBulkV1(identityAttributeNames: IdentityAttributeNames, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteIdentityAttributesInBulkV1(identityAttributeNames, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['IdentityAttributesApi.deleteIdentityAttributesInBulkV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This gets an identity attribute for a given technical name. * @summary Get identity attribute * @param {string} name The attribute\'s technical name. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getIdentityAttributeV1(name: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getIdentityAttributeV1(name, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['IdentityAttributesApi.getIdentityAttributeV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Use this API to get a collection of identity attributes. * @summary List identity attributes * @param {boolean} [includeSystem] Include \'system\' attributes in the response. * @param {boolean} [includeSilent] Include \'silent\' attributes in the response. * @param {boolean} [searchableOnly] Include only \'searchable\' attributes in the response. * @param {boolean} [count] If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listIdentityAttributesV1(includeSystem?: boolean, includeSilent?: boolean, searchableOnly?: boolean, count?: boolean, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listIdentityAttributesV1(includeSystem, includeSilent, searchableOnly, count, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['IdentityAttributesApi.listIdentityAttributesV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This updates an existing identity attribute. Making an attribute searchable requires that the `system`, `standard`, and `multi` properties be set to false. * @summary Update identity attribute * @param {string} name The attribute\'s technical name. * @param {IdentityAttribute2} identityAttribute2 * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async putIdentityAttributeV1(name: string, identityAttribute2: IdentityAttribute2, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.putIdentityAttributeV1(name, identityAttribute2, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['IdentityAttributesApi.putIdentityAttributeV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * IdentityAttributesApi - factory interface * @export */ export const IdentityAttributesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = IdentityAttributesApiFp(configuration) return { /** * Use this API to create a new identity attribute. * @summary Create identity attribute * @param {IdentityAttributesApiCreateIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createIdentityAttributeV1(requestParameters: IdentityAttributesApiCreateIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createIdentityAttributeV1(requestParameters.identityAttribute2, axiosOptions).then((request) => request(axios, basePath)); }, /** * This deletes an identity attribute with the given name. The `system` and `standard` properties must be set to false before you can delete an identity attribute. * @summary Delete identity attribute * @param {IdentityAttributesApiDeleteIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteIdentityAttributeV1(requestParameters: IdentityAttributesApiDeleteIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteIdentityAttributeV1(requestParameters.name, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to bulk delete identity attributes for a given set of names. Attributes that are currently mapped in an identity profile cannot be deleted. The `system` and `standard` properties must be set to \'false\' before you can delete an identity attribute. * @summary Bulk delete identity attributes * @param {IdentityAttributesApiDeleteIdentityAttributesInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteIdentityAttributesInBulkV1(requestParameters: IdentityAttributesApiDeleteIdentityAttributesInBulkV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteIdentityAttributesInBulkV1(requestParameters.identityAttributeNames, axiosOptions).then((request) => request(axios, basePath)); }, /** * This gets an identity attribute for a given technical name. * @summary Get identity attribute * @param {IdentityAttributesApiGetIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getIdentityAttributeV1(requestParameters: IdentityAttributesApiGetIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getIdentityAttributeV1(requestParameters.name, axiosOptions).then((request) => request(axios, basePath)); }, /** * Use this API to get a collection of identity attributes. * @summary List identity attributes * @param {IdentityAttributesApiListIdentityAttributesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listIdentityAttributesV1(requestParameters: IdentityAttributesApiListIdentityAttributesV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listIdentityAttributesV1(requestParameters.includeSystem, requestParameters.includeSilent, requestParameters.searchableOnly, requestParameters.count, axiosOptions).then((request) => request(axios, basePath)); }, /** * This updates an existing identity attribute. Making an attribute searchable requires that the `system`, `standard`, and `multi` properties be set to false. * @summary Update identity attribute * @param {IdentityAttributesApiPutIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ putIdentityAttributeV1(requestParameters: IdentityAttributesApiPutIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.putIdentityAttributeV1(requestParameters.name, requestParameters.identityAttribute2, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for createIdentityAttributeV1 operation in IdentityAttributesApi. * @export * @interface IdentityAttributesApiCreateIdentityAttributeV1Request */ export interface IdentityAttributesApiCreateIdentityAttributeV1Request { /** * * @type {IdentityAttribute2} * @memberof IdentityAttributesApiCreateIdentityAttributeV1 */ readonly identityAttribute2: IdentityAttribute2 } /** * Request parameters for deleteIdentityAttributeV1 operation in IdentityAttributesApi. * @export * @interface IdentityAttributesApiDeleteIdentityAttributeV1Request */ export interface IdentityAttributesApiDeleteIdentityAttributeV1Request { /** * The attribute\'s technical name. * @type {string} * @memberof IdentityAttributesApiDeleteIdentityAttributeV1 */ readonly name: string } /** * Request parameters for deleteIdentityAttributesInBulkV1 operation in IdentityAttributesApi. * @export * @interface IdentityAttributesApiDeleteIdentityAttributesInBulkV1Request */ export interface IdentityAttributesApiDeleteIdentityAttributesInBulkV1Request { /** * * @type {IdentityAttributeNames} * @memberof IdentityAttributesApiDeleteIdentityAttributesInBulkV1 */ readonly identityAttributeNames: IdentityAttributeNames } /** * Request parameters for getIdentityAttributeV1 operation in IdentityAttributesApi. * @export * @interface IdentityAttributesApiGetIdentityAttributeV1Request */ export interface IdentityAttributesApiGetIdentityAttributeV1Request { /** * The attribute\'s technical name. * @type {string} * @memberof IdentityAttributesApiGetIdentityAttributeV1 */ readonly name: string } /** * Request parameters for listIdentityAttributesV1 operation in IdentityAttributesApi. * @export * @interface IdentityAttributesApiListIdentityAttributesV1Request */ export interface IdentityAttributesApiListIdentityAttributesV1Request { /** * Include \'system\' attributes in the response. * @type {boolean} * @memberof IdentityAttributesApiListIdentityAttributesV1 */ readonly includeSystem?: boolean /** * Include \'silent\' attributes in the response. * @type {boolean} * @memberof IdentityAttributesApiListIdentityAttributesV1 */ readonly includeSilent?: boolean /** * Include only \'searchable\' attributes in the response. * @type {boolean} * @memberof IdentityAttributesApiListIdentityAttributesV1 */ readonly searchableOnly?: boolean /** * If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {boolean} * @memberof IdentityAttributesApiListIdentityAttributesV1 */ readonly count?: boolean } /** * Request parameters for putIdentityAttributeV1 operation in IdentityAttributesApi. * @export * @interface IdentityAttributesApiPutIdentityAttributeV1Request */ export interface IdentityAttributesApiPutIdentityAttributeV1Request { /** * The attribute\'s technical name. * @type {string} * @memberof IdentityAttributesApiPutIdentityAttributeV1 */ readonly name: string /** * * @type {IdentityAttribute2} * @memberof IdentityAttributesApiPutIdentityAttributeV1 */ readonly identityAttribute2: IdentityAttribute2 } /** * IdentityAttributesApi - object-oriented interface * @export * @class IdentityAttributesApi * @extends {BaseAPI} */ export class IdentityAttributesApi extends BaseAPI { /** * Use this API to create a new identity attribute. * @summary Create identity attribute * @param {IdentityAttributesApiCreateIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof IdentityAttributesApi */ public createIdentityAttributeV1(requestParameters: IdentityAttributesApiCreateIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig) { return IdentityAttributesApiFp(this.configuration).createIdentityAttributeV1(requestParameters.identityAttribute2, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This deletes an identity attribute with the given name. The `system` and `standard` properties must be set to false before you can delete an identity attribute. * @summary Delete identity attribute * @param {IdentityAttributesApiDeleteIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof IdentityAttributesApi */ public deleteIdentityAttributeV1(requestParameters: IdentityAttributesApiDeleteIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig) { return IdentityAttributesApiFp(this.configuration).deleteIdentityAttributeV1(requestParameters.name, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to bulk delete identity attributes for a given set of names. Attributes that are currently mapped in an identity profile cannot be deleted. The `system` and `standard` properties must be set to \'false\' before you can delete an identity attribute. * @summary Bulk delete identity attributes * @param {IdentityAttributesApiDeleteIdentityAttributesInBulkV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof IdentityAttributesApi */ public deleteIdentityAttributesInBulkV1(requestParameters: IdentityAttributesApiDeleteIdentityAttributesInBulkV1Request, axiosOptions?: RawAxiosRequestConfig) { return IdentityAttributesApiFp(this.configuration).deleteIdentityAttributesInBulkV1(requestParameters.identityAttributeNames, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This gets an identity attribute for a given technical name. * @summary Get identity attribute * @param {IdentityAttributesApiGetIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof IdentityAttributesApi */ public getIdentityAttributeV1(requestParameters: IdentityAttributesApiGetIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig) { return IdentityAttributesApiFp(this.configuration).getIdentityAttributeV1(requestParameters.name, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Use this API to get a collection of identity attributes. * @summary List identity attributes * @param {IdentityAttributesApiListIdentityAttributesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof IdentityAttributesApi */ public listIdentityAttributesV1(requestParameters: IdentityAttributesApiListIdentityAttributesV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return IdentityAttributesApiFp(this.configuration).listIdentityAttributesV1(requestParameters.includeSystem, requestParameters.includeSilent, requestParameters.searchableOnly, requestParameters.count, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This updates an existing identity attribute. Making an attribute searchable requires that the `system`, `standard`, and `multi` properties be set to false. * @summary Update identity attribute * @param {IdentityAttributesApiPutIdentityAttributeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof IdentityAttributesApi */ public putIdentityAttributeV1(requestParameters: IdentityAttributesApiPutIdentityAttributeV1Request, axiosOptions?: RawAxiosRequestConfig) { return IdentityAttributesApiFp(this.configuration).putIdentityAttributeV1(requestParameters.name, requestParameters.identityAttribute2, axiosOptions).then((request) => request(this.axios, this.basePath)); } }