/* tslint:disable */ /* eslint-disable */ /** * Identity Security Cloud API - Dimensions * 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 AccessDuration */ export interface AccessDuration { /** * The numeric value representing the amount of time, which is defined in the **timeUnit**. * @type {number} * @memberof AccessDuration */ 'value'?: number; /** * The unit of time that corresponds to the **value**. It defines the scale of the time period. * @type {string} * @memberof AccessDuration */ 'timeUnit'?: AccessDurationTimeUnitEnum; } export const AccessDurationTimeUnitEnum = { Hours: 'HOURS', Days: 'DAYS', Weeks: 'WEEKS', Months: 'MONTHS' } as const; export type AccessDurationTimeUnitEnum = typeof AccessDurationTimeUnitEnum[keyof typeof AccessDurationTimeUnitEnum]; /** * Metadata that describes an access item * @export * @interface AccessModelMetadata */ export interface AccessModelMetadata { /** * Unique identifier for the metadata type * @type {string} * @memberof AccessModelMetadata */ 'key'?: string; /** * Human readable name of the metadata type * @type {string} * @memberof AccessModelMetadata */ 'name'?: string; /** * Allows selecting multiple values * @type {boolean} * @memberof AccessModelMetadata */ 'multiselect'?: boolean; /** * The state of the metadata item * @type {string} * @memberof AccessModelMetadata */ 'status'?: string; /** * The type of the metadata item * @type {string} * @memberof AccessModelMetadata */ 'type'?: string; /** * The types of objects * @type {Array} * @memberof AccessModelMetadata */ 'objectTypes'?: Array; /** * Describes the metadata item * @type {string} * @memberof AccessModelMetadata */ 'description'?: string; /** * The value to assign to the metadata item * @type {Array} * @memberof AccessModelMetadata */ 'values'?: Array; } /** * An individual value to assign to the metadata item * @export * @interface AccessModelMetadataValuesInner */ export interface AccessModelMetadataValuesInner { /** * The value to assign to the metdata item * @type {string} * @memberof AccessModelMetadataValuesInner */ 'value'?: string; /** * Display name of the value * @type {string} * @memberof AccessModelMetadataValuesInner */ 'name'?: string; /** * The status of the individual value * @type {string} * @memberof AccessModelMetadataValuesInner */ 'status'?: string; } /** * Access profile. * @export * @interface AccessProfile */ export interface AccessProfile { /** * Access profile ID. * @type {string} * @memberof AccessProfile */ 'id'?: string; /** * Access profile name. * @type {string} * @memberof AccessProfile */ 'name': string; /** * Access profile description. * @type {string} * @memberof AccessProfile */ 'description'?: string | null; /** * Date and time when the access profile was created. * @type {string} * @memberof AccessProfile */ 'created'?: string; /** * Date and time when the access profile was last modified. * @type {string} * @memberof AccessProfile */ 'modified'?: string; /** * Indicates whether the access profile is enabled. If it\'s enabled, you must include at least one entitlement. * @type {boolean} * @memberof AccessProfile */ 'enabled'?: boolean; /** * * @type {OwnerReference} * @memberof AccessProfile */ 'owner': OwnerReference | null; /** * * @type {AccessProfileSourceRef} * @memberof AccessProfile */ 'source': AccessProfileSourceRef; /** * List of entitlements associated with the access profile. If `enabled` is false, this can be empty. Otherwise, it must contain at least one entitlement. * @type {Array} * @memberof AccessProfile */ 'entitlements'?: Array | null; /** * Indicates whether the access profile is requestable by access request. Currently, making an access profile non-requestable is only supported for customers enabled with the new Request Center. Otherwise, attempting to create an access profile with a value **false** in this field results in a 400 error. * @type {boolean} * @memberof AccessProfile */ 'requestable'?: boolean; /** * * @type {Requestability} * @memberof AccessProfile */ 'accessRequestConfig'?: Requestability | null; /** * * @type {Revocability} * @memberof AccessProfile */ 'revocationRequestConfig'?: Revocability | null; /** * List of segment IDs, if any, that the access profile is assigned to. * @type {Array} * @memberof AccessProfile */ 'segments'?: Array | null; /** * * @type {AttributeDTOList} * @memberof AccessProfile */ 'accessModelMetadata'?: AttributeDTOList; /** * * @type {ProvisioningCriteriaLevel1} * @memberof AccessProfile */ 'provisioningCriteria'?: ProvisioningCriteriaLevel1 | null; /** * List of additional owner references beyond the primary owner. Each entry may be an identity (IDENTITY) or a governance group (GOVERNANCE_GROUP). * @type {Array} * @memberof AccessProfile */ 'additionalOwners'?: Array | null; } /** * * @export * @interface AccessProfileApprovalScheme */ export interface AccessProfileApprovalScheme { /** * Describes the individual or group that is responsible for an approval step. These are the possible values: **APP_OWNER**: The owner of the Application **OWNER**: Owner of the associated Access Profile or Role **SOURCE_OWNER**: Owner of the Source associated with an Access Profile **MANAGER**: Manager of the Identity making the request **GOVERNANCE_GROUP**: A Governance Group, the ID of which is specified by the **approverId** field **WORKFLOW**: A Workflow, the ID of which is specified by the **approverId** field. Workflow is exclusive to other types of approvals and License required. **ALL_OWNERS**: All owners of the Access Profile, including the primary owner and any secondary owners **ADDITIONAL_OWNER**: An additional owner of the Access Profile, the ID of which is specified by the **approverId** field **ADDITIONAL_GOVERNANCE_GROUP**: An additional Governance Group, the ID of which is specified by the **approverId** field * @type {string} * @memberof AccessProfileApprovalScheme */ 'approverType'?: AccessProfileApprovalSchemeApproverTypeEnum; /** * Id of the specific approver, used when approverType is GOVERNANCE_GROUP, WORKFLOW, or ADDITIONAL_GOVERNANCE_GROUP. * @type {string} * @memberof AccessProfileApprovalScheme */ 'approverId'?: string | null; } export const AccessProfileApprovalSchemeApproverTypeEnum = { AppOwner: 'APP_OWNER', Owner: 'OWNER', SourceOwner: 'SOURCE_OWNER', Manager: 'MANAGER', GovernanceGroup: 'GOVERNANCE_GROUP', Workflow: 'WORKFLOW', AllOwners: 'ALL_OWNERS', AdditionalOwner: 'ADDITIONAL_OWNER', AdditionalGovernanceGroup: 'ADDITIONAL_GOVERNANCE_GROUP' } as const; export type AccessProfileApprovalSchemeApproverTypeEnum = typeof AccessProfileApprovalSchemeApproverTypeEnum[keyof typeof AccessProfileApprovalSchemeApproverTypeEnum]; /** * * @export * @interface AccessProfileRef */ export interface AccessProfileRef { /** * ID of the Access Profile * @type {string} * @memberof AccessProfileRef */ 'id'?: string; /** * Type of requested object. This field must be either left null or set to \'ACCESS_PROFILE\' when creating an Access Profile, otherwise a 400 Bad Request error will result. * @type {string} * @memberof AccessProfileRef */ 'type'?: AccessProfileRefTypeEnum; /** * Human-readable display name of the Access Profile. This field is ignored on input. * @type {string} * @memberof AccessProfileRef */ 'name'?: string; } export const AccessProfileRefTypeEnum = { AccessProfile: 'ACCESS_PROFILE' } as const; export type AccessProfileRefTypeEnum = typeof AccessProfileRefTypeEnum[keyof typeof AccessProfileRefTypeEnum]; /** * * @export * @interface AccessProfileSourceRef */ export interface AccessProfileSourceRef { /** * ID of the source the access profile is associated with. * @type {string} * @memberof AccessProfileSourceRef */ 'id'?: string; /** * Source\'s DTO type. * @type {string} * @memberof AccessProfileSourceRef */ 'type'?: AccessProfileSourceRefTypeEnum; /** * Source name. * @type {string} * @memberof AccessProfileSourceRef */ 'name'?: string; } export const AccessProfileSourceRefTypeEnum = { Source: 'SOURCE' } as const; export type AccessProfileSourceRefTypeEnum = typeof AccessProfileSourceRefTypeEnum[keyof typeof AccessProfileSourceRefTypeEnum]; /** * Reference to an additional owner (identity or governance group). * @export * @interface AdditionalOwnerRef */ export interface AdditionalOwnerRef { /** * Type of the additional owner; IDENTITY for an identity, GOVERNANCE_GROUP for a governance group. * @type {string} * @memberof AdditionalOwnerRef */ 'type'?: AdditionalOwnerRefTypeEnum; /** * ID of the identity or governance group. * @type {string} * @memberof AdditionalOwnerRef */ 'id'?: string; /** * Display name. It may be left null or omitted on input. If set, it must match the current display name of the identity or governance group, otherwise a 400 Bad Request error may result. * @type {string} * @memberof AdditionalOwnerRef */ 'name'?: string | null; } export const AdditionalOwnerRefTypeEnum = { Identity: 'IDENTITY', GovernanceGroup: 'GOVERNANCE_GROUP' } as const; export type AdditionalOwnerRefTypeEnum = typeof AdditionalOwnerRefTypeEnum[keyof typeof AdditionalOwnerRefTypeEnum]; /** * * @export * @interface ArrayInner */ export interface ArrayInner { } /** * * @export * @interface AttributeDTO */ export interface AttributeDTO { /** * Technical name of the Attribute. This is unique and cannot be changed after creation. * @type {string} * @memberof AttributeDTO */ 'key'?: string; /** * The display name of the key. * @type {string} * @memberof AttributeDTO */ 'name'?: string; /** * Indicates whether the attribute can have multiple values. * @type {boolean} * @memberof AttributeDTO */ 'multiselect'?: boolean; /** * The status of the Attribute. * @type {string} * @memberof AttributeDTO */ 'status'?: string; /** * The type of the Attribute. This can be either \"custom\" or \"governance\". * @type {string} * @memberof AttributeDTO */ 'type'?: string; /** * An array of object types this attributes values can be applied to. Possible values are \"all\" or \"entitlement\". Value \"all\" means this attribute can be used with all object types that are supported. * @type {Array} * @memberof AttributeDTO */ 'objectTypes'?: Array | null; /** * The description of the Attribute. * @type {string} * @memberof AttributeDTO */ 'description'?: string; /** * * @type {Array} * @memberof AttributeDTO */ 'values'?: Array | null; } /** * * @export * @interface AttributeDTOList */ export interface AttributeDTOList { /** * * @type {Array} * @memberof AttributeDTOList */ 'attributes'?: Array | null; } /** * * @export * @interface AttributeValueDTO */ export interface AttributeValueDTO { /** * Technical name of the Attribute value. This is unique and cannot be changed after creation. * @type {string} * @memberof AttributeValueDTO */ 'value'?: string; /** * The display name of the Attribute value. * @type {string} * @memberof AttributeValueDTO */ 'name'?: string; /** * The status of the Attribute value. * @type {string} * @memberof AttributeValueDTO */ 'status'?: string; } /** * A Dimension * @export * @interface Dimension */ export interface Dimension { /** * The id of the Dimension. This field must be left null when creating a dimension, otherwise a 400 Bad Request error will result. * @type {string} * @memberof Dimension */ 'id'?: string; /** * The human-readable display name of the Dimension * @type {string} * @memberof Dimension */ 'name': string; /** * Date the Dimension was created * @type {string} * @memberof Dimension */ 'created'?: string; /** * Date the Dimension was last modified. * @type {string} * @memberof Dimension */ 'modified'?: string; /** * A human-readable description of the Dimension * @type {string} * @memberof Dimension */ 'description'?: string | null; /** * * @type {OwnerReference} * @memberof Dimension */ 'owner': OwnerReference | null; /** * * @type {Array} * @memberof Dimension */ 'accessProfiles'?: Array | null; /** * * @type {Array} * @memberof Dimension */ 'entitlements'?: Array; /** * * @type {DimensionMembershipSelector} * @memberof Dimension */ 'membership'?: DimensionMembershipSelector | null; /** * The ID of the parent role. This field can be left null when creating a dimension, but if provided, it must match the role ID specified in the path variable of the API call. * @type {string} * @memberof Dimension */ 'parentId'?: string | null; } /** * * @export * @interface DimensionBulkDeleteRequest */ export interface DimensionBulkDeleteRequest { /** * List of IDs of Dimensions to be deleted. * @type {Array} * @memberof DimensionBulkDeleteRequest */ 'dimensionIds': Array; } /** * Refers to a specific Identity attribute used in Dimension membership criteria. * @export * @interface DimensionCriteriaKey */ export interface DimensionCriteriaKey { /** * * @type {DimensionCriteriaKeyType} * @memberof DimensionCriteriaKey */ 'type': DimensionCriteriaKeyType; /** * The name of the identity attribute to which the associated criteria applies. * @type {string} * @memberof DimensionCriteriaKey */ 'property': string; } /** * Indicates whether the associated criteria represents an expression on identity attributes. * @export * @enum {string} */ export const DimensionCriteriaKeyType = { Identity: 'IDENTITY' } as const; export type DimensionCriteriaKeyType = typeof DimensionCriteriaKeyType[keyof typeof DimensionCriteriaKeyType]; /** * Defines STANDARD type Dimension membership * @export * @interface DimensionCriteriaLevel1 */ export interface DimensionCriteriaLevel1 { /** * * @type {DimensionCriteriaOperation} * @memberof DimensionCriteriaLevel1 */ 'operation'?: DimensionCriteriaOperation; /** * * @type {DimensionCriteriaKey} * @memberof DimensionCriteriaLevel1 */ 'key'?: DimensionCriteriaKey | null; /** * String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is EQUALS, this field is required. Otherwise, specifying it is an error. * @type {string} * @memberof DimensionCriteriaLevel1 */ 'stringValue'?: string | null; /** * Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa. * @type {Array} * @memberof DimensionCriteriaLevel1 */ 'children'?: Array | null; } /** * Defines STANDARD type Role membership * @export * @interface DimensionCriteriaLevel2 */ export interface DimensionCriteriaLevel2 { /** * * @type {DimensionCriteriaOperation} * @memberof DimensionCriteriaLevel2 */ 'operation'?: DimensionCriteriaOperation; /** * * @type {DimensionCriteriaKey} * @memberof DimensionCriteriaLevel2 */ 'key'?: DimensionCriteriaKey | null; /** * String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, this field is required. Otherwise, specifying it is an error. * @type {string} * @memberof DimensionCriteriaLevel2 */ 'stringValue'?: string | null; /** * Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa. * @type {Array} * @memberof DimensionCriteriaLevel2 */ 'children'?: Array | null; } /** * Defines STANDARD type Dimension membership * @export * @interface DimensionCriteriaLevel3 */ export interface DimensionCriteriaLevel3 { /** * * @type {DimensionCriteriaOperation} * @memberof DimensionCriteriaLevel3 */ 'operation'?: DimensionCriteriaOperation; /** * * @type {DimensionCriteriaKey} * @memberof DimensionCriteriaLevel3 */ 'key'?: DimensionCriteriaKey | null; /** * String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, this field is required. Otherwise, specifying it is an error. * @type {string} * @memberof DimensionCriteriaLevel3 */ 'stringValue'?: string; } /** * An operation * @export * @enum {string} */ export const DimensionCriteriaOperation = { Equals: 'EQUALS', And: 'AND', Or: 'OR' } as const; export type DimensionCriteriaOperation = typeof DimensionCriteriaOperation[keyof typeof DimensionCriteriaOperation]; /** * When present, specifies that the Dimension is to be granted to Identities which either satisfy specific criteria. * @export * @interface DimensionMembershipSelector */ export interface DimensionMembershipSelector { /** * * @type {DimensionMembershipSelectorType} * @memberof DimensionMembershipSelector */ 'type'?: DimensionMembershipSelectorType; /** * * @type {DimensionCriteriaLevel1} * @memberof DimensionMembershipSelector */ 'criteria'?: DimensionCriteriaLevel1 | null; } /** * This enum characterizes the type of a Dimension\'s membership selector. Only the STANDARD type supported: STANDARD: Indicates that Dimension membership is defined in terms of a criteria expression * @export * @enum {string} */ export const DimensionMembershipSelectorType = { Standard: 'STANDARD' } as const; export type DimensionMembershipSelectorType = typeof DimensionMembershipSelectorType[keyof typeof DimensionMembershipSelectorType]; /** * * @export * @interface Entitlement */ export interface Entitlement { /** * The entitlement id * @type {string} * @memberof Entitlement */ 'id'?: string; /** * The entitlement name * @type {string} * @memberof Entitlement */ 'name'?: string; /** * The entitlement attribute name * @type {string} * @memberof Entitlement */ 'attribute'?: string; /** * The value of the entitlement * @type {string} * @memberof Entitlement */ 'value'?: string; /** * The object type of the entitlement from the source schema * @type {string} * @memberof Entitlement */ 'sourceSchemaObjectType'?: string; /** * The description of the entitlement * @type {string} * @memberof Entitlement */ 'description'?: string | null; /** * True if the entitlement is privileged * @type {boolean} * @memberof Entitlement */ 'privileged'?: boolean; /** * True if the entitlement is cloud governed * @type {boolean} * @memberof Entitlement */ 'cloudGoverned'?: boolean; /** * True if the entitlement is able to be directly requested * @type {boolean} * @memberof Entitlement */ 'requestable'?: boolean; /** * * @type {EntitlementOwner} * @memberof Entitlement */ 'owner'?: EntitlementOwner | null; /** * List of additional owner references beyond the primary owner. Each entry may be an identity (IDENTITY) or a governance group (GOVERNANCE_GROUP). * @type {Array} * @memberof Entitlement */ 'additionalOwners'?: Array | null; /** * A map of entitlement fields that have been manually updated. The key is the field name in UPPER_SNAKE_CASE format, and the value is true or false to indicate if the field has been updated. * @type {{ [key: string]: any; }} * @memberof Entitlement */ 'manuallyUpdatedFields'?: { [key: string]: any; } | null; /** * * @type {EntitlementAccessModelMetadata} * @memberof Entitlement */ 'accessModelMetadata'?: EntitlementAccessModelMetadata; /** * Time when the entitlement was created * @type {string} * @memberof Entitlement */ 'created'?: string; /** * Time when the entitlement was last modified * @type {string} * @memberof Entitlement */ 'modified'?: string; /** * * @type {EntitlementSource} * @memberof Entitlement */ 'source'?: EntitlementSource; /** * A map of free-form key-value pairs from the source system * @type {{ [key: string]: any; }} * @memberof Entitlement */ 'attributes'?: { [key: string]: any; }; /** * List of IDs of segments, if any, to which this Entitlement is assigned. * @type {Array} * @memberof Entitlement */ 'segments'?: Array | null; /** * * @type {Array} * @memberof Entitlement */ 'directPermissions'?: Array; } /** * Additional data to classify the entitlement * @export * @interface EntitlementAccessModelMetadata */ export interface EntitlementAccessModelMetadata { /** * * @type {Array} * @memberof EntitlementAccessModelMetadata */ 'attributes'?: Array; } /** * The identity that owns the entitlement * @export * @interface EntitlementOwner */ export interface EntitlementOwner { /** * The identity ID * @type {string} * @memberof EntitlementOwner */ 'id'?: string; /** * The type of object * @type {string} * @memberof EntitlementOwner */ 'type'?: EntitlementOwnerTypeEnum; /** * The display name of the identity * @type {string} * @memberof EntitlementOwner */ 'name'?: string; } export const EntitlementOwnerTypeEnum = { Identity: 'IDENTITY' } as const; export type EntitlementOwnerTypeEnum = typeof EntitlementOwnerTypeEnum[keyof typeof EntitlementOwnerTypeEnum]; /** * Entitlement including a specific set of access. * @export * @interface EntitlementRef */ export interface EntitlementRef { /** * Entitlement\'s DTO type. * @type {string} * @memberof EntitlementRef */ 'type'?: EntitlementRefTypeEnum; /** * Entitlement\'s ID. * @type {string} * @memberof EntitlementRef */ 'id'?: string; /** * Entitlement\'s display name. * @type {string} * @memberof EntitlementRef */ 'name'?: string | null; } export const EntitlementRefTypeEnum = { Entitlement: 'ENTITLEMENT' } as const; export type EntitlementRefTypeEnum = typeof EntitlementRefTypeEnum[keyof typeof EntitlementRefTypeEnum]; /** * * @export * @interface EntitlementSource */ export interface EntitlementSource { /** * The source ID * @type {string} * @memberof EntitlementSource */ 'id'?: string; /** * The source type, will always be \"SOURCE\" * @type {string} * @memberof EntitlementSource */ 'type'?: string; /** * The source name * @type {string} * @memberof EntitlementSource */ 'name'?: 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 ListDimensionsV1401Response */ export interface ListDimensionsV1401Response { /** * A message describing the error * @type {any} * @memberof ListDimensionsV1401Response */ 'error'?: any; } /** * * @export * @interface ListDimensionsV1429Response */ export interface ListDimensionsV1429Response { /** * A message describing the error * @type {any} * @memberof ListDimensionsV1429Response */ '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]; /** * Owner of the object. * @export * @interface OwnerReference */ export interface OwnerReference { /** * Owner type. This field must be either left null or set to \'IDENTITY\' on input, otherwise a 400 Bad Request error will result. * @type {string} * @memberof OwnerReference */ 'type'?: OwnerReferenceTypeEnum; /** * Owner\'s identity ID. * @type {string} * @memberof OwnerReference */ 'id'?: string; /** * Owner\'s name. It may be left null or omitted in a POST or PATCH. If set, it must match the current value of the owner\'s display name, otherwise a 400 Bad Request error will result. * @type {string} * @memberof OwnerReference */ 'name'?: string; } export const OwnerReferenceTypeEnum = { Identity: 'IDENTITY' } as const; export type OwnerReferenceTypeEnum = typeof OwnerReferenceTypeEnum[keyof typeof OwnerReferenceTypeEnum]; /** * Simplified DTO for the Permission objects stored in SailPoint\'s database. The data is aggregated from customer systems and is free-form, so its appearance can vary largely between different clients/customers. * @export * @interface PermissionDTO */ export interface PermissionDTO { /** * All the rights (e.g. actions) that this permission allows on the target * @type {Array} * @memberof PermissionDTO */ 'rights'?: Array; /** * The target the permission would grants rights on. * @type {string} * @memberof PermissionDTO */ 'target'?: string; } /** * Defines matching criteria for an account to be provisioned with a specific access profile. * @export * @interface ProvisioningCriteriaLevel1 */ export interface ProvisioningCriteriaLevel1 { /** * * @type {ProvisioningCriteriaOperation} * @memberof ProvisioningCriteriaLevel1 */ 'operation'?: ProvisioningCriteriaOperation; /** * Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error. * @type {string} * @memberof ProvisioningCriteriaLevel1 */ 'attribute'?: string | null; /** * String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type. * @type {string} * @memberof ProvisioningCriteriaLevel1 */ 'value'?: string | null; /** * Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. * @type {Array} * @memberof ProvisioningCriteriaLevel1 */ 'children'?: Array | null; } /** * Defines matching criteria for an account to be provisioned with a specific access profile. * @export * @interface ProvisioningCriteriaLevel2 */ export interface ProvisioningCriteriaLevel2 { /** * * @type {ProvisioningCriteriaOperation} * @memberof ProvisioningCriteriaLevel2 */ 'operation'?: ProvisioningCriteriaOperation; /** * Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error. * @type {string} * @memberof ProvisioningCriteriaLevel2 */ 'attribute'?: string | null; /** * String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type. * @type {string} * @memberof ProvisioningCriteriaLevel2 */ 'value'?: string | null; /** * Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. * @type {Array} * @memberof ProvisioningCriteriaLevel2 */ 'children'?: Array | null; } /** * Defines matching criteria for an account to be provisioned with a specific access profile. * @export * @interface ProvisioningCriteriaLevel3 */ export interface ProvisioningCriteriaLevel3 { /** * * @type {ProvisioningCriteriaOperation} * @memberof ProvisioningCriteriaLevel3 */ 'operation'?: ProvisioningCriteriaOperation; /** * Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error. * @type {string} * @memberof ProvisioningCriteriaLevel3 */ 'attribute'?: string | null; /** * String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type. * @type {string} * @memberof ProvisioningCriteriaLevel3 */ 'value'?: string | null; /** * Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. * @type {string} * @memberof ProvisioningCriteriaLevel3 */ 'children'?: string | null; } /** * Supported operations on `ProvisioningCriteria`. * @export * @enum {string} */ export const ProvisioningCriteriaOperation = { Equals: 'EQUALS', NotEquals: 'NOT_EQUALS', Contains: 'CONTAINS', Has: 'HAS', And: 'AND', Or: 'OR' } as const; export type ProvisioningCriteriaOperation = typeof ProvisioningCriteriaOperation[keyof typeof ProvisioningCriteriaOperation]; /** * * @export * @interface Requestability */ export interface Requestability { /** * Indicates whether the requester of the containing object must provide comments justifying the request. * @type {boolean} * @memberof Requestability */ 'commentsRequired'?: boolean | null; /** * Indicates whether an approver must provide comments when denying the request. * @type {boolean} * @memberof Requestability */ 'denialCommentsRequired'?: boolean | null; /** * Indicates whether reauthorization is required for the request. * @type {boolean} * @memberof Requestability */ 'reauthorizationRequired'?: boolean | null; /** * Indicates whether the requester of the containing object must provide access end date. * @type {boolean} * @memberof Requestability */ 'requireEndDate'?: boolean | null; /** * * @type {AccessDuration} * @memberof Requestability */ 'maxPermittedAccessDuration'?: AccessDuration | null; /** * List describing the steps involved in approving the request. * @type {Array} * @memberof Requestability */ 'approvalSchemes'?: Array | null; } /** * * @export * @interface Revocability */ export interface Revocability { /** * List describing the steps involved in approving the revocation request. * @type {Array} * @memberof Revocability */ 'approvalSchemes'?: Array | null; } /** * Task result. * @export * @interface TaskResultDto */ export interface TaskResultDto { /** * Task result DTO type. * @type {string} * @memberof TaskResultDto */ 'type'?: TaskResultDtoTypeEnum; /** * Task result ID. * @type {string} * @memberof TaskResultDto */ 'id'?: string; /** * Task result display name. * @type {string} * @memberof TaskResultDto */ 'name'?: string | null; } export const TaskResultDtoTypeEnum = { TaskResult: 'TASK_RESULT' } as const; export type TaskResultDtoTypeEnum = typeof TaskResultDtoTypeEnum[keyof typeof TaskResultDtoTypeEnum]; /** * DimensionsApi - axios parameter creator * @export */ export const DimensionsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * This API creates a dimension. You must have a token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority to call this API. Additionally, a ROLE_SUBADMIN cannot create a dimension that includes an access profile or entitlement if that access profile or entitlement is linked to a source that the ROLE_SUBADMIN is not associated with. The maximum supported length for the description field is 2000 characters. * @summary Create a dimension * @param {string} roleId Parent Role Id of the dimension. * @param {Dimension} dimension * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createDimensionV1: async (roleId: string, dimension: Dimension, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('createDimensionV1', 'roleId', roleId) // verify required parameter 'dimension' is not null or undefined assertParamExists('createDimensionV1', 'dimension', dimension) const localVarPath = `/roles/v1/{roleId}/dimensions` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))); // 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(dimension, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This endpoint initiates a bulk deletion of one or more dimensions. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 roles per request. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this endpoint. In addition, a token with ROLE_SUBADMIN authority can only call this endpoint if all dimensions included in the request are associated with sources with management workgroups the ROLE_SUBADMIN is a member of. * @summary Delete dimension(s) * @param {string} roleId Parent Role Id of the dimensions. * @param {DimensionBulkDeleteRequest} dimensionBulkDeleteRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteBulkDimensionsV1: async (roleId: string, dimensionBulkDeleteRequest: DimensionBulkDeleteRequest, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('deleteBulkDimensionsV1', 'roleId', roleId) // verify required parameter 'dimensionBulkDeleteRequest' is not null or undefined assertParamExists('deleteBulkDimensionsV1', 'dimensionBulkDeleteRequest', dimensionBulkDeleteRequest) const localVarPath = `/roles/v1/{roleId}/dimensions/bulk-delete` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))); // 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(dimensionBulkDeleteRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API deletes a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles/Entitlements included in the Dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Delete a dimension * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteDimensionV1: async (roleId: string, dimensionId: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('deleteDimensionV1', 'roleId', roleId) // verify required parameter 'dimensionId' is not null or undefined assertParamExists('deleteDimensionV1', 'dimensionId', dimensionId) const localVarPath = `/roles/v1/{roleId}/dimensions/{dimensionId}` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))) .replace(`{${"dimensionId"}}`, encodeURIComponent(String(dimensionId))); // 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, }; }, /** * This API lists the Entitlements associated with a given dimension. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimension\'s entitlements * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @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 {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 {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* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **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: **name, attribute, value, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getDimensionEntitlementsV1: async (roleId: string, dimensionId: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('getDimensionEntitlementsV1', 'roleId', roleId) // verify required parameter 'dimensionId' is not null or undefined assertParamExists('getDimensionEntitlementsV1', 'dimensionId', dimensionId) const localVarPath = `/roles/v1/{roleId}/dimensions/{dimensionId}/entitlements` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))) .replace(`{${"dimensionId"}}`, encodeURIComponent(String(dimensionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API returns a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles or Entitlements included in the Dimension or Parent Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Get a dimension under role. * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getDimensionV1: async (roleId: string, dimensionId: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('getDimensionV1', 'roleId', roleId) // verify required parameter 'dimensionId' is not null or undefined assertParamExists('getDimensionV1', 'dimensionId', dimensionId) const localVarPath = `/roles/v1/{roleId}/dimensions/{dimensionId}` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))) .replace(`{${"dimensionId"}}`, encodeURIComponent(String(dimensionId))); // 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, }; }, /** * This API lists the Access Profiles associated with a given Dimension A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary List dimension\'s access profiles * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @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 {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 {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* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **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: **name, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listDimensionAccessProfilesV1: async (roleId: string, dimensionId: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('listDimensionAccessProfilesV1', 'roleId', roleId) // verify required parameter 'dimensionId' is not null or undefined assertParamExists('listDimensionAccessProfilesV1', 'dimensionId', dimensionId) const localVarPath = `/roles/v1/{roleId}/dimensions/{dimensionId}/access-profiles` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))) .replace(`{${"dimensionId"}}`, encodeURIComponent(String(dimensionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...axiosOptions}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API returns a list of dimensions under a specified role. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimensions * @param {string} roleId Parent Role Id of the dimension. * @param {string} [forSubadmin] If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity\'s ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. * @param {number} [limit] Note that for this API the maximum value for limit is 50. 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 {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 {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* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.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: **name, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listDimensionsV1: async (roleId: string, forSubadmin?: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('listDimensionsV1', 'roleId', roleId) const localVarPath = `/roles/v1/{roleId}/dimensions` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))); // 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 (forSubadmin !== undefined) { localVarQueryParameter['for-subadmin'] = forSubadmin; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (offset !== undefined) { localVarQueryParameter['offset'] = offset; } if (count !== undefined) { localVarQueryParameter['count'] = count; } if (filters !== undefined) { localVarQueryParameter['filters'] = filters; } if (sorters !== undefined) { localVarQueryParameter['sorters'] = sorters; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...axiosOptions.headers}; return { url: toPathString(localVarUrlObj), axiosOptions: localVarRequestOptions, }; }, /** * This API updates an existing dimension using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **name** **description** **owner** **accessProfiles** **entitlements** **membership** A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all access profiles/entitlements included in the dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. The maximum supported length for the description field is 2000 characters. When you use this API to modify a dimension\'s membership identities, you can only modify up to a limit of 500 membership identities at a time. * @summary Patch a specified dimension * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @param {Array} jsonPatchOperation * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchDimensionV1: async (roleId: string, dimensionId: string, jsonPatchOperation: Array, axiosOptions: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'roleId' is not null or undefined assertParamExists('patchDimensionV1', 'roleId', roleId) // verify required parameter 'dimensionId' is not null or undefined assertParamExists('patchDimensionV1', 'dimensionId', dimensionId) // verify required parameter 'jsonPatchOperation' is not null or undefined assertParamExists('patchDimensionV1', 'jsonPatchOperation', jsonPatchOperation) const localVarPath = `/roles/v1/{roleId}/dimensions/{dimensionId}` .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))) .replace(`{${"dimensionId"}}`, encodeURIComponent(String(dimensionId))); // 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'; 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, }; }, } }; /** * DimensionsApi - functional programming interface * @export */ export const DimensionsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = DimensionsApiAxiosParamCreator(configuration) return { /** * This API creates a dimension. You must have a token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority to call this API. Additionally, a ROLE_SUBADMIN cannot create a dimension that includes an access profile or entitlement if that access profile or entitlement is linked to a source that the ROLE_SUBADMIN is not associated with. The maximum supported length for the description field is 2000 characters. * @summary Create a dimension * @param {string} roleId Parent Role Id of the dimension. * @param {Dimension} dimension * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async createDimensionV1(roleId: string, dimension: Dimension, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createDimensionV1(roleId, dimension, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.createDimensionV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This endpoint initiates a bulk deletion of one or more dimensions. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 roles per request. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this endpoint. In addition, a token with ROLE_SUBADMIN authority can only call this endpoint if all dimensions included in the request are associated with sources with management workgroups the ROLE_SUBADMIN is a member of. * @summary Delete dimension(s) * @param {string} roleId Parent Role Id of the dimensions. * @param {DimensionBulkDeleteRequest} dimensionBulkDeleteRequest * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteBulkDimensionsV1(roleId: string, dimensionBulkDeleteRequest: DimensionBulkDeleteRequest, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteBulkDimensionsV1(roleId, dimensionBulkDeleteRequest, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.deleteBulkDimensionsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API deletes a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles/Entitlements included in the Dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Delete a dimension * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async deleteDimensionV1(roleId: string, dimensionId: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDimensionV1(roleId, dimensionId, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.deleteDimensionV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API lists the Entitlements associated with a given dimension. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimension\'s entitlements * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @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 {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 {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* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **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: **name, attribute, value, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getDimensionEntitlementsV1(roleId: string, dimensionId: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.getDimensionEntitlementsV1(roleId, dimensionId, limit, offset, count, filters, sorters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.getDimensionEntitlementsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles or Entitlements included in the Dimension or Parent Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Get a dimension under role. * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async getDimensionV1(roleId: string, dimensionId: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getDimensionV1(roleId, dimensionId, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.getDimensionV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API lists the Access Profiles associated with a given Dimension A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary List dimension\'s access profiles * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @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 {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 {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* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **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: **name, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listDimensionAccessProfilesV1(roleId: string, dimensionId: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listDimensionAccessProfilesV1(roleId, dimensionId, limit, offset, count, filters, sorters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.listDimensionAccessProfilesV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API returns a list of dimensions under a specified role. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimensions * @param {string} roleId Parent Role Id of the dimension. * @param {string} [forSubadmin] If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity\'s ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. * @param {number} [limit] Note that for this API the maximum value for limit is 50. 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 {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 {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* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.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: **name, created, modified** * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async listDimensionsV1(roleId: string, forSubadmin?: string, limit?: number, offset?: number, count?: boolean, filters?: string, sorters?: string, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listDimensionsV1(roleId, forSubadmin, limit, offset, count, filters, sorters, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.listDimensionsV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * This API updates an existing dimension using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **name** **description** **owner** **accessProfiles** **entitlements** **membership** A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all access profiles/entitlements included in the dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. The maximum supported length for the description field is 2000 characters. When you use this API to modify a dimension\'s membership identities, you can only modify up to a limit of 500 membership identities at a time. * @summary Patch a specified dimension * @param {string} roleId Parent Role Id of the dimension. * @param {string} dimensionId Id of the Dimension * @param {Array} jsonPatchOperation * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ async patchDimensionV1(roleId: string, dimensionId: string, jsonPatchOperation: Array, axiosOptions?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.patchDimensionV1(roleId, dimensionId, jsonPatchOperation, axiosOptions); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['DimensionsApi.patchDimensionV1']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * DimensionsApi - factory interface * @export */ export const DimensionsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = DimensionsApiFp(configuration) return { /** * This API creates a dimension. You must have a token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority to call this API. Additionally, a ROLE_SUBADMIN cannot create a dimension that includes an access profile or entitlement if that access profile or entitlement is linked to a source that the ROLE_SUBADMIN is not associated with. The maximum supported length for the description field is 2000 characters. * @summary Create a dimension * @param {DimensionsApiCreateDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ createDimensionV1(requestParameters: DimensionsApiCreateDimensionV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createDimensionV1(requestParameters.roleId, requestParameters.dimension, axiosOptions).then((request) => request(axios, basePath)); }, /** * This endpoint initiates a bulk deletion of one or more dimensions. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 roles per request. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this endpoint. In addition, a token with ROLE_SUBADMIN authority can only call this endpoint if all dimensions included in the request are associated with sources with management workgroups the ROLE_SUBADMIN is a member of. * @summary Delete dimension(s) * @param {DimensionsApiDeleteBulkDimensionsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteBulkDimensionsV1(requestParameters: DimensionsApiDeleteBulkDimensionsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteBulkDimensionsV1(requestParameters.roleId, requestParameters.dimensionBulkDeleteRequest, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API deletes a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles/Entitlements included in the Dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Delete a dimension * @param {DimensionsApiDeleteDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ deleteDimensionV1(requestParameters: DimensionsApiDeleteDimensionV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteDimensionV1(requestParameters.roleId, requestParameters.dimensionId, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API lists the Entitlements associated with a given dimension. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimension\'s entitlements * @param {DimensionsApiGetDimensionEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getDimensionEntitlementsV1(requestParameters: DimensionsApiGetDimensionEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.getDimensionEntitlementsV1(requestParameters.roleId, requestParameters.dimensionId, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles or Entitlements included in the Dimension or Parent Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Get a dimension under role. * @param {DimensionsApiGetDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ getDimensionV1(requestParameters: DimensionsApiGetDimensionV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getDimensionV1(requestParameters.roleId, requestParameters.dimensionId, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API lists the Access Profiles associated with a given Dimension A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary List dimension\'s access profiles * @param {DimensionsApiListDimensionAccessProfilesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listDimensionAccessProfilesV1(requestParameters: DimensionsApiListDimensionAccessProfilesV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listDimensionAccessProfilesV1(requestParameters.roleId, requestParameters.dimensionId, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API returns a list of dimensions under a specified role. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimensions * @param {DimensionsApiListDimensionsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ listDimensionsV1(requestParameters: DimensionsApiListDimensionsV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listDimensionsV1(requestParameters.roleId, requestParameters.forSubadmin, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(axios, basePath)); }, /** * This API updates an existing dimension using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **name** **description** **owner** **accessProfiles** **entitlements** **membership** A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all access profiles/entitlements included in the dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. The maximum supported length for the description field is 2000 characters. When you use this API to modify a dimension\'s membership identities, you can only modify up to a limit of 500 membership identities at a time. * @summary Patch a specified dimension * @param {DimensionsApiPatchDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} */ patchDimensionV1(requestParameters: DimensionsApiPatchDimensionV1Request, axiosOptions?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.patchDimensionV1(requestParameters.roleId, requestParameters.dimensionId, requestParameters.jsonPatchOperation, axiosOptions).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for createDimensionV1 operation in DimensionsApi. * @export * @interface DimensionsApiCreateDimensionV1Request */ export interface DimensionsApiCreateDimensionV1Request { /** * Parent Role Id of the dimension. * @type {string} * @memberof DimensionsApiCreateDimensionV1 */ readonly roleId: string /** * * @type {Dimension} * @memberof DimensionsApiCreateDimensionV1 */ readonly dimension: Dimension } /** * Request parameters for deleteBulkDimensionsV1 operation in DimensionsApi. * @export * @interface DimensionsApiDeleteBulkDimensionsV1Request */ export interface DimensionsApiDeleteBulkDimensionsV1Request { /** * Parent Role Id of the dimensions. * @type {string} * @memberof DimensionsApiDeleteBulkDimensionsV1 */ readonly roleId: string /** * * @type {DimensionBulkDeleteRequest} * @memberof DimensionsApiDeleteBulkDimensionsV1 */ readonly dimensionBulkDeleteRequest: DimensionBulkDeleteRequest } /** * Request parameters for deleteDimensionV1 operation in DimensionsApi. * @export * @interface DimensionsApiDeleteDimensionV1Request */ export interface DimensionsApiDeleteDimensionV1Request { /** * Parent Role Id of the dimension. * @type {string} * @memberof DimensionsApiDeleteDimensionV1 */ readonly roleId: string /** * Id of the Dimension * @type {string} * @memberof DimensionsApiDeleteDimensionV1 */ readonly dimensionId: string } /** * Request parameters for getDimensionEntitlementsV1 operation in DimensionsApi. * @export * @interface DimensionsApiGetDimensionEntitlementsV1Request */ export interface DimensionsApiGetDimensionEntitlementsV1Request { /** * Parent Role Id of the dimension. * @type {string} * @memberof DimensionsApiGetDimensionEntitlementsV1 */ readonly roleId: string /** * Id of the Dimension * @type {string} * @memberof DimensionsApiGetDimensionEntitlementsV1 */ readonly dimensionId: string /** * 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 DimensionsApiGetDimensionEntitlementsV1 */ 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 DimensionsApiGetDimensionEntitlementsV1 */ readonly offset?: number /** * 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 DimensionsApiGetDimensionEntitlementsV1 */ readonly count?: boolean /** * 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* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* * @type {string} * @memberof DimensionsApiGetDimensionEntitlementsV1 */ 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: **name, attribute, value, created, modified** * @type {string} * @memberof DimensionsApiGetDimensionEntitlementsV1 */ readonly sorters?: string } /** * Request parameters for getDimensionV1 operation in DimensionsApi. * @export * @interface DimensionsApiGetDimensionV1Request */ export interface DimensionsApiGetDimensionV1Request { /** * Parent Role Id of the dimension. * @type {string} * @memberof DimensionsApiGetDimensionV1 */ readonly roleId: string /** * Id of the Dimension * @type {string} * @memberof DimensionsApiGetDimensionV1 */ readonly dimensionId: string } /** * Request parameters for listDimensionAccessProfilesV1 operation in DimensionsApi. * @export * @interface DimensionsApiListDimensionAccessProfilesV1Request */ export interface DimensionsApiListDimensionAccessProfilesV1Request { /** * Parent Role Id of the dimension. * @type {string} * @memberof DimensionsApiListDimensionAccessProfilesV1 */ readonly roleId: string /** * Id of the Dimension * @type {string} * @memberof DimensionsApiListDimensionAccessProfilesV1 */ readonly dimensionId: string /** * 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 DimensionsApiListDimensionAccessProfilesV1 */ 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 DimensionsApiListDimensionAccessProfilesV1 */ readonly offset?: number /** * 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 DimensionsApiListDimensionAccessProfilesV1 */ readonly count?: boolean /** * 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* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* * @type {string} * @memberof DimensionsApiListDimensionAccessProfilesV1 */ 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: **name, created, modified** * @type {string} * @memberof DimensionsApiListDimensionAccessProfilesV1 */ readonly sorters?: string } /** * Request parameters for listDimensionsV1 operation in DimensionsApi. * @export * @interface DimensionsApiListDimensionsV1Request */ export interface DimensionsApiListDimensionsV1Request { /** * Parent Role Id of the dimension. * @type {string} * @memberof DimensionsApiListDimensionsV1 */ readonly roleId: string /** * If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity\'s ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. * @type {string} * @memberof DimensionsApiListDimensionsV1 */ readonly forSubadmin?: string /** * Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. * @type {number} * @memberof DimensionsApiListDimensionsV1 */ 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 DimensionsApiListDimensionsV1 */ readonly offset?: number /** * 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 DimensionsApiListDimensionsV1 */ readonly count?: boolean /** * 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* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* * @type {string} * @memberof DimensionsApiListDimensionsV1 */ 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: **name, created, modified** * @type {string} * @memberof DimensionsApiListDimensionsV1 */ readonly sorters?: string } /** * Request parameters for patchDimensionV1 operation in DimensionsApi. * @export * @interface DimensionsApiPatchDimensionV1Request */ export interface DimensionsApiPatchDimensionV1Request { /** * Parent Role Id of the dimension. * @type {string} * @memberof DimensionsApiPatchDimensionV1 */ readonly roleId: string /** * Id of the Dimension * @type {string} * @memberof DimensionsApiPatchDimensionV1 */ readonly dimensionId: string /** * * @type {Array} * @memberof DimensionsApiPatchDimensionV1 */ readonly jsonPatchOperation: Array } /** * DimensionsApi - object-oriented interface * @export * @class DimensionsApi * @extends {BaseAPI} */ export class DimensionsApi extends BaseAPI { /** * This API creates a dimension. You must have a token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority to call this API. Additionally, a ROLE_SUBADMIN cannot create a dimension that includes an access profile or entitlement if that access profile or entitlement is linked to a source that the ROLE_SUBADMIN is not associated with. The maximum supported length for the description field is 2000 characters. * @summary Create a dimension * @param {DimensionsApiCreateDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public createDimensionV1(requestParameters: DimensionsApiCreateDimensionV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).createDimensionV1(requestParameters.roleId, requestParameters.dimension, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This endpoint initiates a bulk deletion of one or more dimensions. When the request is successful, the endpoint returns the bulk delete\'s task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/get-task-status-v-1), which will return the task result\'s status and information. This endpoint can only bulk delete up to a limit of 50 roles per request. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this endpoint. In addition, a token with ROLE_SUBADMIN authority can only call this endpoint if all dimensions included in the request are associated with sources with management workgroups the ROLE_SUBADMIN is a member of. * @summary Delete dimension(s) * @param {DimensionsApiDeleteBulkDimensionsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public deleteBulkDimensionsV1(requestParameters: DimensionsApiDeleteBulkDimensionsV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).deleteBulkDimensionsV1(requestParameters.roleId, requestParameters.dimensionBulkDeleteRequest, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API deletes a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles/Entitlements included in the Dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Delete a dimension * @param {DimensionsApiDeleteDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public deleteDimensionV1(requestParameters: DimensionsApiDeleteDimensionV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).deleteDimensionV1(requestParameters.roleId, requestParameters.dimensionId, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API lists the Entitlements associated with a given dimension. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimension\'s entitlements * @param {DimensionsApiGetDimensionEntitlementsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public getDimensionEntitlementsV1(requestParameters: DimensionsApiGetDimensionEntitlementsV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).getDimensionEntitlementsV1(requestParameters.roleId, requestParameters.dimensionId, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles or Entitlements included in the Dimension or Parent Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary Get a dimension under role. * @param {DimensionsApiGetDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public getDimensionV1(requestParameters: DimensionsApiGetDimensionV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).getDimensionV1(requestParameters.roleId, requestParameters.dimensionId, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API lists the Access Profiles associated with a given Dimension A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. * @summary List dimension\'s access profiles * @param {DimensionsApiListDimensionAccessProfilesV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public listDimensionAccessProfilesV1(requestParameters: DimensionsApiListDimensionAccessProfilesV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).listDimensionAccessProfilesV1(requestParameters.roleId, requestParameters.dimensionId, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API returns a list of dimensions under a specified role. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. * @summary List dimensions * @param {DimensionsApiListDimensionsV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public listDimensionsV1(requestParameters: DimensionsApiListDimensionsV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).listDimensionsV1(requestParameters.roleId, requestParameters.forSubadmin, requestParameters.limit, requestParameters.offset, requestParameters.count, requestParameters.filters, requestParameters.sorters, axiosOptions).then((request) => request(this.axios, this.basePath)); } /** * This API updates an existing dimension using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **name** **description** **owner** **accessProfiles** **entitlements** **membership** A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all access profiles/entitlements included in the dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. The maximum supported length for the description field is 2000 characters. When you use this API to modify a dimension\'s membership identities, you can only modify up to a limit of 500 membership identities at a time. * @summary Patch a specified dimension * @param {DimensionsApiPatchDimensionV1Request} requestParameters Request parameters. * @param {*} [axiosOptions] Override http request option. * @throws {RequiredError} * @memberof DimensionsApi */ public patchDimensionV1(requestParameters: DimensionsApiPatchDimensionV1Request, axiosOptions?: RawAxiosRequestConfig) { return DimensionsApiFp(this.configuration).patchDimensionV1(requestParameters.roleId, requestParameters.dimensionId, requestParameters.jsonPatchOperation, axiosOptions).then((request) => request(this.axios, this.basePath)); } }