## Slurm 22.05.0

### openapi/dbv0.0.38 (src/plugins/openapi/dbv0.0.38/openapi.json)

#### add plugin

new dbv0.0.38 openapi plugin

- clone of existing dbv0.0.37 openapi plugin
- all paths renamed from dbv0.0.37 to dbv0.0.38

#### Add POST method for /associations

####

new path | .paths."/associations/".post
new path | .components.schemas."dbv0.0.38_response_associations"

#### Correct placement of step TRES

previous path | .components.schemas."dbv0.0.38_job_step".properties.step.properties.tres
new path | .components.schemas."dbv0.0.38_job_step".properties.tres

#### Add association fields

new fields

- .components.schemas."dbv0.0.38_association".properties.is_default
- .components.schemas."dbv0.0.38_association".properties.max.tres.group.minutes
- .components.schemas."dbv0.0.38_association".properties.max.tres.group.active
- .components.schemas."dbv0.0.38_association".properties.max.jobs.active
- .components.schemas."dbv0.0.38_association".properties.max.jobs.accruing
- .components.schemas."dbv0.0.38_association".properties.max.jobs.total
- .components.schemas."dbv0.0.38_association".properties.max.tres.minutes.per.job

#### Add error response contents

new fields

- .paths."/account/{account_name}"[].responses.default[]
- .paths."/accounts/"[].responses.default[]
- .paths."/association/"[].responses.default[]
- .paths."/associations/"[].responses.default[]
- .paths."/cluster/{cluster_name}"[].responses.default[]
- .paths."/clusters/"[].responses.default[]
- .paths."/config/"[].responses.default[]
- .paths."/diag/"[].responses.default[]
- .paths."/job/{job_id}"[].responses.default[]
- .paths."/jobs/"[].responses.default[]
- .paths."/qos/{qos_name}/"[].responses.default[]
- .paths."/qos/"[].responses.default[]
- .paths."/tres/"[].responses.default[]
- .paths."/users/"[].responses.default[]
- .paths."/user/{user_name}"[].responses.default[]
- .paths."/wckeys/"[].responses.default[]
- .paths."/wckey/{wckey}"[].responses.default[]
- .components.schemas."dbv0.0.38_meta"

#### Move incorrectly named field

old path | .components.schemas."dbv0.0.38_qos".properties.limits.max.jobs.per.account
new path | .components.schemas."dbv0.0.38_qos".properties.limits.max.jobs.active_jobs.per.account

#### Move incorrectly named field

old path | .components.schemas."dbv0.0.38_qos".properties.limits.properties.max.properties.jobs.properties.per.properties.user
new path | .components.schemas."dbv0.0.38_qos".properties.limits.properties.max.properties.jobs.properties.active_jobs.properties.per.properties.user

#### Add QOS fields

new fields

- .components.schemas."dbv0.0.38_qos".properties.limits.properties.factor
- .components.schemas."dbv0.0.38_qos".properties.limits.properties.max.properties.accruing.properties.per.properties.account
- .components.schemas."dbv0.0.38_qos".properties.limits.properties.max.properties.accruing.properties.per.properties.user

#### Add diag fields

new fields

- .components.schemas."v0.0.38_diag".bf_table_size
- .components.schemas."v0.0.38_diag".bf_table_size_mean

#### Split up token and user

change array values

- .security

#### Add meta entry

field added

- .components.schemas."dbv0.0.38_diag".properties.meta
- .components.schemas."dbv0.0.38_account_info".properties.meta
- .components.schemas."dbv0.0.38_response_account_delete".properties.meta
- .components.schemas."dbv0.0.38_response_wckey_add".properties.meta
- .components.schemas."dbv0.0.38_wckey_info".properties.meta
- .components.schemas."dbv0.0.38_response_wckey_delete".properties.meta
- .components.schemas."dbv0.0.38_response_cluster_add".properties.meta
- .components.schemas."dbv0.0.38_response_cluster_delete".properties.meta
- .components.schemas."dbv0.0.38_response_user_update".properties.meta
- .components.schemas."dbv0.0.38_user_info".properties.meta
- .components.schemas."dbv0.0.38_response_user_delete".properties.meta
- .components.schemas."dbv0.0.38_response_association_delete".properties.meta
- .components.schemas."dbv0.0.38_associations_info".properties.meta
- .components.schemas."dbv0.0.38_qos_info".properties.meta
- .components.schemas."dbv0.0.38_response_qos_delete".properties.meta
- .components.schemas."dbv0.0.38_response_associations".properties.meta
- .components.schemas."dbv0.0.38_response_tres".properties.meta
- .components.schemas."dbv0.0.38_tres_info".properties.meta
- .components.schemas."dbv0.0.38_job_info".properties.meta
- .components.schemas."dbv0.0.38_config_info".properties.meta
- .components.schemas."dbv0.0.38_account_response".properties.meta
- .components.schemas."dbv0.0.38_config_response".properties.meta
- .components.schemas."dbv0.0.38_errors"

#### Add missing response field

new fields

- .components.schemas."dbv0.0.38_response_association_delete".properties.removed_associations
- .components.schemas."dbv0.0.38_error".properties.error_number
- .components.schemas."dbv0.0.38_error".properties.source
- .components.schemas."dbv0.0.38_error".properties.description
- .components.schemas."/clusters/".properties.post.properties.requestBody
- .components.schemas."dbv0.0.38_clusters_properties"

#### Switch field from object to array

modified field

- .components.schemas."dbv0.0.38_user".properties.associations

#### Add missing field

new field

- .components.schemas."dbv0.0.38_qos".properties.limits.properties.max.properties.tres.properties.minutes.properties.per.properties.qos
- .components.schemas."dbv0.0.38_qos".properties.name

#### Correct field type to reference

modified field

- .components.schemas."dbv0.0.38_config_info".properties.tres
- .components.schemas."dbv0.0.38".properties.het.properties.job_id
- .components.schemas."dbv0.0.38".properties.het.properties.job_offset
- .components.schemas."dbv0.0.38_job_step".properties.task

#### Add requestBody field and associated schema

new fields

- .components.schemas."dbv0.0.38_update_users"
- .paths."/users/".post.requestBody'
- .components.schemas."dbv0.0.38_update_accounts"
- .paths."/accounts/".post.requestBody'

#### Correct parameter styles to "form"

modified fields

- .paths."/job/{job_id}"[].get.parameters[]|select(.name="job_id)"

#### Change operationId naming schema to include url path

modified fields

- .paths[][].operationId

#### Fix issue where association's QOS list consisted of IDs instead of names

modified fields

- .components.schemas."dbv0.0.38_association".properties.qos

#### Add POST method for /qos

new method | .paths."/qos/".post
new path | .components.schemas."dbv0.0.38_response_qos"
new path | .components.schemas."dbv0.0.38_update_qos"

#### Move response fields in dbv0.0.37_diag under "statistics"

new parent field

- .components.schemas."dbv0.0.38_diag".properties.statistics

subordinated fields

- .components.schemas."dbv0.0.38_diag".properties.time_start
- .components.schemas."dbv0.0.38_diag".properties.rollups
- .components.schemas."dbv0.0.38_diag".properties.RPCs
- .components.schemas."dbv0.0.38_diag".properties.users

#### Allow strings for JobIds instead of only numerical JobIds.

Change job_id parameter to string

- .paths."/job/{job_id}".get.parameters[].schema

#### Add with_deleted input parameter to GET /user, /users

New parameter

- .paths."/user/{user_name}".get.parameters[] | select(.name=="with_deleted")
- .paths."/users/".get.parameters[] | select(.name=="with_deleted")

#### Add deleted flag to /user, /users output

New property

- .components.schemas."dbv0.0.38_user".properties.flags

#### Add with_deleted input parameter to GET /qos

New parameter

- .paths."/qos/".get.parameters[] | select(.name=="with_deleted")
- .paths."/qos/{qos_name}".get.parameters[] | select(.name=="with_deleted")

#### Add with_deleted input parameter to GET /account, /accounts

New parameter

- .paths."/account/{account_name}".get.parameters[] | select(.name=="with_deleted")
- .paths."/accounts/".get.parameters[] | select(.name=="with_deleted")

#### Add container field to job description

new fields

- .components.schemas."dbv0.0.38_job".properties.container

#### Enforce limit to only DELETE or GET a single association instead of using required parameters.

changed value

- .paths."/association/".get.parameters[].required
- .paths."/association/".delete.parameters[].required

#### Add filter parameters to GET /associations

new method

- .paths."/associations/".get.parameters

### openapi/dbv0.0.36 (src/plugins/openapi/dbv0.0.36/openapi.json)

#### Deprecation notice

The dbv0.0.36 plugin has now been marked as deprecated.

### openapi/v0.0.38 (src/plugins/openapi/v0.0.38/openapi.json)

#### add plugin

new v0.0.38 openapi plugin

- clone of existing v0.0.37 openapi plugin
- all paths renamed from v0.0.37 to v0.0.38

#### Allow strings for JobIds instead of only numerical JobIds.

Change job_id parameter to string

- .paths."/job/{job_id}".get.parameters[].schema
- .paths."/job/{job_id}".post.parameters[].schema
- .paths."/job/{job_id}".delete.parameters[].schema

#### Correct multiple type mistakes

####

modified entry | .components.schemas."v0.0.38_job_response_properties".properties.array_job_id
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.array_task_id
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.array_max_tasks
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.association_id
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.billable_tres
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.deadline
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.delay_boot
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.derived_exit_code
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.group_id
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.job_id
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.last_sched_evaluation
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.max_cpus
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.max_nodes
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.nice
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks_per_core
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks_per_socket
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks_per_board
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.cpus
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.node_count
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.het_job_id
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.het_job_offset
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.memory_per_node
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.memory_per_cpu
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.minimum_cpus_per_node
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.minimum_tmp_disk_per_node
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.priority
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.restart_cnt
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.sockets_per_board
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.sockets_per_node
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.time_limit
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.time_minimum
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.threads_per_core
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.user_id
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.allocated_nodes
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.cpus

#### Fix errant space after JOB_CPUS_SET flag.

Fix response.

- .components.schemas."v0.0.37_job_response_properties".properties.flags

#### Add new /licenses endpoint

add

- .components.schemas."v0.0.38_license"
- .components.schemas."v0.0.38_licenses"
- .paths."/slurm/v0.0.38/licenses"

#### Add meta entry

field added

- .components.schemas."v0.0.38_diag".properties.meta
- .components.schemas."v0.0.38_pings".properties.meta
- .components.schemas."v0.0.38_partitions_response".properties.meta
- .components.schemas."v0.0.38_reservations_response".properties.meta
- .components.schemas."v0.0.38_job_submission_response".properties.meta
- .components.schemas."v0.0.38_jobs_response".properties.meta
- .components.schemas."v0.0.38_nodes_response".properties.meta
- .components.schemas."v0.0.38_errors"

#### Add error response contents

new fields

- .paths."/diag/"[].responses.default[]
- .paths."/ping/"[].responses.default[]
- .paths."/jobs/"[].responses.default[]
- .paths."/job/{job_id}"[].responses.default[]
- .paths."/job/submit"[].responses.default[]
- .paths."/nodes/"[].responses.default[]
- .paths."/node/{node_name}"[].responses.default[]
- .paths."/partitions/"[].responses.default[]
- .paths."/partition/{partition_name}"[].responses.default[]
- .paths."/reservations/"[].responses.default[]
- .paths."/reservation/{reservation_name}"[].responses.default[]

#### Rename errno to error_number

rename

- .components.schemas."dbv0.0.38_error".properties.errnum
- .components.schemas."dbv0.0.38_error".properties.error_number

#### Correct parameter styles to "form"

modified fields

- .paths."/jobs/"[].parameters[]|select(.name="update_type)"
- .paths."/job/{job_id}"[].get.parameters[]|select(.name="job_id)"
- .paths."/job/{job_id}"[].post.parameters[]|select(.name="job_id)"
- .paths."/nodes/"[].get.parameters[]|select(.name="update_time)"
- .paths."/node/{node_name}"[].get.parameters[]|select(.name="node_name)"
- .paths."/partitions/"[].get.parameters[]|select(.name="update_time)"
- .paths."/partition/{partition_name}"[].get.parameters[]|select(.name="partition_name)"
- .paths."/partition/{partition_name}"[].get.parameters[]|select(.name="update_time)"
- .paths."/reservations/"[].get.parameters[]|select(.name="reservation_name)"
- .paths."/reservations/"[].get.parameters[]|select(.name="update_time)"

#### Change operationId naming schema to include url path

modified fields

- .paths[][].operationId

#### Response changed to move "cores" into "sockets" to differentiate which cores and sockets are allocated. Changed from named dictionary of node names to array containing objects with nodename set.

Updated response.

- .components.schemas."v0.0.38_job_resources".properties.allocated_nodes
- .components.schemas."v0.0.38_node_allocation"

#### New fields add to diag endpoint

new fields

- .components.schemas."v0.0.38_diag_rpcm".rpcs_by_message_type
- .components.schemas."v0.0.38_diag_rpcm".rpcs_by_user
- .components.schemas."v0.0.38_diag_rpcm"
- .components.schemas."v0.0.38_diag_rpcu"

#### Add container field to job description

new fields

- .components.schemas."v0.0.38_job_response_properties".properties.container
- .components.schemas."v0.0.38_job_properties".properties.container

#### Add method to delete associations using filters

new method

- .paths."/associations/".delete

#### Rename response schema entry

previous path | .components.schemas."dbv0.0.38_response_association_delete"
new path | .components.schemas."dbv0.0.38_response_associations_delete"

### openapi/v0.0.36 (src/plugins/openapi/v0.0.36/openapi.json)

#### Deprecation notice

The v0.0.36 plugin has now been marked as deprecated.

### openapi/v0.0.35 (src/plugins/openapi/v0.0.35/openapi.json)

#### Removal notice

The v0.0.35 plugin has now been removed.