> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Atoti Limits

export const SpringPropertiesTable = ({metadata}) => {
  const [query, setQuery] = React.useState('');
  const visible = query.trim() ? metadata.properties.filter(p => p.name.toLowerCase().includes(query.toLowerCase()) || p.description && p.description.toLowerCase().includes(query.toLowerCase())) : metadata.properties;
  return <div>
            <input type="text" placeholder="Filter by name or description…" value={query} onChange={e => setQuery(e.target.value)} style={{
    marginBottom: '1rem',
    padding: '0.5rem 0.75rem',
    width: '100%',
    border: '1px solid var(--border)',
    borderRadius: '0.375rem'
  }} />
            <table style={{
    width: '100%',
    borderCollapse: 'collapse',
    fontSize: '0.875rem'
  }}>
                <thead>
                <tr>
                    <th style={{
    textAlign: 'left',
    padding: '0.5rem',
    borderBottom: '2px solid var(--border)'
  }}>Name</th>
                    <th style={{
    textAlign: 'left',
    padding: '0.5rem',
    borderBottom: '2px solid var(--border)'
  }}>Type</th>
                    <th style={{
    textAlign: 'left',
    padding: '0.5rem',
    borderBottom: '2px solid var(--border)'
  }}>Default</th>
                    <th style={{
    textAlign: 'left',
    padding: '0.5rem',
    borderBottom: '2px solid var(--border)'
  }}>Description</th>
                </tr>
                </thead>
                <tbody>
                {visible.map(prop => <tr key={prop.name} style={{
    borderBottom: '1px solid var(--border)'
  }}>
                        <td style={{
    padding: '0.5rem',
    verticalAlign: 'top'
  }}>
                            <code style={{
    fontSize: '0.8rem'
  }}>{prop.name}</code>
                            {prop.deprecated && <span style={{
    marginLeft: '0.4rem',
    fontSize: '0.7rem',
    background: '#f59e0b22',
    color: '#b45309',
    border: '1px solid #f59e0b66',
    borderRadius: '0.25rem',
    padding: '0 0.3rem'
  }}>
                    deprecated
                  </span>}
                        </td>
                        <td style={{
    padding: '0.5rem',
    verticalAlign: 'top'
  }}>
                            <code style={{
    fontSize: '0.8rem'
  }}>{prop.type}</code>
                        </td>
                        <td style={{
    padding: '0.5rem',
    verticalAlign: 'top'
  }}>
                            {prop.defaultValue !== undefined ? <code style={{
    fontSize: '0.8rem'
  }}>
                                    {Array.isArray(prop.defaultValue) ? prop.defaultValue.join(', ') : String(prop.defaultValue)}
                                </code> : <span style={{
    color: 'var(--muted)'
  }}>—</span>}
                        </td>
                        <td style={{
    padding: '0.5rem',
    verticalAlign: 'top'
  }}>{prop.description || '—'}</td>
                    </tr>)}
                </tbody>
            </table>
            {visible.length === 0 && <p style={{
    textAlign: 'center',
    color: 'var(--muted)',
    marginTop: '1rem'
  }}>
                    No properties match “{query}”
                </p>}
        </div>;
};

export const metadata = {
  groups: [{
    name: "application.datasource",
    type: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties",
    sourceType: "com.activeviam.limits.workflow.service.instance.jpa.LimitsProcessJpaConfig",
    sourceMethod: "workflowProcessDataSourceProperties()"
  }, {
    name: "application.datasource.hikari",
    type: "com.zaxxer.hikari.HikariDataSource",
    sourceType: "com.activeviam.limits.workflow.service.instance.jpa.LimitsProcessJpaConfig",
    sourceMethod: "workflowProcessDataSource()"
  }, {
    name: "application.datasource.hikari.health-check-registry",
    type: "java.lang.Object",
    sourceType: "com.zaxxer.hikari.HikariDataSource",
    sourceMethod: "getHealthCheckRegistry()"
  }, {
    name: "application.datasource.hikari.metric-registry",
    type: "java.lang.Object",
    sourceType: "com.zaxxer.hikari.HikariDataSource",
    sourceMethod: "getMetricRegistry()"
  }, {
    name: "application.datasource.properties",
    type: "java.util.Properties",
    sourceType: "com.activeviam.limits.workflow.service.instance.jpa.LimitsProcessJpaConfig",
    sourceMethod: "workflowProcessJpaProperties()"
  }, {
    name: "application.datasource.xa",
    type: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$Xa",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties",
    sourceMethod: "getXa()"
  }, {
    name: "limits.activiti.mail",
    type: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties"
  }, {
    name: "limits.alert-task",
    type: "com.activeviam.limits.utils.alerts.evaluation.LimitsAlertTaskProperties",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsAlertTaskProperties"
  }, {
    name: "limits.application.datasource",
    type: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties",
    sourceType: "com.activeviam.limits.cache.cube.cfg.data.jpa.LimitsJpaConfig",
    sourceMethod: "limitsDataSourceProperties()"
  }, {
    name: "limits.application.datasource.hikari",
    type: "com.zaxxer.hikari.HikariDataSource",
    sourceType: "com.activeviam.limits.cache.cube.cfg.data.jpa.LimitsJpaConfig",
    sourceMethod: "limitsHikariDataSource()"
  }, {
    name: "limits.application.datasource.hikari.health-check-registry",
    type: "java.lang.Object",
    sourceType: "com.zaxxer.hikari.HikariDataSource",
    sourceMethod: "getHealthCheckRegistry()"
  }, {
    name: "limits.application.datasource.hikari.metric-registry",
    type: "java.lang.Object",
    sourceType: "com.zaxxer.hikari.HikariDataSource",
    sourceMethod: "getMetricRegistry()"
  }, {
    name: "limits.application.datasource.properties",
    type: "java.util.Properties",
    sourceType: "com.activeviam.limits.cache.cube.cfg.data.jpa.LimitsJpaConfig",
    sourceMethod: "limitsJpaProperties()"
  }, {
    name: "limits.application.datasource.xa",
    type: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$Xa",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties",
    sourceMethod: "getXa()"
  }, {
    name: "limits.auto-migration",
    type: "com.activeviam.limits.workflow.legacy.LegacyActivitiWorkflowHistoryMigrationProperties",
    sourceType: "com.activeviam.limits.workflow.legacy.LegacyActivitiWorkflowHistoryMigrationProperties"
  }, {
    name: "limits.autoconfiguration",
    type: "com.activeviam.limits.cfg.LimitsAutoconfigurationProperties",
    sourceType: "com.activeviam.limits.cfg.LimitsAutoconfigurationProperties"
  }, {
    name: "limits.cube",
    type: "com.activeviam.limits.pivot.measure.LimitsCubeProperties",
    sourceType: "com.activeviam.limits.pivot.measure.LimitsCubeProperties"
  }, {
    name: "limits.cube.format",
    type: "com.activeviam.limits.pivot.measure.LimitsCubeProperties$LimitsCubeFormatProperties",
    sourceType: "com.activeviam.limits.pivot.measure.LimitsCubeProperties",
    sourceMethod: "getFormat()"
  }, {
    name: "limits.data",
    type: "com.activeviam.limits.cache.cube.cfg.data.properties.LimitsDataProperties",
    sourceType: "com.activeviam.limits.cache.cube.cfg.data.properties.LimitsDataProperties"
  }, {
    name: "limits.data-access-control",
    type: "com.activeviam.limits.cfg.roles.LimitsRolePermissionsConfigurationProperties",
    sourceType: "com.activeviam.limits.cfg.roles.LimitsRolePermissionsConfigurationProperties"
  }, {
    name: "limits.data.jpa.repository",
    type: "com.activeviam.limits.cache.cube.cfg.data.jpa.LimitsJpaRepoConfigurationProperties",
    sourceType: "com.activeviam.limits.cache.cube.cfg.data.jpa.LimitsJpaRepoConfigurationProperties"
  }, {
    name: "limits.discovery-manager",
    type: "com.activeviam.limits.cache.cube.cfg.properties.LimitsDiscoveryManagerProperties",
    sourceType: "com.activeviam.limits.cache.cube.cfg.properties.LimitsDiscoveryManagerProperties"
  }, {
    name: "limits.evaluation.scheduler",
    type: "com.activeviam.limits.utils.alerts.evaluation.LimitsEvaluationConfigurationProperties",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsEvaluationConfigurationProperties"
  }, {
    name: "limits.incident",
    type: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties"
  }, {
    name: "limits.incident.evaluation",
    type: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties$EvaluationProperties",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties",
    sourceMethod: "getEvaluation()"
  }, {
    name: "limits.incident.evaluation.error",
    type: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties$EvaluationProperties$ErrorProperties",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties$EvaluationProperties",
    sourceMethod: "getError()"
  }, {
    name: "limits.initial-load",
    type: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties",
    sourceType: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties"
  }, {
    name: "limits.initial-load.file-path-matchers",
    type: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties$LimitsFilePathMatchers",
    sourceType: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties",
    sourceMethod: "getFilePathMatchers()"
  }, {
    name: "limits.notification",
    type: "com.activeviam.limits.notification.properties.LimitsNotificationConfigurationProperties",
    sourceType: "com.activeviam.limits.notification.properties.LimitsNotificationConfigurationProperties"
  }, {
    name: "limits.realtime",
    type: "com.activeviam.limits.service.rest.incident.sse.properties.LimitsRealtimeConfigurationProperties",
    sourceType: "com.activeviam.limits.service.rest.incident.sse.properties.LimitsRealtimeConfigurationProperties"
  }, {
    name: "limits.scope",
    type: "com.activeviam.limits.cache.cube.cfg.properties.LimitsScopeConfigurationProperties",
    sourceType: "com.activeviam.limits.cache.cube.cfg.properties.LimitsScopeConfigurationProperties"
  }, {
    name: "limits.structure",
    type: "com.activeviam.limits.model.template.LimitStructureTemplateConfigurationProperties",
    sourceType: "com.activeviam.limits.model.template.LimitStructureTemplateConfigurationProperties"
  }, {
    name: "limits.task-scheduler",
    type: "com.activeviam.limits.utils.alerts.evaluation.ThreadPoolTaskSchedulerConfig",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.ThreadPoolTaskSchedulerConfig"
  }, {
    name: "limits.workflow",
    type: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties"
  }, {
    name: "limits.workflow.limit-workflow-action-statuses",
    type: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties$LimitWorkflowStatusProperties",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    sourceMethod: "getLimitWorkflowActionStatuses()"
  }, {
    name: "limits.workflow.workflow-rules",
    type: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties$WorkflowRulesProperties",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    sourceMethod: "getWorkflowRules()"
  }],
  properties: [{
    name: "activeviam.apps.workflow-service.settings.allowed-file-upload-extensions",
    type: "java.util.List<java.lang.String>",
    description: "The file types allowed to be uploaded as attachments in the workflow.",
    sourceType: "com.activeviam.solutions.services.model.settings.WorkflowSettings",
    defaultValue: ["pdf", "jpeg", "png", "csv", "xls", "xlsx", "doc", "docx", "txt", "ppt", "pptx", "eml", "msg", "md"]
  }, {
    name: "activeviam.apps.workflow-service.settings.file-storage-path",
    type: "java.nio.file.Path",
    description: "The path where the workflow attachment files are stored. Please ensure users have access to this folder.",
    sourceType: "com.activeviam.solutions.services.model.settings.WorkflowSettings",
    defaultValue: ".\/limits\/workflow\/attachments"
  }, {
    name: "application.datasource.driver-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.embedded-database-connection",
    type: "org.springframework.boot.jdbc.EmbeddedDatabaseConnection",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.generate-unique-name",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.hikari.allow-pool-suspension",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.auto-commit",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.catalog",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.connection-init-sql",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.connection-test-query",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.connection-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.credentials",
    type: "com.zaxxer.hikari.util.Credentials",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.data-source-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.data-source-j-n-d-i",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.data-source-properties",
    type: "java.util.Properties",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.driver-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.exception-override",
    type: "com.zaxxer.hikari.SQLExceptionOverride",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.exception-override-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.health-check-properties",
    type: "java.util.Properties",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.idle-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.initialization-fail-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.isolate-internal-queries",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.jdbc-url",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.keepalive-time",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.leak-detection-threshold",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.login-timeout",
    type: "java.lang.Integer",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.max-lifetime",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.maximum-pool-size",
    type: "java.lang.Integer",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.metrics-tracker-factory",
    type: "com.zaxxer.hikari.metrics.MetricsTrackerFactory",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.minimum-idle",
    type: "java.lang.Integer",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.password",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.pool-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.read-only",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.register-mbeans",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.scheduled-executor",
    type: "java.util.concurrent.ScheduledExecutorService",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.schema",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.transaction-isolation",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.username",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.hikari.validation-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "application.datasource.jndi-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.password",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.type",
    type: "java.lang.Class<? extends javax.sql.DataSource>",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.url",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.username",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "application.datasource.xa.data-source-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$Xa"
  }, {
    name: "application.datasource.xa.properties",
    type: "java.util.Map<java.lang.String,java.lang.String>",
    description: "Spring inherited property used when configuring the Atoti Limits workflow datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$Xa"
  }, {
    name: "limits.activiti.mail.breach-url",
    type: "java.lang.String",
    description: "The URL to link when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties"
  }, {
    name: "limits.activiti.mail.from",
    type: "java.lang.String",
    description: "The email address to use when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties"
  }, {
    name: "limits.activiti.mail.host",
    type: "java.lang.String",
    description: "The host to use when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties"
  }, {
    name: "limits.activiti.mail.password",
    type: "java.lang.String",
    description: "The password to use when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties"
  }, {
    name: "limits.activiti.mail.port",
    type: "java.lang.Integer",
    description: "The port to use when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties",
    defaultValue: 0
  }, {
    name: "limits.activiti.mail.ssl",
    type: "java.lang.Boolean",
    description: "True if using SSL when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties",
    defaultValue: false
  }, {
    name: "limits.activiti.mail.tls",
    type: "java.lang.Boolean",
    description: "True if using TLS when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties",
    defaultValue: false
  }, {
    name: "limits.activiti.mail.username",
    type: "java.lang.String",
    description: "The username to use when configuring the mail server for breach notifications.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsActivitiProperties"
  }, {
    name: "limits.application.datasource.driver-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.embedded-database-connection",
    type: "org.springframework.boot.jdbc.EmbeddedDatabaseConnection",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.generate-unique-name",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.hikari.allow-pool-suspension",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.auto-commit",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.catalog",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.connection-init-sql",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.connection-test-query",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.connection-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.credentials",
    type: "com.zaxxer.hikari.util.Credentials",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.data-source-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.data-source-j-n-d-i",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.data-source-properties",
    type: "java.util.Properties",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.driver-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.exception-override",
    type: "com.zaxxer.hikari.SQLExceptionOverride",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.exception-override-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.health-check-properties",
    type: "java.util.Properties",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.idle-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.initialization-fail-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.isolate-internal-queries",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.jdbc-url",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.keepalive-time",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.leak-detection-threshold",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.login-timeout",
    type: "java.lang.Integer",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.max-lifetime",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.maximum-pool-size",
    type: "java.lang.Integer",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.metrics-tracker-factory",
    type: "com.zaxxer.hikari.metrics.MetricsTrackerFactory",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.minimum-idle",
    type: "java.lang.Integer",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.password",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.pool-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.read-only",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.register-mbeans",
    type: "java.lang.Boolean",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.scheduled-executor",
    type: "java.util.concurrent.ScheduledExecutorService",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.schema",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.transaction-isolation",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.username",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.hikari.validation-timeout",
    type: "java.lang.Long",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "com.zaxxer.hikari.HikariDataSource"
  }, {
    name: "limits.application.datasource.jndi-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.password",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.type",
    type: "java.lang.Class<? extends javax.sql.DataSource>",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.url",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.username",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"
  }, {
    name: "limits.application.datasource.xa.data-source-class-name",
    type: "java.lang.String",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$Xa"
  }, {
    name: "limits.application.datasource.xa.properties",
    type: "java.util.Map<java.lang.String,java.lang.String>",
    description: "Spring inherited property used when configuring the Atoti Limits application datasource.",
    sourceType: "org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$Xa"
  }, {
    name: "limits.auto-migration.legacy-workflow-history-limit-value-json-converter-enabled",
    type: "java.lang.Boolean",
    description: "True if the configuration to migrate Activiti histories created prior to Atoti Limits version 4.2.0 should be enabled. The configuration is in LegacyActivitiWorkflowHistoryLimitValueMigrator. False if the configuration should be disabled. We recommend leaving this property enabled if you have workflow histories created prior to version 4.2.0 of Atoti Limits. You can disable this property if you don't have workflow histories AND you are only using new workflows, not legacy workflows.",
    sourceType: "com.activeviam.limits.workflow.legacy.LegacyActivitiWorkflowHistoryMigrationProperties",
    defaultValue: true
  }, {
    name: "limits.autoconfiguration.service-principal",
    type: "java.lang.String",
    description: "The name of the user authenticated to perform machine-to-machine requests from Atoti Limits to the connected Atoti Servers, if using JWT Authentication.",
    sourceType: "com.activeviam.limits.cfg.LimitsAutoconfigurationProperties"
  }, {
    name: "limits.cube.format.double-format",
    type: "java.lang.String",
    description: "Format value for double measures.",
    sourceType: "com.activeviam.limits.pivot.measure.LimitsCubeProperties$LimitsCubeFormatProperties",
    defaultValue: "DOUBLE[#,##0.00]"
  }, {
    name: "limits.cube.format.integer-format",
    type: "java.lang.String",
    description: "Format value for integer measures.",
    sourceType: "com.activeviam.limits.pivot.measure.LimitsCubeProperties$LimitsCubeFormatProperties",
    defaultValue: "INT[#,###]"
  }, {
    name: "limits.cube.format.kpi-goal",
    type: "java.lang.String",
    description: "Format value for KPI Goal values",
    sourceType: "com.activeviam.limits.pivot.measure.LimitsCubeProperties$LimitsCubeFormatProperties",
    defaultValue: "#,##0.#"
  }, {
    name: "limits.cube.kpi-filters-enabled",
    type: "java.lang.Boolean",
    description: "True if cube filters are enabled for Limits KPIs, false otherwise.",
    sourceType: "com.activeviam.limits.pivot.measure.LimitsCubeProperties",
    defaultValue: true
  }, {
    name: "limits.cube.scope-hierarchies-enabled",
    type: "java.lang.Boolean",
    description: "True if the scope hierarchies are enabled in the Limits cube, false otherwise. This may be disabled to improve performance for clients with large numbers of limits and in particular a high cardinality of scopes.",
    sourceType: "com.activeviam.limits.pivot.measure.LimitsCubeProperties",
    defaultValue: false
  }, {
    name: "limits.data-access-control.servers",
    type: "java.util.Map<java.lang.String,com.activeviam.limits.cfg.roles.LimitsRolePermissionsConfigurationProperties$ServerRolePermissions>",
    description: "Stores the permissions available to each role, per server",
    sourceType: "com.activeviam.limits.cfg.roles.LimitsRolePermissionsConfigurationProperties"
  }, {
    name: "limits.data.jpa.repository.packages-to-scan",
    type: "java.util.List<java.lang.String>",
    description: "List of packages to scan for Entity classes to be managed by the JPA repositories.",
    sourceType: "com.activeviam.limits.cache.cube.cfg.data.jpa.LimitsJpaRepoConfigurationProperties"
  }, {
    name: "limits.data.mode",
    type: "com.activeviam.limits.cache.cube.cfg.data.properties.LimitsDataMode",
    description: "The mode used to load data into Atoti Limits.",
    sourceType: "com.activeviam.limits.cache.cube.cfg.data.properties.LimitsDataProperties",
    defaultValue: "csv"
  }, {
    name: "limits.discovery-manager.polling-delay",
    type: "java.lang.Long",
    description: "How long a Discovery's refresh is valid for.",
    sourceType: "com.activeviam.limits.cache.cube.cfg.properties.LimitsDiscoveryManagerProperties",
    defaultValue: 30000
  }, {
    name: "limits.evaluation.scheduler.cron-expression",
    type: "java.lang.String",
    description: "Cron expression for the scheduled INTRADAY limit evaluation task. When not set, the service falls back to `limits.alert-task.sample-rate-cron` (deprecated).",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsEvaluationConfigurationProperties"
  }, {
    name: "limits.evaluation.scheduler.thread-pool-size",
    type: "java.lang.Integer",
    description: "Thread pool size for the evaluation task scheduler. Defaults to 4.",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsEvaluationConfigurationProperties",
    defaultValue: 4
  }, {
    name: "limits.incident.evaluation.error.include-stacktrace",
    type: "java.lang.Boolean",
    description: "If true, the stack trace will be available in the evaluation response to the UI.",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties$EvaluationProperties$ErrorProperties",
    defaultValue: false
  }, {
    name: "limits.incident.evaluation.include-passes",
    type: "java.lang.Boolean",
    description: "If true, evaluations resulting in a pass will be persisted to the datastore.",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties$EvaluationProperties",
    defaultValue: false
  }, {
    name: "limits.incident.evaluation.parallel-tasks",
    type: "java.lang.Integer",
    description: "Thread pool size for the evaluation task executors.",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties$EvaluationProperties",
    defaultValue: 10
  }, {
    name: "limits.incident.output-data-dir",
    type: "java.lang.String",
    description: "The directory where the alert data is written to.",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsIncidentProperties"
  }, {
    name: "limits.initial-load.file-path-matchers.as-of-date",
    type: "java.nio.file.PathMatcher",
    description: "The PathMatcher built from a regex or glob pattern to match the as-of-date files.",
    sourceType: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties$LimitsFilePathMatchers",
    defaultValue: "glob:**\/*as_of_date*.csv"
  }, {
    name: "limits.initial-load.file-path-matchers.incidents",
    type: "java.nio.file.PathMatcher",
    description: "The PathMatcher built from a regex or glob pattern to match the incidents files.",
    sourceType: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties$LimitsFilePathMatchers",
    defaultValue: "glob:**\/incident\/**\/*incident*.csv"
  }, {
    name: "limits.initial-load.file-path-matchers.limit-structures",
    type: "java.nio.file.PathMatcher",
    description: "The PathMatcher built from a regex or glob pattern to match the limit structures files.",
    sourceType: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties$LimitsFilePathMatchers",
    defaultValue: "glob:**\/*limit_structures*.csv"
  }, {
    name: "limits.initial-load.file-path-matchers.limits",
    type: "java.nio.file.PathMatcher",
    description: "The PathMatcher built from a regex or glob pattern to match the limits files.",
    sourceType: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties$LimitsFilePathMatchers",
    defaultValue: "glob:**\/*limits_approve*.csv"
  }, {
    name: "limits.initial-load.root-dir",
    type: "java.nio.file.Path",
    description: "The root directory for Limits data.",
    sourceType: "com.activeviam.limits.cfg.LimitsInitialLoadConfigurationProperties",
    defaultValue: ".\/src\/main\/resources\/data"
  }, {
    name: "limits.notification.evaluation-completed-notification-user-role",
    type: "java.lang.String",
    description: "The role required to receive the evaluation completed notification.",
    sourceType: "com.activeviam.limits.notification.properties.LimitsNotificationConfigurationProperties"
  }, {
    name: "limits.notification.server-started-notification-user-role",
    type: "java.lang.String",
    description: "The role required to receive the server started notification.",
    sourceType: "com.activeviam.limits.notification.properties.LimitsNotificationConfigurationProperties",
    defaultValue: "ROLE_ADMIN"
  }, {
    name: "limits.realtime.emitter-timeout",
    type: "java.time.Duration",
    description: "The timeout on each Event Source that a client opens to receive real-time updates on Limits statuses.",
    sourceType: "com.activeviam.limits.service.rest.incident.sse.properties.LimitsRealtimeConfigurationProperties",
    defaultValue: "8h"
  }, {
    name: "limits.realtime.heartbeat-interval",
    type: "java.time.Duration",
    description: "The interval between the heartbeats sent to every open emitter to detect dead client connections.",
    sourceType: "com.activeviam.limits.service.rest.incident.sse.properties.LimitsRealtimeConfigurationProperties",
    defaultValue: "30s"
  }, {
    name: "limits.scope.auto-fill-unambiguous-level-paths",
    type: "java.lang.Boolean",
    description: "If true, allows Limits to automatically fill in missing parent levels with Wildcards",
    sourceType: "com.activeviam.limits.cache.cube.cfg.properties.LimitsScopeConfigurationProperties",
    defaultValue: true
  }, {
    name: "limits.scope.force-unambiguous-level-paths",
    type: "java.lang.Boolean",
    description: "If true, this forces that a level be [Unambiguous](#ambiguous-level-path) at load time",
    sourceType: "com.activeviam.limits.cache.cube.cfg.properties.LimitsScopeConfigurationProperties",
    defaultValue: false
  }, {
    name: "limits.scope.using-explicit-scope-matching",
    type: "java.lang.Boolean",
    description: "If true, limits will only be shown and applied to the exact location their Scope is defined on",
    sourceType: "com.activeviam.limits.cache.cube.cfg.properties.LimitsScopeConfigurationProperties",
    defaultValue: true
  }, {
    name: "limits.structure.templates",
    type: "java.util.Map<java.lang.String,com.activeviam.limits.model.template.LimitStructureTemplate>",
    description: "Stores the LimitStructureTemplates by templateName to ensure each one is unique",
    sourceType: "com.activeviam.limits.model.template.LimitStructureTemplateConfigurationProperties"
  }, {
    name: "limits.workflow.enable-bulk-activiti-transactions",
    type: "java.lang.Boolean",
    description: "True when users want to execute activiti transactions in bulk, false when they should be executed sequentially",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    defaultValue: true
  }, {
    name: "limits.workflow.incident-business-functions",
    type: "java.util.List<java.lang.String>",
    description: "Maps the business functions available for incident workflows.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    defaultValue: ["Incidents"]
  }, {
    name: "limits.workflow.limit-business-functions",
    type: "java.util.List<java.lang.String>",
    description: "Maps the business functions available for limits workflows.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    defaultValue: ["Limit Changes"]
  }, {
    name: "limits.workflow.limit-workflow-action-statuses.evaluable",
    type: "java.util.List<java.lang.String>",
    description: "The list of limit statuses that are eligible for evaluation.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties$LimitWorkflowStatusProperties",
    defaultValue: ["APPROVED"]
  }, {
    name: "limits.workflow.limit-workflow-action-statuses.inactive",
    type: "java.util.List<java.lang.String>",
    description: "Statuses that represent a limit that is longer active and should not be considered during the validation of other limits",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties$LimitWorkflowStatusProperties",
    defaultValue: ["EXPIRED", "DELETED", "REJECTED"]
  }, {
    name: "limits.workflow.limit-workflow-action-statuses.kpi-visible",
    type: "java.util.List<java.lang.String>",
    description: "The list of limit statuses that are eligible to be shown in KPIs in the business cube. The EXPIRED` status is included by default to allow for historical analysis of limit KPIs. The `PENDING`, `EDIT`, and `PENDING_DELETION` statuses are included because they represent limits that were previously approved so the approved values are still relevant for KPI purposes.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties$LimitWorkflowStatusProperties",
    defaultValue: ["APPROVED", "EXPIRED", "PENDING", "EDIT", "PENDING_DELETION"]
  }, {
    name: "limits.workflow.limit-workflow-action-statuses.pending",
    type: "java.util.List<java.lang.String>",
    description: "The list of limit statuses that are considered pending. These statuses will be excluded when the business cube refreshes its cache of limits.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties$LimitWorkflowStatusProperties",
    defaultValue: ["INITIALIZED", "PENDING", "EDIT", "PENDING_DELETION", "PENDING_FIRST_APPROVAL", "PENDING_SECOND_APPROVAL", "PENDING_CHANGES", "PENDING_FIRST_UPDATE_APPROVAL", "PENDING_SECOND_UPDATE_APPROVAL", "PENDING_FIRST_DELETION_APPROVAL", "PENDING_SECOND_DELETION_APPROVAL"]
  }, {
    name: "limits.workflow.roles",
    type: "java.util.List<java.lang.String>",
    description: "List of roles for a given workflow.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties"
  }, {
    name: "limits.workflow.structure-deletion-workflows",
    type: "java.util.List<java.lang.String>",
    description: "List of workflows where structure deletion is enabled.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties"
  }, {
    name: "limits.workflow.workflow-rules.can-approver-be-same-as-creator",
    type: "java.lang.Boolean",
    description: "If true, the creator of a limit may also approve it.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties$WorkflowRulesProperties",
    defaultValue: false
  }, {
    name: "limits.workflow.workflow-status-fetched-with-limit",
    type: "java.lang.Boolean",
    description: "When set to true, retrieving limit structures also updates the limit status with the current workflow status.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    defaultValue: true
  }, {
    name: "limits.alert-task.sample-rate-cron",
    type: "java.lang.String",
    description: "Cron expression for the Intraday Alert task's cron job.",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.LimitsAlertTaskProperties",
    deprecated: true,
    deprecation: {}
  }, {
    name: "limits.task-scheduler.thread-pool-size",
    type: "java.lang.Integer",
    description: "The quantity of threads allotted to the TaskScheduler",
    sourceType: "com.activeviam.limits.utils.alerts.evaluation.ThreadPoolTaskSchedulerConfig",
    defaultValue: 4,
    deprecated: true,
    deprecation: {}
  }, {
    name: "limits.workflow.exception-workflows",
    type: "java.util.Map<java.lang.String,com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperty>",
    description: "DEPRECATED: Use `activeviam.apps.workflow-service.workflows` instead for workflow configuration. <p>A Map of the exception workflow name to the workflow configuration properties. These properties only apply to legacy workflows and will be removed in a future release.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    deprecated: true,
    deprecation: {}
  }, {
    name: "limits.workflow.limit-workflows",
    type: "java.util.Map<java.lang.String,com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperty>",
    description: "DEPRECATED: Use `activeviam.apps.workflow-service.workflows` instead for workflow configuration. <p>A Map of the limit workflow name to the workflow configuration properties. These properties only apply to legacy workflows and will be removed in a future release.",
    sourceType: "com.activeviam.limits.workflow.cfg.properties.LimitsWorkflowConfigurationProperties",
    deprecated: true,
    deprecation: {}
  }],
  hints: [],
  ignored: {
    properties: []
  }
};

## Overview

These are the properties used to configure your Atoti Limits Server. Note that we provide all
properties that can be used, but you are only required to set `limits.autoconfiguration.service-principal`.

This is because we expect you to use your own [security configuration](../../../dev/getting-started#security-customizations)
and thus your own users.

<Note>
  We inherit many properties from Spring related to the datasources. We define some, but not all of
  them. We have listed all that will be registered by Spring on startup. For more information on the
  different datasources,
  see [Atoti Limits datasources](../../../dev/persistence#atoti-limits-datasources). For more
  information on specific properties,
  see [the Spring docs](https://docs.spring.io/spring-boot/appendix/application-properties/index.html#appendix.application-properties.data).
</Note>

## Module properties

<SpringPropertiesTable metadata={metadata} />
