/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Machine Account Subtypes * 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 ArrayInner */ export interface ArrayInner { } /** * * @export * @interface CreateSourceSubtypeV1Request */ export interface CreateSourceSubtypeV1Request { /** * ID of the source where subtype is created. * @type {string} * @memberof CreateSourceSubtypeV1Request */ 'sourceId': string; /** * Technical name of the subtype. * @type {string} * @memberof CreateSourceSubtypeV1Request */ 'technicalName': string; /** * Display name of the subtype. * @type {string} * @memberof CreateSourceSubtypeV1Request */ 'displayName': string; /** * Description of the subtype. * @type {string} * @memberof CreateSourceSubtypeV1Request */ 'description': string; /** * Type of the subtype. * @type {string} * @memberof CreateSourceSubtypeV1Request */ 'type'?: string; } /** * * @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; } /** * A JSONPatch Operation as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902) * @export * @interface JsonPatchOperation */ export interface JsonPatchOperation { /** * The operation to be performed * @type {string} * @memberof JsonPatchOperation */ 'op': JsonPatchOperationOpEnum; /** * A string JSON Pointer representing the target path to an element to be affected by the operation * @type {string} * @memberof JsonPatchOperation */ 'path': string; /** * * @type {JsonPatchOperationValue} * @memberof JsonPatchOperation */ 'value'?: JsonPatchOperationValue; } export const JsonPatchOperationOpEnum = { Add: 'add', Remove: 'remove', Replace: 'replace', Move: 'move', Copy: 'copy', Test: 'test' } as const; export type JsonPatchOperationOpEnum = typeof JsonPatchOperationOpEnum[keyof typeof JsonPatchOperationOpEnum]; /** * @type JsonPatchOperationValue * The value to be used for the operation, required for \"add\" and \"replace\" operations * @export */ export type JsonPatchOperationValue = Array | boolean | number | object | string; /** * * @export * @interface LoadBulkSourceSubtypesV1401Response */ export interface LoadBulkSourceSubtypesV1401Response { /** * A message describing the error * @type {any} * @memberof LoadBulkSourceSubtypesV1401Response */ 'error'?: any; } /** * * @export * @interface LoadBulkSourceSubtypesV1429Response */ export interface LoadBulkSourceSubtypesV1429Response { /** * A message describing the error * @type {any} * @memberof LoadBulkSourceSubtypesV1429Response */ '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]; /** * Contains comprehensive configuration details for machine account subtype approval, including creation and deletion approval requirements, approver lists, form and entitlement references, and approval status options. * @export * @interface MachineAccountSubtypeConfigDto */ export interface MachineAccountSubtypeConfigDto { /** * Unique identifier representing the specific subtype of the machine account, used to distinguish between different machine account categories. * @type {string} * @memberof MachineAccountSubtypeConfigDto */ 'subtypeId'?: string; /** * * @type {MachineAccountSubtypeConfigDtoMachineAccountCreate} * @memberof MachineAccountSubtypeConfigDto */ 'machineAccountCreate'?: MachineAccountSubtypeConfigDtoMachineAccountCreate; /** * * @type {MachineAccountSubtypeConfigDtoMachineAccountDelete} * @memberof MachineAccountSubtypeConfigDto */ 'machineAccountDelete'?: MachineAccountSubtypeConfigDtoMachineAccountDelete; } /** * Configuration options for machine account creation, including whether creation is enabled, if approval is required, associated form and entitlement IDs, and detailed approval settings such as approvers and allowed comment types. * @export * @interface MachineAccountSubtypeConfigDtoMachineAccountCreate */ export interface MachineAccountSubtypeConfigDtoMachineAccountCreate { /** * Specifies if the creation of machine accounts is allowed for this subtype. * @type {boolean} * @memberof MachineAccountSubtypeConfigDtoMachineAccountCreate */ 'accountCreateEnabled'?: boolean; /** * Specifies if approval is required for machine account creation requests for this subtype. * @type {boolean} * @memberof MachineAccountSubtypeConfigDtoMachineAccountCreate */ 'approvalRequired'?: boolean; /** * Id of the form linked to subtype. * @type {string} * @memberof MachineAccountSubtypeConfigDtoMachineAccountCreate */ 'formId'?: string; /** * Id of the system created entitlement entitlement upon enabling account creation for this subtype. * @type {string} * @memberof MachineAccountSubtypeConfigDtoMachineAccountCreate */ 'entitlementId'?: string; /** * This is required before enabling the account creation to true. Default value will be null. * @type {string} * @memberof MachineAccountSubtypeConfigDtoMachineAccountCreate */ 'passwordSetting'?: MachineAccountSubtypeConfigDtoMachineAccountCreatePasswordSettingEnum; /** * Name of the account attribute from the source\'s schema or new custom attribute to use when password settings is enabled. * @type {string} * @memberof MachineAccountSubtypeConfigDtoMachineAccountCreate */ 'passwordAttribute'?: string; /** * * @type {MachineSubtypeApprovalConfig} * @memberof MachineAccountSubtypeConfigDtoMachineAccountCreate */ 'approvalConfig'?: MachineSubtypeApprovalConfig; } export const MachineAccountSubtypeConfigDtoMachineAccountCreatePasswordSettingEnum = { DoNotSetPassword: 'DO_NOT_SET_PASSWORD', SetToExistingAttribute: 'SET_TO_EXISTING_ATTRIBUTE', SetToNewAttribute: 'SET_TO_NEW_ATTRIBUTE' } as const; export type MachineAccountSubtypeConfigDtoMachineAccountCreatePasswordSettingEnum = typeof MachineAccountSubtypeConfigDtoMachineAccountCreatePasswordSettingEnum[keyof typeof MachineAccountSubtypeConfigDtoMachineAccountCreatePasswordSettingEnum]; /** * Configuration options for machine account deletion, including whether approval is required, the list of authorized approvers, and the types of comments permitted during the approval workflow. * @export * @interface MachineAccountSubtypeConfigDtoMachineAccountDelete */ export interface MachineAccountSubtypeConfigDtoMachineAccountDelete { /** * Indicates whether approval is required for an account deletion request. * @type {boolean} * @memberof MachineAccountSubtypeConfigDtoMachineAccountDelete */ 'approvalRequired'?: boolean; /** * * @type {MachineSubtypeApprovalConfig} * @memberof MachineAccountSubtypeConfigDtoMachineAccountDelete */ 'approvalConfig'?: MachineSubtypeApprovalConfig; } /** * * @export * @interface MachineSubtypeApprovalConfig */ export interface MachineSubtypeApprovalConfig { /** * Comma separated string of approvers. Following are the options for approver types: manager, sourceOwner, accountOwner, workgroup:[workgroupId] (Governance group). Approval request will be assigned based on the order of the approvers passed. Multiple workgroups(governance groups) can be selected as an approver. >**Note:** accountOwner approver type is only for machine account delete approval settings. * @type {string} * @memberof MachineSubtypeApprovalConfig */ 'approvers'?: string; /** * Comment configurations for the approval request. Following are the options for comments: ALL, OFF, APPROVAL, REJECT. * @type {string} * @memberof MachineSubtypeApprovalConfig */ 'comments'?: string; } /** * * @export * @interface SourceSubtypeWithSource */ export interface SourceSubtypeWithSource { /** * Unique identifier for the subtype. * @type {string} * @memberof SourceSubtypeWithSource */ 'id'?: string; /** * The ID of the source. * @type {string} * @memberof SourceSubtypeWithSource */ 'sourceId'?: string; /** * Technical name of the subtype. * @type {string} * @memberof SourceSubtypeWithSource */ 'technicalName'?: string; /** * Display name of the subtype. * @type {string} * @memberof SourceSubtypeWithSource */ 'displayName'?: string; /** * Description of the subtype. * @type {string} * @memberof SourceSubtypeWithSource */ 'description'?: string; /** * Creation timestamp. * @type {string} * @memberof SourceSubtypeWithSource */ 'created'?: string; /** * Last modified timestamp. * @type {string} * @memberof SourceSubtypeWithSource */ 'modified'?: string; /** * Type of the subtype. Either MACHINE OR null. * @type {string} * @memberof SourceSubtypeWithSource */ 'type'?: string; /** * * @type {SourceSubtypeWithSourceSource} * @memberof SourceSubtypeWithSource */ 'source'?: SourceSubtypeWithSourceSource; /** * Indicates if the subtype is managed by the system. * @type {boolean} * @memberof SourceSubtypeWithSource */ 'systemManaged'?: boolean; } /** * Source reference of the subtype. * @export * @interface SourceSubtypeWithSourceSource */ export interface SourceSubtypeWithSourceSource { /** * Type of the reference object. * @type {string} * @memberof SourceSubtypeWithSourceSource */ 'type'?: SourceSubtypeWithSourceSourceTypeEnum; /** * Unique identifier for the source. * @type {string} * @memberof SourceSubtypeWithSourceSource */ 'id'?: string; /** * Name of the source. * @type {string} * @memberof SourceSubtypeWithSourceSource */ 'name'?: string; } export const SourceSubtypeWithSourceSourceTypeEnum = { Source: 'SOURCE' } as const; export type SourceSubtypeWithSourceSourceTypeEnum = typeof SourceSubtypeWithSourceSourceTypeEnum[keyof typeof SourceSubtypeWithSourceSourceTypeEnum]; /** * MachineAccountSubtypesApi - axios parameter creator * @export */ export const MachineAccountSubtypesApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Create a new machine account subtype. * @summary Create subtype * @param {CreateSourceSubtypeV1Request} createSourceSubtypeV1Request * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createSourceSubtypeV1: async (createSourceSubtypeV1Request: CreateSourceSubtypeV1Request, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'createSourceSubtypeV1Request' is not null or undefined assertParamExists('createSourceSubtypeV1', 'createSourceSubtypeV1Request', createSourceSubtypeV1Request) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/source-subtypes/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'; 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(createSourceSubtypeV1Request, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Delete a machine account subtype by subtype ID. Note: If subtype has approval settings or entitlement for machine account creation enablement then it\'ll be also deleted. * @summary Delete subtype by ID * @param {string} subtypeId The ID of the subtype. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteMachineAccountSubtypeV1: async (subtypeId: string, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'subtypeId' is not null or undefined assertParamExists('deleteMachineAccountSubtypeV1', 'subtypeId', subtypeId) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/source-subtypes/v1/{subtypeId}` .replace(`{${"subtypeId"}}`, encodeURIComponent(String(subtypeId))); // 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; 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}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint retrieves the approval configuration for machine account creation and deletion at the machine subtype level. By providing a specific subtypeId in the path, clients can fetch the approval rules and settings (such as required approvers and comments policy) that govern account creation and deletion for that particular machine subtype. The response includes a MachineAccountSubtypeConfigDto object detailing these configurations, enabling clients to understand or display the approval workflow required for creating and deleting machine accounts of the given subtype. Use this endpoint to get machine subtype level approval config for account creation and deletion. * @summary Machine Subtype Approval Config * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {string} subtypeId machine subtype id. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getMachineAccountSubtypeApprovalConfigV1: async (xSailPointExperimental: string, subtypeId: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } // verify required parameter 'xSailPointExperimental' is not null or undefined assertParamExists('getMachineAccountSubtypeApprovalConfigV1', 'xSailPointExperimental', xSailPointExperimental) // verify required parameter 'subtypeId' is not null or undefined assertParamExists('getMachineAccountSubtypeApprovalConfigV1', 'subtypeId', subtypeId) const localVarPath = `/source-subtypes/v1/{subtypeId}/machine-config` .replace(`{${"subtypeId"}}`, encodeURIComponent(String(subtypeId))); // 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 (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Get a machine account subtype by subtype ID. * @summary Get subtype by ID * @param {string} subtypeId The ID of the subtype. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getSourceSubtypeByIdV1: async (subtypeId: string, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'subtypeId' is not null or undefined assertParamExists('getSourceSubtypeByIdV1', 'subtypeId', subtypeId) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/source-subtypes/v1/{subtypeId}` .replace(`{${"subtypeId"}}`, encodeURIComponent(String(subtypeId))); // 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 (xSailPointExperimental != null) { localVarHeaderParameter['X-SailPoint-Experimental'] = String(xSailPointExperimental); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Get all machine account subtypes. * @summary Retrieve all subtypes * @param {string} [filters] 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: **id**: *eq, in, sw* **displayName**: *eq, sw* **technicalName**: *eq, sw* **source.id**: *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: **displayName, technicalName** * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @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 {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 {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listSourceSubtypesV1: async (filters?: string, sorters?: string, xSailPointExperimental?: string, count?: boolean, limit?: number, offset?: number, axiosOptions: RawAxiosRequestConfig = {}): Promise => { if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/source-subtypes/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 (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } 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}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint retrieves the subtypes for given subtypeIds. * @summary Bulk Retrieve of Source Subtypes * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {Array} requestBody * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ loadBulkSourceSubtypesV1: async (xSailPointExperimental: string, requestBody: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } // verify required parameter 'xSailPointExperimental' is not null or undefined assertParamExists('loadBulkSourceSubtypesV1', 'xSailPointExperimental', xSailPointExperimental) // verify required parameter 'requestBody' is not null or undefined assertParamExists('loadBulkSourceSubtypesV1', 'requestBody', requestBody) const localVarPath = `/source-subtypes/v1/bulk-retrieve`; // 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(requestBody, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Update fields of a machine account subtype by subtype ID. Patchable fields only include: `displayName`, `description`. * @summary Patch subtype by ID * @param {string} subtypeId The ID of the subtype. * @param {Array} requestBody A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchMachineAccountSubtypeV1: async (subtypeId: string, requestBody: Array, xSailPointExperimental?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'subtypeId' is not null or undefined assertParamExists('patchMachineAccountSubtypeV1', 'subtypeId', subtypeId) // verify required parameter 'requestBody' is not null or undefined assertParamExists('patchMachineAccountSubtypeV1', 'requestBody', requestBody) if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } const localVarPath = `/source-subtypes/v1/{subtypeId}` .replace(`{${"subtypeId"}}`, encodeURIComponent(String(subtypeId))); // 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: 'PATCH', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+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(requestBody, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * Updates the approval configuration for machine account deletion at the specified machine subtype level. This endpoint allows clients to modify approval rules and settings (such as required approvers and comments policy) for account creation and deletion workflows associated with a given subtypeId. Use this to customize or enforce approval requirements for creating and deleting machine accounts of a particular subtype. * @summary Machine Subtype Approval Config * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {string} subtypeId machine account subtype ID. * @param {Array} jsonPatchOperation The JSONPatch payload used to update the object. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateMachineAccountSubtypeApprovalConfigV1: async (xSailPointExperimental: string, subtypeId: string, jsonPatchOperation: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { if (xSailPointExperimental === undefined) { xSailPointExperimental = 'true'; } // verify required parameter 'xSailPointExperimental' is not null or undefined assertParamExists('updateMachineAccountSubtypeApprovalConfigV1', 'xSailPointExperimental', xSailPointExperimental) // verify required parameter 'subtypeId' is not null or undefined assertParamExists('updateMachineAccountSubtypeApprovalConfigV1', 'subtypeId', subtypeId) // verify required parameter 'jsonPatchOperation' is not null or undefined assertParamExists('updateMachineAccountSubtypeApprovalConfigV1', 'jsonPatchOperation', jsonPatchOperation) const localVarPath = `/source-subtypes/v1/{subtypeId}/machine-config` .replace(`{${"subtypeId"}}`, encodeURIComponent(String(subtypeId))); // 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: 'PATCH', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; localVarHeaderParameter['Content-Type'] = 'application/json-patch+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(jsonPatchOperation, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, } }; /** * MachineAccountSubtypesApi - functional programming interface * @export */ export const MachineAccountSubtypesApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = MachineAccountSubtypesApiAxiosParamCreator(configuration) return { /** * Create a new machine account subtype. * @summary Create subtype * @param {CreateSourceSubtypeV1Request} createSourceSubtypeV1Request * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async createSourceSubtypeV1(createSourceSubtypeV1Request: CreateSourceSubtypeV1Request, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createSourceSubtypeV1(createSourceSubtypeV1Request, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.createSourceSubtypeV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Delete a machine account subtype by subtype ID. Note: If subtype has approval settings or entitlement for machine account creation enablement then it\'ll be also deleted. * @summary Delete subtype by ID * @param {string} subtypeId The ID of the subtype. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteMachineAccountSubtypeV1(subtypeId: string, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteMachineAccountSubtypeV1(subtypeId, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.deleteMachineAccountSubtypeV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint retrieves the approval configuration for machine account creation and deletion at the machine subtype level. By providing a specific subtypeId in the path, clients can fetch the approval rules and settings (such as required approvers and comments policy) that govern account creation and deletion for that particular machine subtype. The response includes a MachineAccountSubtypeConfigDto object detailing these configurations, enabling clients to understand or display the approval workflow required for creating and deleting machine accounts of the given subtype. Use this endpoint to get machine subtype level approval config for account creation and deletion. * @summary Machine Subtype Approval Config * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {string} subtypeId machine subtype id. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getMachineAccountSubtypeApprovalConfigV1(xSailPointExperimental: string, subtypeId: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getMachineAccountSubtypeApprovalConfigV1(xSailPointExperimental, subtypeId, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.getMachineAccountSubtypeApprovalConfigV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Get a machine account subtype by subtype ID. * @summary Get subtype by ID * @param {string} subtypeId The ID of the subtype. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getSourceSubtypeByIdV1(subtypeId: string, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getSourceSubtypeByIdV1(subtypeId, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.getSourceSubtypeByIdV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Get all machine account subtypes. * @summary Retrieve all subtypes * @param {string} [filters] 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: **id**: *eq, in, sw* **displayName**: *eq, sw* **technicalName**: *eq, sw* **source.id**: *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: **displayName, technicalName** * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @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 {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 {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listSourceSubtypesV1(filters?: string, sorters?: string, xSailPointExperimental?: string, count?: boolean, limit?: number, offset?: number, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listSourceSubtypesV1(filters, sorters, xSailPointExperimental, count, limit, offset, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.listSourceSubtypesV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint retrieves the subtypes for given subtypeIds. * @summary Bulk Retrieve of Source Subtypes * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {Array} requestBody * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async loadBulkSourceSubtypesV1(xSailPointExperimental: string, requestBody: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.loadBulkSourceSubtypesV1(xSailPointExperimental, requestBody, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.loadBulkSourceSubtypesV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Update fields of a machine account subtype by subtype ID. Patchable fields only include: `displayName`, `description`. * @summary Patch subtype by ID * @param {string} subtypeId The ID of the subtype. * @param {Array} requestBody A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. * @param {string} [xSailPointExperimental] Use this header to enable this experimental API. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async patchMachineAccountSubtypeV1(subtypeId: string, requestBody: Array, xSailPointExperimental?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.patchMachineAccountSubtypeV1(subtypeId, requestBody, xSailPointExperimental, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.patchMachineAccountSubtypeV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Updates the approval configuration for machine account deletion at the specified machine subtype level. This endpoint allows clients to modify approval rules and settings (such as required approvers and comments policy) for account creation and deletion workflows associated with a given subtypeId. Use this to customize or enforce approval requirements for creating and deleting machine accounts of a particular subtype. * @summary Machine Subtype Approval Config * @param {string} xSailPointExperimental Use this header to enable this experimental API. * @param {string} subtypeId machine account subtype ID. * @param {Array} jsonPatchOperation The JSONPatch payload used to update the object. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async updateMachineAccountSubtypeApprovalConfigV1(xSailPointExperimental: string, subtypeId: string, jsonPatchOperation: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateMachineAccountSubtypeApprovalConfigV1(xSailPointExperimental, subtypeId, jsonPatchOperation, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['MachineAccountSubtypesApi.updateMachineAccountSubtypeApprovalConfigV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * MachineAccountSubtypesApi - factory interface * @export */ export const MachineAccountSubtypesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = MachineAccountSubtypesApiFp(configuration) return { /** * Create a new machine account subtype. * @summary Create subtype * @param {MachineAccountSubtypesApiCreateSourceSubtypeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createSourceSubtypeV1(requestParameters: MachineAccountSubtypesApiCreateSourceSubtypeV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createSourceSubtypeV1(requestParameters.createSourceSubtypeV1Request, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * Delete a machine account subtype by subtype ID. Note: If subtype has approval settings or entitlement for machine account creation enablement then it\'ll be also deleted. * @summary Delete subtype by ID * @param {MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteMachineAccountSubtypeV1(requestParameters: MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteMachineAccountSubtypeV1(requestParameters.subtypeId, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint retrieves the approval configuration for machine account creation and deletion at the machine subtype level. By providing a specific subtypeId in the path, clients can fetch the approval rules and settings (such as required approvers and comments policy) that govern account creation and deletion for that particular machine subtype. The response includes a MachineAccountSubtypeConfigDto object detailing these configurations, enabling clients to understand or display the approval workflow required for creating and deleting machine accounts of the given subtype. Use this endpoint to get machine subtype level approval config for account creation and deletion. * @summary Machine Subtype Approval Config * @param {MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getMachineAccountSubtypeApprovalConfigV1(requestParameters: MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getMachineAccountSubtypeApprovalConfigV1(requestParameters.xSailPointExperimental, requestParameters.subtypeId, axiosOptions).then((request) => request(axios, basePath)); }, /** * Get a machine account subtype by subtype ID. * @summary Get subtype by ID * @param {MachineAccountSubtypesApiGetSourceSubtypeByIdV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getSourceSubtypeByIdV1(requestParameters: MachineAccountSubtypesApiGetSourceSubtypeByIdV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getSourceSubtypeByIdV1(requestParameters.subtypeId, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * Get all machine account subtypes. * @summary Retrieve all subtypes * @param {MachineAccountSubtypesApiListSourceSubtypesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listSourceSubtypesV1(requestParameters: MachineAccountSubtypesApiListSourceSubtypesV1Request = {}, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listSourceSubtypesV1(requestParameters.filters, requestParameters.sorters, requestParameters.xSailPointExperimental, requestParameters.count, requestParameters.limit, requestParameters.offset, axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint retrieves the subtypes for given subtypeIds. * @summary Bulk Retrieve of Source Subtypes * @param {MachineAccountSubtypesApiLoadBulkSourceSubtypesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ loadBulkSourceSubtypesV1(requestParameters: MachineAccountSubtypesApiLoadBulkSourceSubtypesV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.loadBulkSourceSubtypesV1(requestParameters.xSailPointExperimental, requestParameters.requestBody, axiosOptions).then((request) => request(axios, basePath)); }, /** * Update fields of a machine account subtype by subtype ID. Patchable fields only include: `displayName`, `description`. * @summary Patch subtype by ID * @param {MachineAccountSubtypesApiPatchMachineAccountSubtypeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchMachineAccountSubtypeV1(requestParameters: MachineAccountSubtypesApiPatchMachineAccountSubtypeV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.patchMachineAccountSubtypeV1(requestParameters.subtypeId, requestParameters.requestBody, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(axios, basePath)); }, /** * Updates the approval configuration for machine account deletion at the specified machine subtype level. This endpoint allows clients to modify approval rules and settings (such as required approvers and comments policy) for account creation and deletion workflows associated with a given subtypeId. Use this to customize or enforce approval requirements for creating and deleting machine accounts of a particular subtype. * @summary Machine Subtype Approval Config * @param {MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ updateMachineAccountSubtypeApprovalConfigV1(requestParameters: MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateMachineAccountSubtypeApprovalConfigV1(requestParameters.xSailPointExperimental, requestParameters.subtypeId, requestParameters.jsonPatchOperation, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for createSourceSubtypeV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiCreateSourceSubtypeV1Request */ export interface MachineAccountSubtypesApiCreateSourceSubtypeV1Request { /** * * @type {CreateSourceSubtypeV1Request} * @memberof MachineAccountSubtypesApiCreateSourceSubtypeV1 */ readonly createSourceSubtypeV1Request: CreateSourceSubtypeV1Request /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiCreateSourceSubtypeV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for deleteMachineAccountSubtypeV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1Request */ export interface MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1Request { /** * The ID of the subtype. * @type {string} * @memberof MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1 */ readonly subtypeId: string /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for getMachineAccountSubtypeApprovalConfigV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1Request */ export interface MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1Request { /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1 */ readonly xSailPointExperimental: string /** * machine subtype id. * @type {string} * @memberof MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1 */ readonly subtypeId: string } /** * Request parameters for getSourceSubtypeByIdV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiGetSourceSubtypeByIdV1Request */ export interface MachineAccountSubtypesApiGetSourceSubtypeByIdV1Request { /** * The ID of the subtype. * @type {string} * @memberof MachineAccountSubtypesApiGetSourceSubtypeByIdV1 */ readonly subtypeId: string /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiGetSourceSubtypeByIdV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for listSourceSubtypesV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiListSourceSubtypesV1Request */ export interface MachineAccountSubtypesApiListSourceSubtypesV1Request { /** * 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: **id**: *eq, in, sw* **displayName**: *eq, sw* **technicalName**: *eq, sw* **source.id**: *eq, in* * @type {string} * @memberof MachineAccountSubtypesApiListSourceSubtypesV1 */ readonly filters?: 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: **displayName, technicalName** * @type {string} * @memberof MachineAccountSubtypesApiListSourceSubtypesV1 */ readonly sorters?: string /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiListSourceSubtypesV1 */ readonly xSailPointExperimental?: string /** * 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 MachineAccountSubtypesApiListSourceSubtypesV1 */ readonly count?: boolean /** * 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 MachineAccountSubtypesApiListSourceSubtypesV1 */ 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 MachineAccountSubtypesApiListSourceSubtypesV1 */ readonly offset?: number } /** * Request parameters for loadBulkSourceSubtypesV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiLoadBulkSourceSubtypesV1Request */ export interface MachineAccountSubtypesApiLoadBulkSourceSubtypesV1Request { /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiLoadBulkSourceSubtypesV1 */ readonly xSailPointExperimental: string /** * * @type {Array} * @memberof MachineAccountSubtypesApiLoadBulkSourceSubtypesV1 */ readonly requestBody: Array } /** * Request parameters for patchMachineAccountSubtypeV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiPatchMachineAccountSubtypeV1Request */ export interface MachineAccountSubtypesApiPatchMachineAccountSubtypeV1Request { /** * The ID of the subtype. * @type {string} * @memberof MachineAccountSubtypesApiPatchMachineAccountSubtypeV1 */ readonly subtypeId: string /** * A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. * @type {Array} * @memberof MachineAccountSubtypesApiPatchMachineAccountSubtypeV1 */ readonly requestBody: Array /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiPatchMachineAccountSubtypeV1 */ readonly xSailPointExperimental?: string } /** * Request parameters for updateMachineAccountSubtypeApprovalConfigV1 operation in MachineAccountSubtypesApi. * @export * @interface MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1Request */ export interface MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1Request { /** * Use this header to enable this experimental API. * @type {string} * @memberof MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1 */ readonly xSailPointExperimental: string /** * machine account subtype ID. * @type {string} * @memberof MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1 */ readonly subtypeId: string /** * The JSONPatch payload used to update the object. * @type {Array} * @memberof MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1 */ readonly jsonPatchOperation: Array } /** * MachineAccountSubtypesApi - object-oriented interface * @export * @class MachineAccountSubtypesApi * @extends {BaseAPI} */ export class MachineAccountSubtypesApi extends BaseAPI { /** * Create a new machine account subtype. * @summary Create subtype * @param {MachineAccountSubtypesApiCreateSourceSubtypeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public createSourceSubtypeV1(requestParameters: MachineAccountSubtypesApiCreateSourceSubtypeV1Request, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).createSourceSubtypeV1(requestParameters.createSourceSubtypeV1Request, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Delete a machine account subtype by subtype ID. Note: If subtype has approval settings or entitlement for machine account creation enablement then it\'ll be also deleted. * @summary Delete subtype by ID * @param {MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public deleteMachineAccountSubtypeV1(requestParameters: MachineAccountSubtypesApiDeleteMachineAccountSubtypeV1Request, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).deleteMachineAccountSubtypeV1(requestParameters.subtypeId, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint retrieves the approval configuration for machine account creation and deletion at the machine subtype level. By providing a specific subtypeId in the path, clients can fetch the approval rules and settings (such as required approvers and comments policy) that govern account creation and deletion for that particular machine subtype. The response includes a MachineAccountSubtypeConfigDto object detailing these configurations, enabling clients to understand or display the approval workflow required for creating and deleting machine accounts of the given subtype. Use this endpoint to get machine subtype level approval config for account creation and deletion. * @summary Machine Subtype Approval Config * @param {MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public getMachineAccountSubtypeApprovalConfigV1(requestParameters: MachineAccountSubtypesApiGetMachineAccountSubtypeApprovalConfigV1Request, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).getMachineAccountSubtypeApprovalConfigV1(requestParameters.xSailPointExperimental, requestParameters.subtypeId, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Get a machine account subtype by subtype ID. * @summary Get subtype by ID * @param {MachineAccountSubtypesApiGetSourceSubtypeByIdV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public getSourceSubtypeByIdV1(requestParameters: MachineAccountSubtypesApiGetSourceSubtypeByIdV1Request, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).getSourceSubtypeByIdV1(requestParameters.subtypeId, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Get all machine account subtypes. * @summary Retrieve all subtypes * @param {MachineAccountSubtypesApiListSourceSubtypesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public listSourceSubtypesV1(requestParameters: MachineAccountSubtypesApiListSourceSubtypesV1Request = {}, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).listSourceSubtypesV1(requestParameters.filters, requestParameters.sorters, requestParameters.xSailPointExperimental, requestParameters.count, requestParameters.limit, requestParameters.offset, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint retrieves the subtypes for given subtypeIds. * @summary Bulk Retrieve of Source Subtypes * @param {MachineAccountSubtypesApiLoadBulkSourceSubtypesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public loadBulkSourceSubtypesV1(requestParameters: MachineAccountSubtypesApiLoadBulkSourceSubtypesV1Request, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).loadBulkSourceSubtypesV1(requestParameters.xSailPointExperimental, requestParameters.requestBody, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Update fields of a machine account subtype by subtype ID. Patchable fields only include: `displayName`, `description`. * @summary Patch subtype by ID * @param {MachineAccountSubtypesApiPatchMachineAccountSubtypeV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public patchMachineAccountSubtypeV1(requestParameters: MachineAccountSubtypesApiPatchMachineAccountSubtypeV1Request, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).patchMachineAccountSubtypeV1(requestParameters.subtypeId, requestParameters.requestBody, requestParameters.xSailPointExperimental, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * Updates the approval configuration for machine account deletion at the specified machine subtype level. This endpoint allows clients to modify approval rules and settings (such as required approvers and comments policy) for account creation and deletion workflows associated with a given subtypeId. Use this to customize or enforce approval requirements for creating and deleting machine accounts of a particular subtype. * @summary Machine Subtype Approval Config * @param {MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof MachineAccountSubtypesApi */ public updateMachineAccountSubtypeApprovalConfigV1(requestParameters: MachineAccountSubtypesApiUpdateMachineAccountSubtypeApprovalConfigV1Request, axiosOptions?: RawAxiosRequestConfig) { return MachineAccountSubtypesApiFp(this.configuration).updateMachineAccountSubtypeApprovalConfigV1(requestParameters.xSailPointExperimental, requestParameters.subtypeId, requestParameters.jsonPatchOperation, axiosOptions).then((request) => request(this.axios, this.basePath)); } }