# coding: utf-8

"""
Slurm REST API

API to access and control Slurm

The version of the OpenAPI document: Slurm-24.11.1&openapi/slurmdbd&openapi/slurmctld
Contact: sales@schedmd.com
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
"""  # noqa: E501

import warnings
from typing import Any, Dict, List, Optional, Tuple, Union

from pydantic import (
    Field,
    StrictFloat,
    StrictInt,
    StrictStr,
    field_validator,
    validate_call,
)
from typing_extensions import Annotated

from slurmrestpy.api_client import ApiClient, RequestSerialized
from slurmrestpy.api_response import ApiResponse
from slurmrestpy.models.v0040_openapi_accounts_add_cond_resp import (
    V0040OpenapiAccountsAddCondResp,
)
from slurmrestpy.models.v0040_openapi_accounts_add_cond_resp_str import (
    V0040OpenapiAccountsAddCondRespStr,
)
from slurmrestpy.models.v0040_openapi_accounts_removed_resp import (
    V0040OpenapiAccountsRemovedResp,
)
from slurmrestpy.models.v0040_openapi_accounts_resp import V0040OpenapiAccountsResp
from slurmrestpy.models.v0040_openapi_assocs_removed_resp import (
    V0040OpenapiAssocsRemovedResp,
)
from slurmrestpy.models.v0040_openapi_assocs_resp import V0040OpenapiAssocsResp
from slurmrestpy.models.v0040_openapi_clusters_removed_resp import (
    V0040OpenapiClustersRemovedResp,
)
from slurmrestpy.models.v0040_openapi_clusters_resp import V0040OpenapiClustersResp
from slurmrestpy.models.v0040_openapi_instances_resp import V0040OpenapiInstancesResp
from slurmrestpy.models.v0040_openapi_resp import V0040OpenapiResp
from slurmrestpy.models.v0040_openapi_slurmdbd_config_resp import (
    V0040OpenapiSlurmdbdConfigResp,
)
from slurmrestpy.models.v0040_openapi_slurmdbd_jobs_resp import (
    V0040OpenapiSlurmdbdJobsResp,
)
from slurmrestpy.models.v0040_openapi_slurmdbd_qos_removed_resp import (
    V0040OpenapiSlurmdbdQosRemovedResp,
)
from slurmrestpy.models.v0040_openapi_slurmdbd_qos_resp import (
    V0040OpenapiSlurmdbdQosResp,
)
from slurmrestpy.models.v0040_openapi_slurmdbd_stats_resp import (
    V0040OpenapiSlurmdbdStatsResp,
)
from slurmrestpy.models.v0040_openapi_tres_resp import V0040OpenapiTresResp
from slurmrestpy.models.v0040_openapi_users_add_cond_resp import (
    V0040OpenapiUsersAddCondResp,
)
from slurmrestpy.models.v0040_openapi_users_add_cond_resp_str import (
    V0040OpenapiUsersAddCondRespStr,
)
from slurmrestpy.models.v0040_openapi_users_resp import V0040OpenapiUsersResp
from slurmrestpy.models.v0040_openapi_wckey_removed_resp import (
    V0040OpenapiWckeyRemovedResp,
)
from slurmrestpy.models.v0040_openapi_wckey_resp import V0040OpenapiWckeyResp
from slurmrestpy.models.v0041_openapi_accounts_add_cond_resp import (
    V0041OpenapiAccountsAddCondResp,
)
from slurmrestpy.models.v0041_openapi_accounts_add_cond_resp_str import (
    V0041OpenapiAccountsAddCondRespStr,
)
from slurmrestpy.models.v0041_openapi_accounts_removed_resp import (
    V0041OpenapiAccountsRemovedResp,
)
from slurmrestpy.models.v0041_openapi_accounts_resp import V0041OpenapiAccountsResp
from slurmrestpy.models.v0041_openapi_assocs_removed_resp import (
    V0041OpenapiAssocsRemovedResp,
)
from slurmrestpy.models.v0041_openapi_assocs_resp import V0041OpenapiAssocsResp
from slurmrestpy.models.v0041_openapi_clusters_removed_resp import (
    V0041OpenapiClustersRemovedResp,
)
from slurmrestpy.models.v0041_openapi_clusters_resp import V0041OpenapiClustersResp
from slurmrestpy.models.v0041_openapi_instances_resp import V0041OpenapiInstancesResp
from slurmrestpy.models.v0041_openapi_resp import V0041OpenapiResp
from slurmrestpy.models.v0041_openapi_slurmdbd_config_resp import (
    V0041OpenapiSlurmdbdConfigResp,
)
from slurmrestpy.models.v0041_openapi_slurmdbd_jobs_resp import (
    V0041OpenapiSlurmdbdJobsResp,
)
from slurmrestpy.models.v0041_openapi_slurmdbd_qos_removed_resp import (
    V0041OpenapiSlurmdbdQosRemovedResp,
)
from slurmrestpy.models.v0041_openapi_slurmdbd_qos_resp import (
    V0041OpenapiSlurmdbdQosResp,
)
from slurmrestpy.models.v0041_openapi_slurmdbd_stats_resp import (
    V0041OpenapiSlurmdbdStatsResp,
)
from slurmrestpy.models.v0041_openapi_tres_resp import V0041OpenapiTresResp
from slurmrestpy.models.v0041_openapi_users_add_cond_resp import (
    V0041OpenapiUsersAddCondResp,
)
from slurmrestpy.models.v0041_openapi_users_add_cond_resp_str import (
    V0041OpenapiUsersAddCondRespStr,
)
from slurmrestpy.models.v0041_openapi_users_resp import V0041OpenapiUsersResp
from slurmrestpy.models.v0041_openapi_wckey_removed_resp import (
    V0041OpenapiWckeyRemovedResp,
)
from slurmrestpy.models.v0041_openapi_wckey_resp import V0041OpenapiWckeyResp
from slurmrestpy.models.v0042_openapi_accounts_add_cond_resp import (
    V0042OpenapiAccountsAddCondResp,
)
from slurmrestpy.models.v0042_openapi_accounts_add_cond_resp_str import (
    V0042OpenapiAccountsAddCondRespStr,
)
from slurmrestpy.models.v0042_openapi_accounts_removed_resp import (
    V0042OpenapiAccountsRemovedResp,
)
from slurmrestpy.models.v0042_openapi_accounts_resp import V0042OpenapiAccountsResp
from slurmrestpy.models.v0042_openapi_assocs_removed_resp import (
    V0042OpenapiAssocsRemovedResp,
)
from slurmrestpy.models.v0042_openapi_assocs_resp import V0042OpenapiAssocsResp
from slurmrestpy.models.v0042_openapi_clusters_removed_resp import (
    V0042OpenapiClustersRemovedResp,
)
from slurmrestpy.models.v0042_openapi_clusters_resp import V0042OpenapiClustersResp
from slurmrestpy.models.v0042_openapi_instances_resp import V0042OpenapiInstancesResp
from slurmrestpy.models.v0042_openapi_resp import V0042OpenapiResp
from slurmrestpy.models.v0042_openapi_slurmdbd_config_resp import (
    V0042OpenapiSlurmdbdConfigResp,
)
from slurmrestpy.models.v0042_openapi_slurmdbd_jobs_resp import (
    V0042OpenapiSlurmdbdJobsResp,
)
from slurmrestpy.models.v0042_openapi_slurmdbd_ping_resp import (
    V0042OpenapiSlurmdbdPingResp,
)
from slurmrestpy.models.v0042_openapi_slurmdbd_qos_removed_resp import (
    V0042OpenapiSlurmdbdQosRemovedResp,
)
from slurmrestpy.models.v0042_openapi_slurmdbd_qos_resp import (
    V0042OpenapiSlurmdbdQosResp,
)
from slurmrestpy.models.v0042_openapi_slurmdbd_stats_resp import (
    V0042OpenapiSlurmdbdStatsResp,
)
from slurmrestpy.models.v0042_openapi_tres_resp import V0042OpenapiTresResp
from slurmrestpy.models.v0042_openapi_users_add_cond_resp import (
    V0042OpenapiUsersAddCondResp,
)
from slurmrestpy.models.v0042_openapi_users_add_cond_resp_str import (
    V0042OpenapiUsersAddCondRespStr,
)
from slurmrestpy.models.v0042_openapi_users_resp import V0042OpenapiUsersResp
from slurmrestpy.models.v0042_openapi_wckey_removed_resp import (
    V0042OpenapiWckeyRemovedResp,
)
from slurmrestpy.models.v0042_openapi_wckey_resp import V0042OpenapiWckeyResp
from slurmrestpy.rest import RESTResponseType


class SlurmdbApi:
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None) -> None:
        if api_client is None:
            api_client = ApiClient.get_default()
        self.api_client = api_client

    @validate_call
    def slurmdb_v0040_delete_account(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAccountsRemovedResp:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_delete_account_with_http_info(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAccountsRemovedResp]:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_delete_account_without_preload_content(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_delete_account_serialize(
        self,
        account_name,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if account_name is not None:
            _path_params["account_name"] = account_name
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.40/account/{account_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_delete_association(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAssocsRemovedResp:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_delete_association_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAssocsRemovedResp]:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_delete_association_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_delete_association_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.40/association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_delete_associations(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAssocsRemovedResp:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_delete_associations_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAssocsRemovedResp]:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_delete_associations_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_delete_associations_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.40/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_delete_cluster(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiClustersRemovedResp:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_delete_cluster_with_http_info(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiClustersRemovedResp]:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_delete_cluster_without_preload_content(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_delete_cluster_serialize(
        self,
        cluster_name,
        classification,
        cluster,
        federation,
        flags,
        format,
        rpc_version,
        usage_end,
        usage_start,
        with_deleted,
        with_usage,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if cluster_name is not None:
            _path_params["cluster_name"] = cluster_name
        # process the query parameters
        if classification is not None:
            _query_params.append(("classification", classification))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if federation is not None:
            _query_params.append(("federation", federation))

        if flags is not None:
            _query_params.append(("flags", flags))

        if format is not None:
            _query_params.append(("format", format))

        if rpc_version is not None:
            _query_params.append(("rpc_version", rpc_version))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.40/cluster/{cluster_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_delete_single_qos(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiSlurmdbdQosRemovedResp:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_delete_single_qos_with_http_info(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiSlurmdbdQosRemovedResp]:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_delete_single_qos_without_preload_content(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_delete_single_qos_serialize(
        self,
        qos,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if qos is not None:
            _path_params["qos"] = qos
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.40/qos/{qos}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_delete_user(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_delete_user_with_http_info(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_delete_user_without_preload_content(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_delete_user_serialize(
        self,
        name,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if name is not None:
            _path_params["name"] = name
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.40/user/{name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_delete_wckey(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiWckeyRemovedResp:
        """Delete wckey


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_delete_wckey_with_http_info(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiWckeyRemovedResp]:
        """Delete wckey


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_delete_wckey_without_preload_content(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete wckey


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_delete_wckey_serialize(
        self,
        id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if id is not None:
            _path_params["id"] = id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.40/wckey/{id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_account(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAccountsResp:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_account_with_http_info(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAccountsResp]:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_account_without_preload_content(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_account_serialize(
        self,
        account_name,
        with_assocs,
        with_coords,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if account_name is not None:
            _path_params["account_name"] = account_name
        # process the query parameters
        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/account/{account_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_accounts(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted accounts")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAccountsResp:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted accounts
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_accounts_serialize(
            description=description,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_accounts_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted accounts")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAccountsResp]:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted accounts
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_accounts_serialize(
            description=description,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_accounts_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted accounts")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted accounts
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_accounts_serialize(
            description=description,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_accounts_serialize(
        self,
        description,
        with_assocs,
        with_coords,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/accounts/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_association(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAssocsResp:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_association_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAssocsResp]:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_association_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_association_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_associations(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAssocsResp:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_associations_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAssocsResp]:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_associations_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information also")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information also
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_associations_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_cluster(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiClustersResp:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_cluster_with_http_info(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiClustersResp]:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_cluster_without_preload_content(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_cluster_serialize(
        self,
        cluster_name,
        classification,
        cluster,
        federation,
        flags,
        format,
        rpc_version,
        usage_end,
        usage_start,
        with_deleted,
        with_usage,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if cluster_name is not None:
            _path_params["cluster_name"] = cluster_name
        # process the query parameters
        if classification is not None:
            _query_params.append(("classification", classification))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if federation is not None:
            _query_params.append(("federation", federation))

        if flags is not None:
            _query_params.append(("flags", flags))

        if format is not None:
            _query_params.append(("format", format))

        if rpc_version is not None:
            _query_params.append(("rpc_version", rpc_version))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/cluster/{cluster_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_clusters(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiClustersResp:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_clusters_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiClustersResp]:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_clusters_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_clusters_serialize(
        self,
        update_time,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/clusters/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_config(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiSlurmdbdConfigResp:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_config_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiSlurmdbdConfigResp]:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_config_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_config_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/config",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_diag(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiSlurmdbdStatsResp:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_diag_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiSlurmdbdStatsResp]:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_diag_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_diag_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/diag/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_instance(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiInstancesResp:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_instance_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiInstancesResp]:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_instance_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_instance_serialize(
        self,
        cluster,
        extra,
        format,
        instance_id,
        instance_type,
        node_list,
        time_end,
        time_start,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if extra is not None:
            _query_params.append(("extra", extra))

        if format is not None:
            _query_params.append(("format", format))

        if instance_id is not None:
            _query_params.append(("instance_id", instance_id))

        if instance_type is not None:
            _query_params.append(("instance_type", instance_type))

        if node_list is not None:
            _query_params.append(("node_list", node_list))

        if time_end is not None:
            _query_params.append(("time_end", time_end))

        if time_start is not None:
            _query_params.append(("time_start", time_start))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/instance/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_instances(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiInstancesResp:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_instances_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiInstancesResp]:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_instances_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_instances_serialize(
        self,
        cluster,
        extra,
        format,
        instance_id,
        instance_type,
        node_list,
        time_end,
        time_start,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if extra is not None:
            _query_params.append(("extra", extra))

        if format is not None:
            _query_params.append(("format", format))

        if instance_id is not None:
            _query_params.append(("instance_id", instance_id))

        if instance_type is not None:
            _query_params.append(("instance_type", instance_type))

        if node_list is not None:
            _query_params.append(("node_list", node_list))

        if time_end is not None:
            _query_params.append(("time_end", time_end))

        if time_start is not None:
            _query_params.append(("time_start", time_start))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/instances/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_job(
        self,
        job_id: Annotated[StrictStr, Field(description="Job id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiSlurmdbdJobsResp:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job id (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_job_with_http_info(
        self,
        job_id: Annotated[StrictStr, Field(description="Job id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiSlurmdbdJobsResp]:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job id (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_job_without_preload_content(
        self,
        job_id: Annotated[StrictStr, Field(description="Job id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job id (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_job_serialize(
        self,
        job_id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if job_id is not None:
            _path_params["job_id"] = job_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/job/{job_id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_jobs(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        cpus_max: Annotated[
            Optional[StrictStr], Field(description="Maximum number of cpus")
        ] = None,
        cpus_min: Annotated[
            Optional[StrictStr], Field(description="Minimum number of cpus")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        nodes_max: Annotated[
            Optional[StrictStr], Field(description="Maximum number of nodes")
        ] = None,
        nodes_min: Annotated[
            Optional[StrictStr], Field(description="Minimum number of nodes")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        timelimit_max: Annotated[
            Optional[StrictStr], Field(description="Maximum timelimit (seconds)")
        ] = None,
        timelimit_min: Annotated[
            Optional[StrictStr], Field(description="Minimum timelimit (seconds)")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        submit_time: Annotated[
            Optional[StrictStr], Field(description="Submit time (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV wckey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiSlurmdbdJobsResp:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param cpus_max: Maximum number of cpus
        :type cpus_max: str
        :param cpus_min: Minimum number of cpus
        :type cpus_min: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param nodes_max: Maximum number of nodes
        :type nodes_max: str
        :param nodes_min: Minimum number of nodes
        :type nodes_min: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param timelimit_max: Maximum timelimit (seconds)
        :type timelimit_max: str
        :param timelimit_min: Minimum timelimit (seconds)
        :type timelimit_min: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param submit_time: Submit time (UNIX timestamp)
        :type submit_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV wckey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            cpus_max=cpus_max,
            cpus_min=cpus_min,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            nodes_max=nodes_max,
            nodes_min=nodes_min,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            timelimit_max=timelimit_max,
            timelimit_min=timelimit_min,
            end_time=end_time,
            start_time=start_time,
            submit_time=submit_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_jobs_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        cpus_max: Annotated[
            Optional[StrictStr], Field(description="Maximum number of cpus")
        ] = None,
        cpus_min: Annotated[
            Optional[StrictStr], Field(description="Minimum number of cpus")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        nodes_max: Annotated[
            Optional[StrictStr], Field(description="Maximum number of nodes")
        ] = None,
        nodes_min: Annotated[
            Optional[StrictStr], Field(description="Minimum number of nodes")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        timelimit_max: Annotated[
            Optional[StrictStr], Field(description="Maximum timelimit (seconds)")
        ] = None,
        timelimit_min: Annotated[
            Optional[StrictStr], Field(description="Minimum timelimit (seconds)")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        submit_time: Annotated[
            Optional[StrictStr], Field(description="Submit time (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV wckey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiSlurmdbdJobsResp]:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param cpus_max: Maximum number of cpus
        :type cpus_max: str
        :param cpus_min: Minimum number of cpus
        :type cpus_min: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param nodes_max: Maximum number of nodes
        :type nodes_max: str
        :param nodes_min: Minimum number of nodes
        :type nodes_min: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param timelimit_max: Maximum timelimit (seconds)
        :type timelimit_max: str
        :param timelimit_min: Minimum timelimit (seconds)
        :type timelimit_min: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param submit_time: Submit time (UNIX timestamp)
        :type submit_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV wckey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            cpus_max=cpus_max,
            cpus_min=cpus_min,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            nodes_max=nodes_max,
            nodes_min=nodes_min,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            timelimit_max=timelimit_max,
            timelimit_min=timelimit_min,
            end_time=end_time,
            start_time=start_time,
            submit_time=submit_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_jobs_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        cpus_max: Annotated[
            Optional[StrictStr], Field(description="Maximum number of cpus")
        ] = None,
        cpus_min: Annotated[
            Optional[StrictStr], Field(description="Minimum number of cpus")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        nodes_max: Annotated[
            Optional[StrictStr], Field(description="Maximum number of nodes")
        ] = None,
        nodes_min: Annotated[
            Optional[StrictStr], Field(description="Minimum number of nodes")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        timelimit_max: Annotated[
            Optional[StrictStr], Field(description="Maximum timelimit (seconds)")
        ] = None,
        timelimit_min: Annotated[
            Optional[StrictStr], Field(description="Minimum timelimit (seconds)")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        submit_time: Annotated[
            Optional[StrictStr], Field(description="Submit time (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV wckey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param cpus_max: Maximum number of cpus
        :type cpus_max: str
        :param cpus_min: Minimum number of cpus
        :type cpus_min: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param nodes_max: Maximum number of nodes
        :type nodes_max: str
        :param nodes_min: Minimum number of nodes
        :type nodes_min: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param timelimit_max: Maximum timelimit (seconds)
        :type timelimit_max: str
        :param timelimit_min: Minimum timelimit (seconds)
        :type timelimit_min: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param submit_time: Submit time (UNIX timestamp)
        :type submit_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV wckey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            cpus_max=cpus_max,
            cpus_min=cpus_min,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            nodes_max=nodes_max,
            nodes_min=nodes_min,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            timelimit_max=timelimit_max,
            timelimit_min=timelimit_min,
            end_time=end_time,
            start_time=start_time,
            submit_time=submit_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_jobs_serialize(
        self,
        account,
        association,
        cluster,
        constraints,
        cpus_max,
        cpus_min,
        scheduler_unset,
        scheduled_on_submit,
        scheduled_by_main,
        scheduled_by_backfill,
        job_started,
        exit_code,
        show_duplicates,
        skip_steps,
        disable_truncate_usage_time,
        whole_hetjob,
        disable_whole_hetjob,
        disable_wait_for_result,
        usage_time_as_submit_time,
        show_batch_script,
        show_job_environment,
        format,
        groups,
        job_name,
        nodes_max,
        nodes_min,
        partition,
        qos,
        reason,
        reservation,
        reservation_id,
        state,
        step,
        timelimit_max,
        timelimit_min,
        end_time,
        start_time,
        submit_time,
        node,
        users,
        wckey,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if association is not None:
            _query_params.append(("association", association))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if constraints is not None:
            _query_params.append(("constraints", constraints))

        if cpus_max is not None:
            _query_params.append(("cpus_max", cpus_max))

        if cpus_min is not None:
            _query_params.append(("cpus_min", cpus_min))

        if scheduler_unset is not None:
            _query_params.append(("scheduler_unset", scheduler_unset))

        if scheduled_on_submit is not None:
            _query_params.append(("scheduled_on_submit", scheduled_on_submit))

        if scheduled_by_main is not None:
            _query_params.append(("scheduled_by_main", scheduled_by_main))

        if scheduled_by_backfill is not None:
            _query_params.append(("scheduled_by_backfill", scheduled_by_backfill))

        if job_started is not None:
            _query_params.append(("job_started", job_started))

        if exit_code is not None:
            _query_params.append(("exit_code", exit_code))

        if show_duplicates is not None:
            _query_params.append(("show_duplicates", show_duplicates))

        if skip_steps is not None:
            _query_params.append(("skip_steps", skip_steps))

        if disable_truncate_usage_time is not None:
            _query_params.append(
                ("disable_truncate_usage_time", disable_truncate_usage_time)
            )

        if whole_hetjob is not None:
            _query_params.append(("whole_hetjob", whole_hetjob))

        if disable_whole_hetjob is not None:
            _query_params.append(("disable_whole_hetjob", disable_whole_hetjob))

        if disable_wait_for_result is not None:
            _query_params.append(("disable_wait_for_result", disable_wait_for_result))

        if usage_time_as_submit_time is not None:
            _query_params.append(
                ("usage_time_as_submit_time", usage_time_as_submit_time)
            )

        if show_batch_script is not None:
            _query_params.append(("show_batch_script", show_batch_script))

        if show_job_environment is not None:
            _query_params.append(("show_job_environment", show_job_environment))

        if format is not None:
            _query_params.append(("format", format))

        if groups is not None:
            _query_params.append(("groups", groups))

        if job_name is not None:
            _query_params.append(("job_name", job_name))

        if nodes_max is not None:
            _query_params.append(("nodes_max", nodes_max))

        if nodes_min is not None:
            _query_params.append(("nodes_min", nodes_min))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if reason is not None:
            _query_params.append(("reason", reason))

        if reservation is not None:
            _query_params.append(("reservation", reservation))

        if reservation_id is not None:
            _query_params.append(("reservation_id", reservation_id))

        if state is not None:
            _query_params.append(("state", state))

        if step is not None:
            _query_params.append(("step", step))

        if timelimit_max is not None:
            _query_params.append(("timelimit_max", timelimit_max))

        if timelimit_min is not None:
            _query_params.append(("timelimit_min", timelimit_min))

        if end_time is not None:
            _query_params.append(("end_time", end_time))

        if start_time is not None:
            _query_params.append(("start_time", start_time))

        if submit_time is not None:
            _query_params.append(("submit_time", submit_time))

        if node is not None:
            _query_params.append(("node", node))

        if users is not None:
            _query_params.append(("users", users))

        if wckey is not None:
            _query_params.append(("wckey", wckey))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/jobs/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_qos(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiSlurmdbdQosResp:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_qos_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiSlurmdbdQosResp]:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_qos_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_qos_serialize(
        self,
        description,
        id,
        format,
        name,
        preempt_mode,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if id is not None:
            _query_params.append(("id", id))

        if format is not None:
            _query_params.append(("format", format))

        if name is not None:
            _query_params.append(("name", name))

        if preempt_mode is not None:
            _query_params.append(("preempt_mode", preempt_mode))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/qos/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_single_qos(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiSlurmdbdQosResp:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_single_qos_with_http_info(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiSlurmdbdQosResp]:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_single_qos_without_preload_content(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_single_qos_serialize(
        self,
        qos,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if qos is not None:
            _path_params["qos"] = qos
        # process the query parameters
        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/qos/{qos}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_tres(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiTresResp:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_tres_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiTresResp]:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_tres_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_tres_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/tres/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_user(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiUsersResp:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include wckeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_user_with_http_info(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiUsersResp]:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include wckeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_user_without_preload_content(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include wckeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_user_serialize(
        self,
        name,
        with_deleted,
        with_assocs,
        with_coords,
        with_wckeys,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if name is not None:
            _path_params["name"] = name
        # process the query parameters
        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_wckeys is not None:
            _query_params.append(("with_wckeys", with_wckeys))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/user/{name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_users(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default wckey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With wckeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiUsersResp:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default wckey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With wckeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_users_with_http_info(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default wckey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With wckeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiUsersResp]:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default wckey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With wckeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_users_without_preload_content(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default wckey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With wckeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default wckey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With wckeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_users_serialize(
        self,
        admin_level,
        default_account,
        default_wckey,
        with_assocs,
        with_coords,
        with_deleted,
        with_wckeys,
        without_defaults,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if admin_level is not None:
            _query_params.append(("admin_level", admin_level))

        if default_account is not None:
            _query_params.append(("default_account", default_account))

        if default_wckey is not None:
            _query_params.append(("default_wckey", default_wckey))

        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_wckeys is not None:
            _query_params.append(("with_wckeys", with_wckeys))

        if without_defaults is not None:
            _query_params.append(("without_defaults", without_defaults))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/users/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_wckey(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiWckeyResp:
        """Get wckey info


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_wckey_with_http_info(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiWckeyResp]:
        """Get wckey info


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_wckey_without_preload_content(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get wckey info


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_wckey_serialize(
        self,
        id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if id is not None:
            _path_params["id"] = id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/wckey/{id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_get_wckeys(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiWckeyResp:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_get_wckeys_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiWckeyResp]:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_get_wckeys_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_get_wckeys_serialize(
        self,
        cluster,
        format,
        id,
        name,
        only_defaults,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if name is not None:
            _query_params.append(("name", name))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.40/wckeys/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_accounts(
        self,
        v0040_openapi_accounts_resp: Annotated[
            Optional[V0040OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Add/update list of accounts


        :param v0040_openapi_accounts_resp: Description of accounts to update/create
        :type v0040_openapi_accounts_resp: V0040OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_accounts_serialize(
            v0040_openapi_accounts_resp=v0040_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_accounts_with_http_info(
        self,
        v0040_openapi_accounts_resp: Annotated[
            Optional[V0040OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Add/update list of accounts


        :param v0040_openapi_accounts_resp: Description of accounts to update/create
        :type v0040_openapi_accounts_resp: V0040OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_accounts_serialize(
            v0040_openapi_accounts_resp=v0040_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_accounts_without_preload_content(
        self,
        v0040_openapi_accounts_resp: Annotated[
            Optional[V0040OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add/update list of accounts


        :param v0040_openapi_accounts_resp: Description of accounts to update/create
        :type v0040_openapi_accounts_resp: V0040OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_accounts_serialize(
            v0040_openapi_accounts_resp=v0040_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_accounts_serialize(
        self,
        v0040_openapi_accounts_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_accounts_resp is not None:
            _body_params = v0040_openapi_accounts_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/accounts/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_accounts_association(
        self,
        v0040_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0040OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiAccountsAddCondRespStr:
        """Add accounts with conditional association


        :param v0040_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0040_openapi_accounts_add_cond_resp: V0040OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_accounts_association_serialize(
            v0040_openapi_accounts_add_cond_resp=v0040_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_accounts_association_with_http_info(
        self,
        v0040_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0040OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiAccountsAddCondRespStr]:
        """Add accounts with conditional association


        :param v0040_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0040_openapi_accounts_add_cond_resp: V0040OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_accounts_association_serialize(
            v0040_openapi_accounts_add_cond_resp=v0040_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_accounts_association_without_preload_content(
        self,
        v0040_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0040OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add accounts with conditional association


        :param v0040_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0040_openapi_accounts_add_cond_resp: V0040OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_accounts_association_serialize(
            v0040_openapi_accounts_add_cond_resp=v0040_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_accounts_association_serialize(
        self,
        v0040_openapi_accounts_add_cond_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_accounts_add_cond_resp is not None:
            _body_params = v0040_openapi_accounts_add_cond_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/accounts_association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_associations(
        self,
        v0040_openapi_assocs_resp: Annotated[
            Optional[V0040OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Set associations info


        :param v0040_openapi_assocs_resp: Job description
        :type v0040_openapi_assocs_resp: V0040OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_associations_serialize(
            v0040_openapi_assocs_resp=v0040_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_associations_with_http_info(
        self,
        v0040_openapi_assocs_resp: Annotated[
            Optional[V0040OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Set associations info


        :param v0040_openapi_assocs_resp: Job description
        :type v0040_openapi_assocs_resp: V0040OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_associations_serialize(
            v0040_openapi_assocs_resp=v0040_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_associations_without_preload_content(
        self,
        v0040_openapi_assocs_resp: Annotated[
            Optional[V0040OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Set associations info


        :param v0040_openapi_assocs_resp: Job description
        :type v0040_openapi_assocs_resp: V0040OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_associations_serialize(
            v0040_openapi_assocs_resp=v0040_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_associations_serialize(
        self,
        v0040_openapi_assocs_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_assocs_resp is not None:
            _body_params = v0040_openapi_assocs_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_clusters(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        v0040_openapi_clusters_resp: Annotated[
            Optional[V0040OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param v0040_openapi_clusters_resp: Cluster add or update descriptions
        :type v0040_openapi_clusters_resp: V0040OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_clusters_serialize(
            update_time=update_time,
            v0040_openapi_clusters_resp=v0040_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_clusters_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        v0040_openapi_clusters_resp: Annotated[
            Optional[V0040OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param v0040_openapi_clusters_resp: Cluster add or update descriptions
        :type v0040_openapi_clusters_resp: V0040OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_clusters_serialize(
            update_time=update_time,
            v0040_openapi_clusters_resp=v0040_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_clusters_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        v0040_openapi_clusters_resp: Annotated[
            Optional[V0040OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param v0040_openapi_clusters_resp: Cluster add or update descriptions
        :type v0040_openapi_clusters_resp: V0040OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_clusters_serialize(
            update_time=update_time,
            v0040_openapi_clusters_resp=v0040_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_clusters_serialize(
        self,
        update_time,
        v0040_openapi_clusters_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_clusters_resp is not None:
            _body_params = v0040_openapi_clusters_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/clusters/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_config(
        self,
        v0040_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0040OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Load all configuration information


        :param v0040_openapi_slurmdbd_config_resp: Add or update config
        :type v0040_openapi_slurmdbd_config_resp: V0040OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_config_serialize(
            v0040_openapi_slurmdbd_config_resp=v0040_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_config_with_http_info(
        self,
        v0040_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0040OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Load all configuration information


        :param v0040_openapi_slurmdbd_config_resp: Add or update config
        :type v0040_openapi_slurmdbd_config_resp: V0040OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_config_serialize(
            v0040_openapi_slurmdbd_config_resp=v0040_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_config_without_preload_content(
        self,
        v0040_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0040OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Load all configuration information


        :param v0040_openapi_slurmdbd_config_resp: Add or update config
        :type v0040_openapi_slurmdbd_config_resp: V0040OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_config_serialize(
            v0040_openapi_slurmdbd_config_resp=v0040_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_config_serialize(
        self,
        v0040_openapi_slurmdbd_config_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_slurmdbd_config_resp is not None:
            _body_params = v0040_openapi_slurmdbd_config_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/config",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_qos(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        v0040_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0040OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param v0040_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0040_openapi_slurmdbd_qos_resp: V0040OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            v0040_openapi_slurmdbd_qos_resp=v0040_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_qos_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        v0040_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0040OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param v0040_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0040_openapi_slurmdbd_qos_resp: V0040OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            v0040_openapi_slurmdbd_qos_resp=v0040_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_qos_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        v0040_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0040OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param v0040_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0040_openapi_slurmdbd_qos_resp: V0040OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            v0040_openapi_slurmdbd_qos_resp=v0040_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_qos_serialize(
        self,
        description,
        id,
        format,
        name,
        preempt_mode,
        with_deleted,
        v0040_openapi_slurmdbd_qos_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if id is not None:
            _query_params.append(("id", id))

        if format is not None:
            _query_params.append(("format", format))

        if name is not None:
            _query_params.append(("name", name))

        if preempt_mode is not None:
            _query_params.append(("preempt_mode", preempt_mode))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_slurmdbd_qos_resp is not None:
            _body_params = v0040_openapi_slurmdbd_qos_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/qos/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_tres(
        self,
        v0040_openapi_tres_resp: Annotated[
            Optional[V0040OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Add TRES


        :param v0040_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0040_openapi_tres_resp: V0040OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_tres_serialize(
            v0040_openapi_tres_resp=v0040_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_tres_with_http_info(
        self,
        v0040_openapi_tres_resp: Annotated[
            Optional[V0040OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Add TRES


        :param v0040_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0040_openapi_tres_resp: V0040OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_tres_serialize(
            v0040_openapi_tres_resp=v0040_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_tres_without_preload_content(
        self,
        v0040_openapi_tres_resp: Annotated[
            Optional[V0040OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add TRES


        :param v0040_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0040_openapi_tres_resp: V0040OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_tres_serialize(
            v0040_openapi_tres_resp=v0040_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_tres_serialize(
        self,
        v0040_openapi_tres_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_tres_resp is not None:
            _body_params = v0040_openapi_tres_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/tres/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_users(
        self,
        v0040_openapi_users_resp: Annotated[
            Optional[V0040OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Update users


        :param v0040_openapi_users_resp: add or update user
        :type v0040_openapi_users_resp: V0040OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_users_serialize(
            v0040_openapi_users_resp=v0040_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_users_with_http_info(
        self,
        v0040_openapi_users_resp: Annotated[
            Optional[V0040OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Update users


        :param v0040_openapi_users_resp: add or update user
        :type v0040_openapi_users_resp: V0040OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_users_serialize(
            v0040_openapi_users_resp=v0040_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_users_without_preload_content(
        self,
        v0040_openapi_users_resp: Annotated[
            Optional[V0040OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Update users


        :param v0040_openapi_users_resp: add or update user
        :type v0040_openapi_users_resp: V0040OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_users_serialize(
            v0040_openapi_users_resp=v0040_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_users_serialize(
        self,
        v0040_openapi_users_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_users_resp is not None:
            _body_params = v0040_openapi_users_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/users/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_users_association(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter partitions since update timestamp"),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0040_openapi_users_add_cond_resp: Annotated[
            Optional[V0040OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiUsersAddCondRespStr:
        """Add users with conditional association


        :param update_time: Filter partitions since update timestamp
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0040_openapi_users_add_cond_resp: Create users with conditional association
        :type v0040_openapi_users_add_cond_resp: V0040OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0040_openapi_users_add_cond_resp=v0040_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_users_association_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter partitions since update timestamp"),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0040_openapi_users_add_cond_resp: Annotated[
            Optional[V0040OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiUsersAddCondRespStr]:
        """Add users with conditional association


        :param update_time: Filter partitions since update timestamp
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0040_openapi_users_add_cond_resp: Create users with conditional association
        :type v0040_openapi_users_add_cond_resp: V0040OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0040_openapi_users_add_cond_resp=v0040_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_users_association_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter partitions since update timestamp"),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0040_openapi_users_add_cond_resp: Annotated[
            Optional[V0040OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add users with conditional association


        :param update_time: Filter partitions since update timestamp
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0040_openapi_users_add_cond_resp: Create users with conditional association
        :type v0040_openapi_users_add_cond_resp: V0040OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0040_openapi_users_add_cond_resp=v0040_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_users_association_serialize(
        self,
        update_time,
        flags,
        v0040_openapi_users_add_cond_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        if flags is not None:
            _query_params.append(("flags", flags))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_users_add_cond_resp is not None:
            _body_params = v0040_openapi_users_add_cond_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/users_association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0040_post_wckeys(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        v0040_openapi_wckey_resp: Annotated[
            Optional[V0040OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0040OpenapiResp:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param v0040_openapi_wckey_resp: wckeys description
        :type v0040_openapi_wckey_resp: V0040OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0040_openapi_wckey_resp=v0040_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0040_post_wckeys_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        v0040_openapi_wckey_resp: Annotated[
            Optional[V0040OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0040OpenapiResp]:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param v0040_openapi_wckey_resp: wckeys description
        :type v0040_openapi_wckey_resp: V0040OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0040_openapi_wckey_resp=v0040_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0040_post_wckeys_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        v0040_openapi_wckey_resp: Annotated[
            Optional[V0040OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param v0040_openapi_wckey_resp: wckeys description
        :type v0040_openapi_wckey_resp: V0040OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0040_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0040_openapi_wckey_resp=v0040_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0040OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0040_post_wckeys_serialize(
        self,
        cluster,
        format,
        id,
        name,
        only_defaults,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        v0040_openapi_wckey_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if name is not None:
            _query_params.append(("name", name))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0040_openapi_wckey_resp is not None:
            _body_params = v0040_openapi_wckey_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.40/wckeys/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_delete_account(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAccountsRemovedResp:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_delete_account_with_http_info(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAccountsRemovedResp]:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_delete_account_without_preload_content(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_delete_account_serialize(
        self,
        account_name,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if account_name is not None:
            _path_params["account_name"] = account_name
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.41/account/{account_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_delete_association(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAssocsRemovedResp:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_delete_association_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAssocsRemovedResp]:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_delete_association_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_delete_association_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.41/association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_delete_associations(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAssocsRemovedResp:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_delete_associations_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAssocsRemovedResp]:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_delete_associations_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_delete_associations_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.41/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_delete_cluster(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiClustersRemovedResp:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_delete_cluster_with_http_info(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiClustersRemovedResp]:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_delete_cluster_without_preload_content(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_delete_cluster_serialize(
        self,
        cluster_name,
        classification,
        cluster,
        federation,
        flags,
        format,
        rpc_version,
        usage_end,
        usage_start,
        with_deleted,
        with_usage,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if cluster_name is not None:
            _path_params["cluster_name"] = cluster_name
        # process the query parameters
        if classification is not None:
            _query_params.append(("classification", classification))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if federation is not None:
            _query_params.append(("federation", federation))

        if flags is not None:
            _query_params.append(("flags", flags))

        if format is not None:
            _query_params.append(("format", format))

        if rpc_version is not None:
            _query_params.append(("rpc_version", rpc_version))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.41/cluster/{cluster_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_delete_single_qos(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiSlurmdbdQosRemovedResp:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_delete_single_qos_with_http_info(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiSlurmdbdQosRemovedResp]:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_delete_single_qos_without_preload_content(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_delete_single_qos_serialize(
        self,
        qos,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if qos is not None:
            _path_params["qos"] = qos
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.41/qos/{qos}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_delete_user(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_delete_user_with_http_info(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_delete_user_without_preload_content(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_delete_user_serialize(
        self,
        name,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if name is not None:
            _path_params["name"] = name
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.41/user/{name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_delete_wckey(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiWckeyRemovedResp:
        """Delete wckey


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_delete_wckey_with_http_info(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiWckeyRemovedResp]:
        """Delete wckey


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_delete_wckey_without_preload_content(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete wckey


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_delete_wckey_serialize(
        self,
        id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if id is not None:
            _path_params["id"] = id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.41/wckey/{id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_account(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAccountsResp:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_account_with_http_info(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAccountsResp]:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_account_without_preload_content(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_account_serialize(
        self,
        account_name,
        with_assocs,
        with_coords,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if account_name is not None:
            _path_params["account_name"] = account_name
        # process the query parameters
        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/account/{account_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_accounts(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        deleted: Annotated[
            Optional[StrictStr], Field(description="include deleted associations")
        ] = None,
        with_associations: Annotated[
            Optional[StrictStr], Field(description="query includes associations")
        ] = None,
        with_coordinators: Annotated[
            Optional[StrictStr], Field(description="query includes coordinators")
        ] = None,
        no_users_are_coords: Annotated[
            Optional[StrictStr], Field(description="remove users as coordinators")
        ] = None,
        users_are_coords: Annotated[
            Optional[StrictStr], Field(description="users are coordinators")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAccountsResp:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param deleted: include deleted associations
        :type deleted: str
        :param with_associations: query includes associations
        :type with_associations: str
        :param with_coordinators: query includes coordinators
        :type with_coordinators: str
        :param no_users_are_coords: remove users as coordinators
        :type no_users_are_coords: str
        :param users_are_coords: users are coordinators
        :type users_are_coords: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_accounts_serialize(
            description=description,
            deleted=deleted,
            with_associations=with_associations,
            with_coordinators=with_coordinators,
            no_users_are_coords=no_users_are_coords,
            users_are_coords=users_are_coords,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_accounts_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        deleted: Annotated[
            Optional[StrictStr], Field(description="include deleted associations")
        ] = None,
        with_associations: Annotated[
            Optional[StrictStr], Field(description="query includes associations")
        ] = None,
        with_coordinators: Annotated[
            Optional[StrictStr], Field(description="query includes coordinators")
        ] = None,
        no_users_are_coords: Annotated[
            Optional[StrictStr], Field(description="remove users as coordinators")
        ] = None,
        users_are_coords: Annotated[
            Optional[StrictStr], Field(description="users are coordinators")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAccountsResp]:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param deleted: include deleted associations
        :type deleted: str
        :param with_associations: query includes associations
        :type with_associations: str
        :param with_coordinators: query includes coordinators
        :type with_coordinators: str
        :param no_users_are_coords: remove users as coordinators
        :type no_users_are_coords: str
        :param users_are_coords: users are coordinators
        :type users_are_coords: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_accounts_serialize(
            description=description,
            deleted=deleted,
            with_associations=with_associations,
            with_coordinators=with_coordinators,
            no_users_are_coords=no_users_are_coords,
            users_are_coords=users_are_coords,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_accounts_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        deleted: Annotated[
            Optional[StrictStr], Field(description="include deleted associations")
        ] = None,
        with_associations: Annotated[
            Optional[StrictStr], Field(description="query includes associations")
        ] = None,
        with_coordinators: Annotated[
            Optional[StrictStr], Field(description="query includes coordinators")
        ] = None,
        no_users_are_coords: Annotated[
            Optional[StrictStr], Field(description="remove users as coordinators")
        ] = None,
        users_are_coords: Annotated[
            Optional[StrictStr], Field(description="users are coordinators")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param deleted: include deleted associations
        :type deleted: str
        :param with_associations: query includes associations
        :type with_associations: str
        :param with_coordinators: query includes coordinators
        :type with_coordinators: str
        :param no_users_are_coords: remove users as coordinators
        :type no_users_are_coords: str
        :param users_are_coords: users are coordinators
        :type users_are_coords: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_accounts_serialize(
            description=description,
            deleted=deleted,
            with_associations=with_associations,
            with_coordinators=with_coordinators,
            no_users_are_coords=no_users_are_coords,
            users_are_coords=users_are_coords,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_accounts_serialize(
        self,
        description,
        deleted,
        with_associations,
        with_coordinators,
        no_users_are_coords,
        users_are_coords,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if deleted is not None:
            _query_params.append(("DELETED", deleted))

        if with_associations is not None:
            _query_params.append(("WithAssociations", with_associations))

        if with_coordinators is not None:
            _query_params.append(("WithCoordinators", with_coordinators))

        if no_users_are_coords is not None:
            _query_params.append(("NoUsersAreCoords", no_users_are_coords))

        if users_are_coords is not None:
            _query_params.append(("UsersAreCoords", users_are_coords))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/accounts/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_association(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAssocsResp:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_association_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAssocsResp]:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_association_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_association_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_associations(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAssocsResp:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_associations_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAssocsResp]:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_associations_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Filter to only defaults")
        ] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted associations")
        ] = None,
        with_raw_qos: Annotated[
            Optional[StrictStr], Field(description="Include a raw qos or delta_qos")
        ] = None,
        with_sub_accts: Annotated[
            Optional[StrictStr], Field(description="Include sub acct information")
        ] = None,
        without_parent_info: Annotated[
            Optional[StrictStr], Field(description="Exclude parent id/name")
        ] = None,
        without_parent_limits: Annotated[
            Optional[StrictStr], Field(description="Exclude limits from parents")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param only_defaults: Filter to only defaults
        :type only_defaults: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted associations
        :type with_deleted: str
        :param with_raw_qos: Include a raw qos or delta_qos
        :type with_raw_qos: str
        :param with_sub_accts: Include sub acct information
        :type with_sub_accts: str
        :param without_parent_info: Exclude parent id/name
        :type without_parent_info: str
        :param without_parent_limits: Exclude limits from parents
        :type without_parent_limits: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            format=format,
            id=id,
            only_defaults=only_defaults,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            with_raw_qos=with_raw_qos,
            with_sub_accts=with_sub_accts,
            without_parent_info=without_parent_info,
            without_parent_limits=without_parent_limits,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_associations_serialize(
        self,
        account,
        cluster,
        default_qos,
        format,
        id,
        only_defaults,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        with_raw_qos,
        with_sub_accts,
        without_parent_info,
        without_parent_limits,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_raw_qos is not None:
            _query_params.append(("with_raw_qos", with_raw_qos))

        if with_sub_accts is not None:
            _query_params.append(("with_sub_accts", with_sub_accts))

        if without_parent_info is not None:
            _query_params.append(("without_parent_info", without_parent_info))

        if without_parent_limits is not None:
            _query_params.append(("without_parent_limits", without_parent_limits))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_cluster(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiClustersResp:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_cluster_with_http_info(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiClustersResp]:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_cluster_without_preload_content(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_cluster_serialize(
        self,
        cluster_name,
        classification,
        cluster,
        federation,
        flags,
        format,
        rpc_version,
        usage_end,
        usage_start,
        with_deleted,
        with_usage,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if cluster_name is not None:
            _path_params["cluster_name"] = cluster_name
        # process the query parameters
        if classification is not None:
            _query_params.append(("classification", classification))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if federation is not None:
            _query_params.append(("federation", federation))

        if flags is not None:
            _query_params.append(("flags", flags))

        if format is not None:
            _query_params.append(("format", format))

        if rpc_version is not None:
            _query_params.append(("rpc_version", rpc_version))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/cluster/{cluster_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_clusters(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiClustersResp:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_clusters_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiClustersResp]:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_clusters_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_clusters_serialize(
        self,
        update_time,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/clusters/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_config(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiSlurmdbdConfigResp:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_config_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiSlurmdbdConfigResp]:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_config_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_config_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/config",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_diag(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiSlurmdbdStatsResp:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_diag_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiSlurmdbdStatsResp]:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_diag_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_diag_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/diag/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_instance(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiInstancesResp:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_instance_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiInstancesResp]:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_instance_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_instance_serialize(
        self,
        cluster,
        extra,
        format,
        instance_id,
        instance_type,
        node_list,
        time_end,
        time_start,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if extra is not None:
            _query_params.append(("extra", extra))

        if format is not None:
            _query_params.append(("format", format))

        if instance_id is not None:
            _query_params.append(("instance_id", instance_id))

        if instance_type is not None:
            _query_params.append(("instance_type", instance_type))

        if node_list is not None:
            _query_params.append(("node_list", node_list))

        if time_end is not None:
            _query_params.append(("time_end", time_end))

        if time_start is not None:
            _query_params.append(("time_start", time_start))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/instance/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_instances(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiInstancesResp:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_instances_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiInstancesResp]:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_instances_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_instances_serialize(
        self,
        cluster,
        extra,
        format,
        instance_id,
        instance_type,
        node_list,
        time_end,
        time_start,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if extra is not None:
            _query_params.append(("extra", extra))

        if format is not None:
            _query_params.append(("format", format))

        if instance_id is not None:
            _query_params.append(("instance_id", instance_id))

        if instance_type is not None:
            _query_params.append(("instance_type", instance_type))

        if node_list is not None:
            _query_params.append(("node_list", node_list))

        if time_end is not None:
            _query_params.append(("time_end", time_end))

        if time_start is not None:
            _query_params.append(("time_start", time_start))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/instances/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_job(
        self,
        job_id: Annotated[StrictStr, Field(description="Job id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiSlurmdbdJobsResp:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job id (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_job_with_http_info(
        self,
        job_id: Annotated[StrictStr, Field(description="Job id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiSlurmdbdJobsResp]:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job id (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_job_without_preload_content(
        self,
        job_id: Annotated[StrictStr, Field(description="Job id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job id (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_job_serialize(
        self,
        job_id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if job_id is not None:
            _path_params["job_id"] = job_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/job/{job_id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_jobs(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV wckey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiSlurmdbdJobsResp:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV wckey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            end_time=end_time,
            start_time=start_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_jobs_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV wckey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiSlurmdbdJobsResp]:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV wckey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            end_time=end_time,
            start_time=start_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_jobs_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV wckey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV wckey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            end_time=end_time,
            start_time=start_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_jobs_serialize(
        self,
        account,
        association,
        cluster,
        constraints,
        scheduler_unset,
        scheduled_on_submit,
        scheduled_by_main,
        scheduled_by_backfill,
        job_started,
        exit_code,
        show_duplicates,
        skip_steps,
        disable_truncate_usage_time,
        whole_hetjob,
        disable_whole_hetjob,
        disable_wait_for_result,
        usage_time_as_submit_time,
        show_batch_script,
        show_job_environment,
        format,
        groups,
        job_name,
        partition,
        qos,
        reason,
        reservation,
        reservation_id,
        state,
        step,
        end_time,
        start_time,
        node,
        users,
        wckey,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if association is not None:
            _query_params.append(("association", association))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if constraints is not None:
            _query_params.append(("constraints", constraints))

        if scheduler_unset is not None:
            _query_params.append(("scheduler_unset", scheduler_unset))

        if scheduled_on_submit is not None:
            _query_params.append(("scheduled_on_submit", scheduled_on_submit))

        if scheduled_by_main is not None:
            _query_params.append(("scheduled_by_main", scheduled_by_main))

        if scheduled_by_backfill is not None:
            _query_params.append(("scheduled_by_backfill", scheduled_by_backfill))

        if job_started is not None:
            _query_params.append(("job_started", job_started))

        if exit_code is not None:
            _query_params.append(("exit_code", exit_code))

        if show_duplicates is not None:
            _query_params.append(("show_duplicates", show_duplicates))

        if skip_steps is not None:
            _query_params.append(("skip_steps", skip_steps))

        if disable_truncate_usage_time is not None:
            _query_params.append(
                ("disable_truncate_usage_time", disable_truncate_usage_time)
            )

        if whole_hetjob is not None:
            _query_params.append(("whole_hetjob", whole_hetjob))

        if disable_whole_hetjob is not None:
            _query_params.append(("disable_whole_hetjob", disable_whole_hetjob))

        if disable_wait_for_result is not None:
            _query_params.append(("disable_wait_for_result", disable_wait_for_result))

        if usage_time_as_submit_time is not None:
            _query_params.append(
                ("usage_time_as_submit_time", usage_time_as_submit_time)
            )

        if show_batch_script is not None:
            _query_params.append(("show_batch_script", show_batch_script))

        if show_job_environment is not None:
            _query_params.append(("show_job_environment", show_job_environment))

        if format is not None:
            _query_params.append(("format", format))

        if groups is not None:
            _query_params.append(("groups", groups))

        if job_name is not None:
            _query_params.append(("job_name", job_name))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if reason is not None:
            _query_params.append(("reason", reason))

        if reservation is not None:
            _query_params.append(("reservation", reservation))

        if reservation_id is not None:
            _query_params.append(("reservation_id", reservation_id))

        if state is not None:
            _query_params.append(("state", state))

        if step is not None:
            _query_params.append(("step", step))

        if end_time is not None:
            _query_params.append(("end_time", end_time))

        if start_time is not None:
            _query_params.append(("start_time", start_time))

        if node is not None:
            _query_params.append(("node", node))

        if users is not None:
            _query_params.append(("users", users))

        if wckey is not None:
            _query_params.append(("wckey", wckey))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/jobs/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_qos(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiSlurmdbdQosResp:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_qos_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiSlurmdbdQosResp]:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_qos_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_qos_serialize(
        self,
        description,
        id,
        format,
        name,
        preempt_mode,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if id is not None:
            _query_params.append(("id", id))

        if format is not None:
            _query_params.append(("format", format))

        if name is not None:
            _query_params.append(("name", name))

        if preempt_mode is not None:
            _query_params.append(("preempt_mode", preempt_mode))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/qos/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_single_qos(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiSlurmdbdQosResp:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_single_qos_with_http_info(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiSlurmdbdQosResp]:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_single_qos_without_preload_content(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_single_qos_serialize(
        self,
        qos,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if qos is not None:
            _path_params["qos"] = qos
        # process the query parameters
        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/qos/{qos}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_tres(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiTresResp:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_tres_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiTresResp]:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_tres_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_tres_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/tres/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_user(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiUsersResp:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include wckeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_user_with_http_info(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiUsersResp]:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include wckeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_user_without_preload_content(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include wckeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_user_serialize(
        self,
        name,
        with_deleted,
        with_assocs,
        with_coords,
        with_wckeys,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if name is not None:
            _path_params["name"] = name
        # process the query parameters
        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_wckeys is not None:
            _query_params.append(("with_wckeys", with_wckeys))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/user/{name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_users(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default wckey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With wckeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiUsersResp:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default wckey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With wckeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_users_with_http_info(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default wckey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With wckeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiUsersResp]:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default wckey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With wckeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_users_without_preload_content(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default wckey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With wckeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default wckey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With wckeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_users_serialize(
        self,
        admin_level,
        default_account,
        default_wckey,
        with_assocs,
        with_coords,
        with_deleted,
        with_wckeys,
        without_defaults,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if admin_level is not None:
            _query_params.append(("admin_level", admin_level))

        if default_account is not None:
            _query_params.append(("default_account", default_account))

        if default_wckey is not None:
            _query_params.append(("default_wckey", default_wckey))

        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_wckeys is not None:
            _query_params.append(("with_wckeys", with_wckeys))

        if without_defaults is not None:
            _query_params.append(("without_defaults", without_defaults))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/users/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_wckey(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiWckeyResp:
        """Get wckey info


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_wckey_with_http_info(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiWckeyResp]:
        """Get wckey info


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_wckey_without_preload_content(
        self,
        id: Annotated[StrictStr, Field(description="wckey id")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get wckey info


        :param id: wckey id (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_wckey_serialize(
        self,
        id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if id is not None:
            _path_params["id"] = id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/wckey/{id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_get_wckeys(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiWckeyResp:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_get_wckeys_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiWckeyResp]:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_get_wckeys_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_get_wckeys_serialize(
        self,
        cluster,
        format,
        id,
        name,
        only_defaults,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if name is not None:
            _query_params.append(("name", name))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.41/wckeys/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_accounts(
        self,
        v0041_openapi_accounts_resp: Annotated[
            Optional[V0041OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Add/update list of accounts


        :param v0041_openapi_accounts_resp: Description of accounts to update/create
        :type v0041_openapi_accounts_resp: V0041OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_accounts_serialize(
            v0041_openapi_accounts_resp=v0041_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_accounts_with_http_info(
        self,
        v0041_openapi_accounts_resp: Annotated[
            Optional[V0041OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Add/update list of accounts


        :param v0041_openapi_accounts_resp: Description of accounts to update/create
        :type v0041_openapi_accounts_resp: V0041OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_accounts_serialize(
            v0041_openapi_accounts_resp=v0041_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_accounts_without_preload_content(
        self,
        v0041_openapi_accounts_resp: Annotated[
            Optional[V0041OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add/update list of accounts


        :param v0041_openapi_accounts_resp: Description of accounts to update/create
        :type v0041_openapi_accounts_resp: V0041OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_accounts_serialize(
            v0041_openapi_accounts_resp=v0041_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_accounts_serialize(
        self,
        v0041_openapi_accounts_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_accounts_resp is not None:
            _body_params = v0041_openapi_accounts_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/accounts/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_accounts_association(
        self,
        v0041_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0041OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiAccountsAddCondRespStr:
        """Add accounts with conditional association


        :param v0041_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0041_openapi_accounts_add_cond_resp: V0041OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_accounts_association_serialize(
            v0041_openapi_accounts_add_cond_resp=v0041_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_accounts_association_with_http_info(
        self,
        v0041_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0041OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiAccountsAddCondRespStr]:
        """Add accounts with conditional association


        :param v0041_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0041_openapi_accounts_add_cond_resp: V0041OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_accounts_association_serialize(
            v0041_openapi_accounts_add_cond_resp=v0041_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_accounts_association_without_preload_content(
        self,
        v0041_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0041OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add accounts with conditional association


        :param v0041_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0041_openapi_accounts_add_cond_resp: V0041OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_accounts_association_serialize(
            v0041_openapi_accounts_add_cond_resp=v0041_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_accounts_association_serialize(
        self,
        v0041_openapi_accounts_add_cond_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_accounts_add_cond_resp is not None:
            _body_params = v0041_openapi_accounts_add_cond_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/accounts_association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_associations(
        self,
        v0041_openapi_assocs_resp: Annotated[
            Optional[V0041OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Set associations info


        :param v0041_openapi_assocs_resp: Job description
        :type v0041_openapi_assocs_resp: V0041OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_associations_serialize(
            v0041_openapi_assocs_resp=v0041_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_associations_with_http_info(
        self,
        v0041_openapi_assocs_resp: Annotated[
            Optional[V0041OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Set associations info


        :param v0041_openapi_assocs_resp: Job description
        :type v0041_openapi_assocs_resp: V0041OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_associations_serialize(
            v0041_openapi_assocs_resp=v0041_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_associations_without_preload_content(
        self,
        v0041_openapi_assocs_resp: Annotated[
            Optional[V0041OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Set associations info


        :param v0041_openapi_assocs_resp: Job description
        :type v0041_openapi_assocs_resp: V0041OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_associations_serialize(
            v0041_openapi_assocs_resp=v0041_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_associations_serialize(
        self,
        v0041_openapi_assocs_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_assocs_resp is not None:
            _body_params = v0041_openapi_assocs_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_clusters(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        v0041_openapi_clusters_resp: Annotated[
            Optional[V0041OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param v0041_openapi_clusters_resp: Cluster add or update descriptions
        :type v0041_openapi_clusters_resp: V0041OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_clusters_serialize(
            update_time=update_time,
            v0041_openapi_clusters_resp=v0041_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_clusters_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        v0041_openapi_clusters_resp: Annotated[
            Optional[V0041OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param v0041_openapi_clusters_resp: Cluster add or update descriptions
        :type v0041_openapi_clusters_resp: V0041OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_clusters_serialize(
            update_time=update_time,
            v0041_openapi_clusters_resp=v0041_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_clusters_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter reservations since update timestamp"),
        ] = None,
        v0041_openapi_clusters_resp: Annotated[
            Optional[V0041OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster list


        :param update_time: Filter reservations since update timestamp
        :type update_time: str
        :param v0041_openapi_clusters_resp: Cluster add or update descriptions
        :type v0041_openapi_clusters_resp: V0041OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_clusters_serialize(
            update_time=update_time,
            v0041_openapi_clusters_resp=v0041_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_clusters_serialize(
        self,
        update_time,
        v0041_openapi_clusters_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_clusters_resp is not None:
            _body_params = v0041_openapi_clusters_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/clusters/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_config(
        self,
        v0041_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0041OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Load all configuration information


        :param v0041_openapi_slurmdbd_config_resp: Add or update config
        :type v0041_openapi_slurmdbd_config_resp: V0041OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_config_serialize(
            v0041_openapi_slurmdbd_config_resp=v0041_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_config_with_http_info(
        self,
        v0041_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0041OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Load all configuration information


        :param v0041_openapi_slurmdbd_config_resp: Add or update config
        :type v0041_openapi_slurmdbd_config_resp: V0041OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_config_serialize(
            v0041_openapi_slurmdbd_config_resp=v0041_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_config_without_preload_content(
        self,
        v0041_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0041OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Load all configuration information


        :param v0041_openapi_slurmdbd_config_resp: Add or update config
        :type v0041_openapi_slurmdbd_config_resp: V0041OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_config_serialize(
            v0041_openapi_slurmdbd_config_resp=v0041_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_config_serialize(
        self,
        v0041_openapi_slurmdbd_config_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_slurmdbd_config_resp is not None:
            _body_params = v0041_openapi_slurmdbd_config_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/config",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_qos(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        v0041_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0041OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param v0041_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0041_openapi_slurmdbd_qos_resp: V0041OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            v0041_openapi_slurmdbd_qos_resp=v0041_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_qos_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        v0041_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0041OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param v0041_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0041_openapi_slurmdbd_qos_resp: V0041OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            v0041_openapi_slurmdbd_qos_resp=v0041_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_qos_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted QOS")
        ] = None,
        v0041_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0041OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param with_deleted: Include deleted QOS
        :type with_deleted: str
        :param v0041_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0041_openapi_slurmdbd_qos_resp: V0041OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_qos_serialize(
            description=description,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            with_deleted=with_deleted,
            v0041_openapi_slurmdbd_qos_resp=v0041_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_qos_serialize(
        self,
        description,
        id,
        format,
        name,
        preempt_mode,
        with_deleted,
        v0041_openapi_slurmdbd_qos_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if id is not None:
            _query_params.append(("id", id))

        if format is not None:
            _query_params.append(("format", format))

        if name is not None:
            _query_params.append(("name", name))

        if preempt_mode is not None:
            _query_params.append(("preempt_mode", preempt_mode))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_slurmdbd_qos_resp is not None:
            _body_params = v0041_openapi_slurmdbd_qos_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/qos/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_tres(
        self,
        v0041_openapi_tres_resp: Annotated[
            Optional[V0041OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Add TRES


        :param v0041_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0041_openapi_tres_resp: V0041OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_tres_serialize(
            v0041_openapi_tres_resp=v0041_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_tres_with_http_info(
        self,
        v0041_openapi_tres_resp: Annotated[
            Optional[V0041OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Add TRES


        :param v0041_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0041_openapi_tres_resp: V0041OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_tres_serialize(
            v0041_openapi_tres_resp=v0041_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_tres_without_preload_content(
        self,
        v0041_openapi_tres_resp: Annotated[
            Optional[V0041OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add TRES


        :param v0041_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0041_openapi_tres_resp: V0041OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_tres_serialize(
            v0041_openapi_tres_resp=v0041_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_tres_serialize(
        self,
        v0041_openapi_tres_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_tres_resp is not None:
            _body_params = v0041_openapi_tres_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/tres/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_users(
        self,
        v0041_openapi_users_resp: Annotated[
            Optional[V0041OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Update users


        :param v0041_openapi_users_resp: add or update user
        :type v0041_openapi_users_resp: V0041OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_users_serialize(
            v0041_openapi_users_resp=v0041_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_users_with_http_info(
        self,
        v0041_openapi_users_resp: Annotated[
            Optional[V0041OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Update users


        :param v0041_openapi_users_resp: add or update user
        :type v0041_openapi_users_resp: V0041OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_users_serialize(
            v0041_openapi_users_resp=v0041_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_users_without_preload_content(
        self,
        v0041_openapi_users_resp: Annotated[
            Optional[V0041OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Update users


        :param v0041_openapi_users_resp: add or update user
        :type v0041_openapi_users_resp: V0041OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_users_serialize(
            v0041_openapi_users_resp=v0041_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_users_serialize(
        self,
        v0041_openapi_users_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_users_resp is not None:
            _body_params = v0041_openapi_users_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/users/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_users_association(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter partitions since update timestamp"),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0041_openapi_users_add_cond_resp: Annotated[
            Optional[V0041OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiUsersAddCondRespStr:
        """Add users with conditional association


        :param update_time: Filter partitions since update timestamp
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0041_openapi_users_add_cond_resp: Create users with conditional association
        :type v0041_openapi_users_add_cond_resp: V0041OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0041_openapi_users_add_cond_resp=v0041_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_users_association_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter partitions since update timestamp"),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0041_openapi_users_add_cond_resp: Annotated[
            Optional[V0041OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiUsersAddCondRespStr]:
        """Add users with conditional association


        :param update_time: Filter partitions since update timestamp
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0041_openapi_users_add_cond_resp: Create users with conditional association
        :type v0041_openapi_users_add_cond_resp: V0041OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0041_openapi_users_add_cond_resp=v0041_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_users_association_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(description="Filter partitions since update timestamp"),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0041_openapi_users_add_cond_resp: Annotated[
            Optional[V0041OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add users with conditional association


        :param update_time: Filter partitions since update timestamp
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0041_openapi_users_add_cond_resp: Create users with conditional association
        :type v0041_openapi_users_add_cond_resp: V0041OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0041_openapi_users_add_cond_resp=v0041_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_users_association_serialize(
        self,
        update_time,
        flags,
        v0041_openapi_users_add_cond_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        if flags is not None:
            _query_params.append(("flags", flags))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_users_add_cond_resp is not None:
            _body_params = v0041_openapi_users_add_cond_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/users_association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0041_post_wckeys(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        v0041_openapi_wckey_resp: Annotated[
            Optional[V0041OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0041OpenapiResp:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param v0041_openapi_wckey_resp: wckeys description
        :type v0041_openapi_wckey_resp: V0041OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0041_openapi_wckey_resp=v0041_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0041_post_wckeys_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        v0041_openapi_wckey_resp: Annotated[
            Optional[V0041OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0041OpenapiResp]:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param v0041_openapi_wckey_resp: wckeys description
        :type v0041_openapi_wckey_resp: V0041OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0041_openapi_wckey_resp=v0041_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0041_post_wckeys_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV id list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted wckeys")
        ] = None,
        v0041_openapi_wckey_resp: Annotated[
            Optional[V0041OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV id list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted wckeys
        :type with_deleted: str
        :param v0041_openapi_wckey_resp: wckeys description
        :type v0041_openapi_wckey_resp: V0041OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0041_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0041_openapi_wckey_resp=v0041_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0041OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0041_post_wckeys_serialize(
        self,
        cluster,
        format,
        id,
        name,
        only_defaults,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        v0041_openapi_wckey_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if name is not None:
            _query_params.append(("name", name))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0041_openapi_wckey_resp is not None:
            _body_params = v0041_openapi_wckey_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.41/wckeys/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_delete_account(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAccountsRemovedResp:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_delete_account_with_http_info(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAccountsRemovedResp]:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_delete_account_without_preload_content(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete account


        :param account_name: Account name (required)
        :type account_name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_account_serialize(
            account_name=account_name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_delete_account_serialize(
        self,
        account_name,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if account_name is not None:
            _path_params["account_name"] = account_name
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.42/account/{account_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_delete_association(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAssocsRemovedResp:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_delete_association_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAssocsRemovedResp]:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_delete_association_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete association


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_delete_association_serialize(
        self,
        account,
        cluster,
        default_qos,
        include_deleted_associations,
        include_usage,
        filter_to_only_defaults,
        include_the_raw_qos_or_delta_qos,
        include_sub_acct_information,
        exclude_parent_id_name,
        exclude_limits_from_parents,
        format,
        id,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if include_deleted_associations is not None:
            _query_params.append(
                ("Include deleted associations", include_deleted_associations)
            )

        if include_usage is not None:
            _query_params.append(("Include usage", include_usage))

        if filter_to_only_defaults is not None:
            _query_params.append(("Filter to only defaults", filter_to_only_defaults))

        if include_the_raw_qos_or_delta_qos is not None:
            _query_params.append(
                ("Include the raw QOS or delta_qos", include_the_raw_qos_or_delta_qos)
            )

        if include_sub_acct_information is not None:
            _query_params.append(
                ("Include sub acct information", include_sub_acct_information)
            )

        if exclude_parent_id_name is not None:
            _query_params.append(("Exclude parent id/name", exclude_parent_id_name))

        if exclude_limits_from_parents is not None:
            _query_params.append(
                ("Exclude limits from parents", exclude_limits_from_parents)
            )

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.42/association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_delete_associations(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAssocsRemovedResp:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_delete_associations_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAssocsRemovedResp]:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_delete_associations_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete associations


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_delete_associations_serialize(
        self,
        account,
        cluster,
        default_qos,
        include_deleted_associations,
        include_usage,
        filter_to_only_defaults,
        include_the_raw_qos_or_delta_qos,
        include_sub_acct_information,
        exclude_parent_id_name,
        exclude_limits_from_parents,
        format,
        id,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if include_deleted_associations is not None:
            _query_params.append(
                ("Include deleted associations", include_deleted_associations)
            )

        if include_usage is not None:
            _query_params.append(("Include usage", include_usage))

        if filter_to_only_defaults is not None:
            _query_params.append(("Filter to only defaults", filter_to_only_defaults))

        if include_the_raw_qos_or_delta_qos is not None:
            _query_params.append(
                ("Include the raw QOS or delta_qos", include_the_raw_qos_or_delta_qos)
            )

        if include_sub_acct_information is not None:
            _query_params.append(
                ("Include sub acct information", include_sub_acct_information)
            )

        if exclude_parent_id_name is not None:
            _query_params.append(("Exclude parent id/name", exclude_parent_id_name))

        if exclude_limits_from_parents is not None:
            _query_params.append(
                ("Exclude limits from parents", exclude_limits_from_parents)
            )

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.42/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_delete_cluster(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiClustersRemovedResp:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_delete_cluster_with_http_info(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiClustersRemovedResp]:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_delete_cluster_without_preload_content(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete cluster


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_delete_cluster_serialize(
        self,
        cluster_name,
        classification,
        cluster,
        federation,
        flags,
        format,
        rpc_version,
        usage_end,
        usage_start,
        with_deleted,
        with_usage,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if cluster_name is not None:
            _path_params["cluster_name"] = cluster_name
        # process the query parameters
        if classification is not None:
            _query_params.append(("classification", classification))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if federation is not None:
            _query_params.append(("federation", federation))

        if flags is not None:
            _query_params.append(("flags", flags))

        if format is not None:
            _query_params.append(("format", format))

        if rpc_version is not None:
            _query_params.append(("rpc_version", rpc_version))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.42/cluster/{cluster_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_delete_single_qos(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdQosRemovedResp:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_delete_single_qos_with_http_info(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdQosRemovedResp]:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_delete_single_qos_without_preload_content(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete QOS


        :param qos: QOS name (required)
        :type qos: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_single_qos_serialize(
            qos=qos,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_delete_single_qos_serialize(
        self,
        qos,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if qos is not None:
            _path_params["qos"] = qos
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.42/qos/{qos}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_delete_user(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_delete_user_with_http_info(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_delete_user_without_preload_content(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete user


        :param name: User name (required)
        :type name: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_user_serialize(
            name=name,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_delete_user_serialize(
        self,
        name,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if name is not None:
            _path_params["name"] = name
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.42/user/{name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_delete_wckey(
        self,
        id: Annotated[StrictStr, Field(description="WCKey ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiWckeyRemovedResp:
        """Delete wckey


        :param id: WCKey ID (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_delete_wckey_with_http_info(
        self,
        id: Annotated[StrictStr, Field(description="WCKey ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiWckeyRemovedResp]:
        """Delete wckey


        :param id: WCKey ID (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_delete_wckey_without_preload_content(
        self,
        id: Annotated[StrictStr, Field(description="WCKey ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete wckey


        :param id: WCKey ID (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_delete_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyRemovedResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_delete_wckey_serialize(
        self,
        id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if id is not None:
            _path_params["id"] = id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="DELETE",
            resource_path="/slurmdb/v0.0.42/wckey/{id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_account(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAccountsResp:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_account_with_http_info(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAccountsResp]:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_account_without_preload_content(
        self,
        account_name: Annotated[StrictStr, Field(description="Account name")],
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get account info


        :param account_name: Account name (required)
        :type account_name: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_deleted: Include deleted
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_account_serialize(
            account_name=account_name,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_account_serialize(
        self,
        account_name,
        with_assocs,
        with_coords,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if account_name is not None:
            _path_params["account_name"] = account_name
        # process the query parameters
        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/account/{account_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_accounts(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        deleted: Annotated[
            Optional[StrictStr], Field(description="include deleted associations")
        ] = None,
        with_associations: Annotated[
            Optional[StrictStr], Field(description="query includes associations")
        ] = None,
        with_coordinators: Annotated[
            Optional[StrictStr], Field(description="query includes coordinators")
        ] = None,
        no_users_are_coords: Annotated[
            Optional[StrictStr], Field(description="remove users as coordinators")
        ] = None,
        users_are_coords: Annotated[
            Optional[StrictStr], Field(description="users are coordinators")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAccountsResp:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param deleted: include deleted associations
        :type deleted: str
        :param with_associations: query includes associations
        :type with_associations: str
        :param with_coordinators: query includes coordinators
        :type with_coordinators: str
        :param no_users_are_coords: remove users as coordinators
        :type no_users_are_coords: str
        :param users_are_coords: users are coordinators
        :type users_are_coords: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_accounts_serialize(
            description=description,
            deleted=deleted,
            with_associations=with_associations,
            with_coordinators=with_coordinators,
            no_users_are_coords=no_users_are_coords,
            users_are_coords=users_are_coords,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_accounts_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        deleted: Annotated[
            Optional[StrictStr], Field(description="include deleted associations")
        ] = None,
        with_associations: Annotated[
            Optional[StrictStr], Field(description="query includes associations")
        ] = None,
        with_coordinators: Annotated[
            Optional[StrictStr], Field(description="query includes coordinators")
        ] = None,
        no_users_are_coords: Annotated[
            Optional[StrictStr], Field(description="remove users as coordinators")
        ] = None,
        users_are_coords: Annotated[
            Optional[StrictStr], Field(description="users are coordinators")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAccountsResp]:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param deleted: include deleted associations
        :type deleted: str
        :param with_associations: query includes associations
        :type with_associations: str
        :param with_coordinators: query includes coordinators
        :type with_coordinators: str
        :param no_users_are_coords: remove users as coordinators
        :type no_users_are_coords: str
        :param users_are_coords: users are coordinators
        :type users_are_coords: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_accounts_serialize(
            description=description,
            deleted=deleted,
            with_associations=with_associations,
            with_coordinators=with_coordinators,
            no_users_are_coords=no_users_are_coords,
            users_are_coords=users_are_coords,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_accounts_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        deleted: Annotated[
            Optional[StrictStr], Field(description="include deleted associations")
        ] = None,
        with_associations: Annotated[
            Optional[StrictStr], Field(description="query includes associations")
        ] = None,
        with_coordinators: Annotated[
            Optional[StrictStr], Field(description="query includes coordinators")
        ] = None,
        no_users_are_coords: Annotated[
            Optional[StrictStr], Field(description="remove users as coordinators")
        ] = None,
        users_are_coords: Annotated[
            Optional[StrictStr], Field(description="users are coordinators")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get account list


        :param description: CSV description list
        :type description: str
        :param deleted: include deleted associations
        :type deleted: str
        :param with_associations: query includes associations
        :type with_associations: str
        :param with_coordinators: query includes coordinators
        :type with_coordinators: str
        :param no_users_are_coords: remove users as coordinators
        :type no_users_are_coords: str
        :param users_are_coords: users are coordinators
        :type users_are_coords: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_accounts_serialize(
            description=description,
            deleted=deleted,
            with_associations=with_associations,
            with_coordinators=with_coordinators,
            no_users_are_coords=no_users_are_coords,
            users_are_coords=users_are_coords,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_accounts_serialize(
        self,
        description,
        deleted,
        with_associations,
        with_coordinators,
        no_users_are_coords,
        users_are_coords,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if deleted is not None:
            _query_params.append(("DELETED", deleted))

        if with_associations is not None:
            _query_params.append(("WithAssociations", with_associations))

        if with_coordinators is not None:
            _query_params.append(("WithCoordinators", with_coordinators))

        if no_users_are_coords is not None:
            _query_params.append(("NoUsersAreCoords", no_users_are_coords))

        if users_are_coords is not None:
            _query_params.append(("UsersAreCoords", users_are_coords))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/accounts/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_association(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAssocsResp:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_association_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAssocsResp]:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_association_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get association info


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_association_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_association_serialize(
        self,
        account,
        cluster,
        default_qos,
        include_deleted_associations,
        include_usage,
        filter_to_only_defaults,
        include_the_raw_qos_or_delta_qos,
        include_sub_acct_information,
        exclude_parent_id_name,
        exclude_limits_from_parents,
        format,
        id,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if include_deleted_associations is not None:
            _query_params.append(
                ("Include deleted associations", include_deleted_associations)
            )

        if include_usage is not None:
            _query_params.append(("Include usage", include_usage))

        if filter_to_only_defaults is not None:
            _query_params.append(("Filter to only defaults", filter_to_only_defaults))

        if include_the_raw_qos_or_delta_qos is not None:
            _query_params.append(
                ("Include the raw QOS or delta_qos", include_the_raw_qos_or_delta_qos)
            )

        if include_sub_acct_information is not None:
            _query_params.append(
                ("Include sub acct information", include_sub_acct_information)
            )

        if exclude_parent_id_name is not None:
            _query_params.append(("Exclude parent id/name", exclude_parent_id_name))

        if exclude_limits_from_parents is not None:
            _query_params.append(
                ("Exclude limits from parents", exclude_limits_from_parents)
            )

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_associations(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAssocsResp:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_associations_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAssocsResp]:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_associations_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV accounts list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        default_qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS list")
        ] = None,
        include_deleted_associations: Optional[StrictStr] = None,
        include_usage: Optional[StrictStr] = None,
        filter_to_only_defaults: Optional[StrictStr] = None,
        include_the_raw_qos_or_delta_qos: Optional[StrictStr] = None,
        include_sub_acct_information: Optional[StrictStr] = None,
        exclude_parent_id_name: Optional[StrictStr] = None,
        exclude_limits_from_parents: Optional[StrictStr] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        parent_account: Annotated[
            Optional[StrictStr], Field(description="CSV names of parent account")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[Optional[StrictStr], Field(description="CSV QOS list")] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get association list


        :param account: CSV accounts list
        :type account: str
        :param cluster: CSV clusters list
        :type cluster: str
        :param default_qos: CSV QOS list
        :type default_qos: str
        :param include_deleted_associations:
        :type include_deleted_associations: str
        :param include_usage:
        :type include_usage: str
        :param filter_to_only_defaults:
        :type filter_to_only_defaults: str
        :param include_the_raw_qos_or_delta_qos:
        :type include_the_raw_qos_or_delta_qos: str
        :param include_sub_acct_information:
        :type include_sub_acct_information: str
        :param exclude_parent_id_name:
        :type exclude_parent_id_name: str
        :param exclude_limits_from_parents:
        :type exclude_limits_from_parents: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param parent_account: CSV names of parent account
        :type parent_account: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS list
        :type qos: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_associations_serialize(
            account=account,
            cluster=cluster,
            default_qos=default_qos,
            include_deleted_associations=include_deleted_associations,
            include_usage=include_usage,
            filter_to_only_defaults=filter_to_only_defaults,
            include_the_raw_qos_or_delta_qos=include_the_raw_qos_or_delta_qos,
            include_sub_acct_information=include_sub_acct_information,
            exclude_parent_id_name=exclude_parent_id_name,
            exclude_limits_from_parents=exclude_limits_from_parents,
            format=format,
            id=id,
            parent_account=parent_account,
            partition=partition,
            qos=qos,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAssocsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_associations_serialize(
        self,
        account,
        cluster,
        default_qos,
        include_deleted_associations,
        include_usage,
        filter_to_only_defaults,
        include_the_raw_qos_or_delta_qos,
        include_sub_acct_information,
        exclude_parent_id_name,
        exclude_limits_from_parents,
        format,
        id,
        parent_account,
        partition,
        qos,
        usage_end,
        usage_start,
        user,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if default_qos is not None:
            _query_params.append(("default_qos", default_qos))

        if include_deleted_associations is not None:
            _query_params.append(
                ("Include deleted associations", include_deleted_associations)
            )

        if include_usage is not None:
            _query_params.append(("Include usage", include_usage))

        if filter_to_only_defaults is not None:
            _query_params.append(("Filter to only defaults", filter_to_only_defaults))

        if include_the_raw_qos_or_delta_qos is not None:
            _query_params.append(
                ("Include the raw QOS or delta_qos", include_the_raw_qos_or_delta_qos)
            )

        if include_sub_acct_information is not None:
            _query_params.append(
                ("Include sub acct information", include_sub_acct_information)
            )

        if exclude_parent_id_name is not None:
            _query_params.append(("Exclude parent id/name", exclude_parent_id_name))

        if exclude_limits_from_parents is not None:
            _query_params.append(
                ("Exclude limits from parents", exclude_limits_from_parents)
            )

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if parent_account is not None:
            _query_params.append(("parent_account", parent_account))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_cluster(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiClustersResp:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_cluster_with_http_info(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiClustersResp]:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_cluster_without_preload_content(
        self,
        cluster_name: Annotated[StrictStr, Field(description="Cluster name")],
        classification: Annotated[
            Optional[StrictStr], Field(description="Type of machine")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        federation: Annotated[
            Optional[StrictStr], Field(description="CSV federation list")
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        rpc_version: Annotated[
            Optional[StrictStr], Field(description="CSV RPC version list")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted clusters")
        ] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster info


        :param cluster_name: Cluster name (required)
        :type cluster_name: str
        :param classification: Type of machine
        :type classification: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param federation: CSV federation list
        :type federation: str
        :param flags: Query flags
        :type flags: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param rpc_version: CSV RPC version list
        :type rpc_version: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param with_deleted: Include deleted clusters
        :type with_deleted: str
        :param with_usage: Include usage
        :type with_usage: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_cluster_serialize(
            cluster_name=cluster_name,
            classification=classification,
            cluster=cluster,
            federation=federation,
            flags=flags,
            format=format,
            rpc_version=rpc_version,
            usage_end=usage_end,
            usage_start=usage_start,
            with_deleted=with_deleted,
            with_usage=with_usage,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_cluster_serialize(
        self,
        cluster_name,
        classification,
        cluster,
        federation,
        flags,
        format,
        rpc_version,
        usage_end,
        usage_start,
        with_deleted,
        with_usage,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if cluster_name is not None:
            _path_params["cluster_name"] = cluster_name
        # process the query parameters
        if classification is not None:
            _query_params.append(("classification", classification))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if federation is not None:
            _query_params.append(("federation", federation))

        if flags is not None:
            _query_params.append(("flags", flags))

        if format is not None:
            _query_params.append(("format", format))

        if rpc_version is not None:
            _query_params.append(("rpc_version", rpc_version))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/cluster/{cluster_name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_clusters(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query reservations updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiClustersResp:
        """Get cluster list


        :param update_time: Query reservations updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_clusters_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query reservations updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiClustersResp]:
        """Get cluster list


        :param update_time: Query reservations updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_clusters_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query reservations updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster list


        :param update_time: Query reservations updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_clusters_serialize(
            update_time=update_time,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiClustersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_clusters_serialize(
        self,
        update_time,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/clusters/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_config(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdConfigResp:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_config_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdConfigResp]:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_config_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Dump all configuration information


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_config_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdConfigResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_config_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/config",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_diag(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdStatsResp:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_diag_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdStatsResp]:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_diag_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get slurmdb diagnostics


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_diag_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdStatsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_diag_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/diag/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_instance(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiInstancesResp:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_instance_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiInstancesResp]:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_instance_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get instance info


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_instance_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_instance_serialize(
        self,
        cluster,
        extra,
        format,
        instance_id,
        instance_type,
        node_list,
        time_end,
        time_start,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if extra is not None:
            _query_params.append(("extra", extra))

        if format is not None:
            _query_params.append(("format", format))

        if instance_id is not None:
            _query_params.append(("instance_id", instance_id))

        if instance_type is not None:
            _query_params.append(("instance_type", instance_type))

        if node_list is not None:
            _query_params.append(("node_list", node_list))

        if time_end is not None:
            _query_params.append(("time_end", time_end))

        if time_start is not None:
            _query_params.append(("time_start", time_start))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/instance/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_instances(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiInstancesResp:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_instances_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiInstancesResp]:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_instances_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV clusters list")
        ] = None,
        extra: Annotated[
            Optional[StrictStr], Field(description="CSV extra list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        instance_id: Annotated[
            Optional[StrictStr], Field(description="CSV instance_id list")
        ] = None,
        instance_type: Annotated[
            Optional[StrictStr], Field(description="CSV instance_type list")
        ] = None,
        node_list: Annotated[
            Optional[StrictStr], Field(description="Ranged node string")
        ] = None,
        time_end: Annotated[
            Optional[StrictStr], Field(description="Time end (UNIX timestamp)")
        ] = None,
        time_start: Annotated[
            Optional[StrictStr], Field(description="Time start (UNIX timestamp)")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get instance list


        :param cluster: CSV clusters list
        :type cluster: str
        :param extra: CSV extra list
        :type extra: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param instance_id: CSV instance_id list
        :type instance_id: str
        :param instance_type: CSV instance_type list
        :type instance_type: str
        :param node_list: Ranged node string
        :type node_list: str
        :param time_end: Time end (UNIX timestamp)
        :type time_end: str
        :param time_start: Time start (UNIX timestamp)
        :type time_start: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_instances_serialize(
            cluster=cluster,
            extra=extra,
            format=format,
            instance_id=instance_id,
            instance_type=instance_type,
            node_list=node_list,
            time_end=time_end,
            time_start=time_start,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiInstancesResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_instances_serialize(
        self,
        cluster,
        extra,
        format,
        instance_id,
        instance_type,
        node_list,
        time_end,
        time_start,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if extra is not None:
            _query_params.append(("extra", extra))

        if format is not None:
            _query_params.append(("format", format))

        if instance_id is not None:
            _query_params.append(("instance_id", instance_id))

        if instance_type is not None:
            _query_params.append(("instance_type", instance_type))

        if node_list is not None:
            _query_params.append(("node_list", node_list))

        if time_end is not None:
            _query_params.append(("time_end", time_end))

        if time_start is not None:
            _query_params.append(("time_start", time_start))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/instances/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_job(
        self,
        job_id: Annotated[StrictStr, Field(description="Job ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdJobsResp:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job ID (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_job_with_http_info(
        self,
        job_id: Annotated[StrictStr, Field(description="Job ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdJobsResp]:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job ID (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_job_without_preload_content(
        self,
        job_id: Annotated[StrictStr, Field(description="Job ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get job info

        This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.

        :param job_id: Job ID (required)
        :type job_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_job_serialize(
            job_id=job_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_job_serialize(
        self,
        job_id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if job_id is not None:
            _path_params["job_id"] = job_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/job/{job_id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_jobs(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV WCKey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdJobsResp:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV WCKey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            end_time=end_time,
            start_time=start_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_jobs_with_http_info(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV WCKey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdJobsResp]:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV WCKey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            end_time=end_time,
            start_time=start_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_jobs_without_preload_content(
        self,
        account: Annotated[
            Optional[StrictStr], Field(description="CSV account list")
        ] = None,
        association: Annotated[
            Optional[StrictStr], Field(description="CSV association list")
        ] = None,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster list")
        ] = None,
        constraints: Annotated[
            Optional[StrictStr], Field(description="CSV constraint list")
        ] = None,
        scheduler_unset: Annotated[
            Optional[StrictStr], Field(description="Schedule bits not set")
        ] = None,
        scheduled_on_submit: Annotated[
            Optional[StrictStr], Field(description="Job was started on submit")
        ] = None,
        scheduled_by_main: Annotated[
            Optional[StrictStr],
            Field(description="Job was started from main scheduler"),
        ] = None,
        scheduled_by_backfill: Annotated[
            Optional[StrictStr], Field(description="Job was started from backfill")
        ] = None,
        job_started: Annotated[
            Optional[StrictStr], Field(description="Job start RPC was received")
        ] = None,
        exit_code: Annotated[
            Optional[StrictStr], Field(description="Job exit code (numeric)")
        ] = None,
        show_duplicates: Annotated[
            Optional[StrictStr], Field(description="Include duplicate job entries")
        ] = None,
        skip_steps: Annotated[
            Optional[StrictStr], Field(description="Exclude job step details")
        ] = None,
        disable_truncate_usage_time: Annotated[
            Optional[StrictStr],
            Field(description="Do not truncate the time to usage_start and usage_end"),
        ] = None,
        whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Include details on all hetjob components"),
        ] = None,
        disable_whole_hetjob: Annotated[
            Optional[StrictStr],
            Field(description="Only show details on specified hetjob components"),
        ] = None,
        disable_wait_for_result: Annotated[
            Optional[StrictStr],
            Field(description="Tell dbd not to wait for the result"),
        ] = None,
        usage_time_as_submit_time: Annotated[
            Optional[StrictStr],
            Field(description="Use usage_time as the submit_time of the job"),
        ] = None,
        show_batch_script: Annotated[
            Optional[StrictStr], Field(description="Include job script")
        ] = None,
        show_job_environment: Annotated[
            Optional[StrictStr], Field(description="Include job environment")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        groups: Annotated[
            Optional[StrictStr], Field(description="CSV group list")
        ] = None,
        job_name: Annotated[
            Optional[StrictStr], Field(description="CSV job name list")
        ] = None,
        partition: Annotated[
            Optional[StrictStr], Field(description="CSV partition name list")
        ] = None,
        qos: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        reason: Annotated[
            Optional[StrictStr], Field(description="CSV reason list")
        ] = None,
        reservation: Annotated[
            Optional[StrictStr], Field(description="CSV reservation name list")
        ] = None,
        reservation_id: Annotated[
            Optional[StrictStr], Field(description="CSV reservation ID list")
        ] = None,
        state: Annotated[
            Optional[StrictStr], Field(description="CSV state list")
        ] = None,
        step: Annotated[
            Optional[StrictStr], Field(description="CSV step id list")
        ] = None,
        end_time: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        start_time: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        node: Annotated[
            Optional[StrictStr], Field(description="Ranged node string where jobs ran")
        ] = None,
        users: Annotated[
            Optional[StrictStr], Field(description="CSV user name list")
        ] = None,
        wckey: Annotated[
            Optional[StrictStr], Field(description="CSV WCKey list")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get job list


        :param account: CSV account list
        :type account: str
        :param association: CSV association list
        :type association: str
        :param cluster: CSV cluster list
        :type cluster: str
        :param constraints: CSV constraint list
        :type constraints: str
        :param scheduler_unset: Schedule bits not set
        :type scheduler_unset: str
        :param scheduled_on_submit: Job was started on submit
        :type scheduled_on_submit: str
        :param scheduled_by_main: Job was started from main scheduler
        :type scheduled_by_main: str
        :param scheduled_by_backfill: Job was started from backfill
        :type scheduled_by_backfill: str
        :param job_started: Job start RPC was received
        :type job_started: str
        :param exit_code: Job exit code (numeric)
        :type exit_code: str
        :param show_duplicates: Include duplicate job entries
        :type show_duplicates: str
        :param skip_steps: Exclude job step details
        :type skip_steps: str
        :param disable_truncate_usage_time: Do not truncate the time to usage_start and usage_end
        :type disable_truncate_usage_time: str
        :param whole_hetjob: Include details on all hetjob components
        :type whole_hetjob: str
        :param disable_whole_hetjob: Only show details on specified hetjob components
        :type disable_whole_hetjob: str
        :param disable_wait_for_result: Tell dbd not to wait for the result
        :type disable_wait_for_result: str
        :param usage_time_as_submit_time: Use usage_time as the submit_time of the job
        :type usage_time_as_submit_time: str
        :param show_batch_script: Include job script
        :type show_batch_script: str
        :param show_job_environment: Include job environment
        :type show_job_environment: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param groups: CSV group list
        :type groups: str
        :param job_name: CSV job name list
        :type job_name: str
        :param partition: CSV partition name list
        :type partition: str
        :param qos: CSV QOS name list
        :type qos: str
        :param reason: CSV reason list
        :type reason: str
        :param reservation: CSV reservation name list
        :type reservation: str
        :param reservation_id: CSV reservation ID list
        :type reservation_id: str
        :param state: CSV state list
        :type state: str
        :param step: CSV step id list
        :type step: str
        :param end_time: Usage end (UNIX timestamp)
        :type end_time: str
        :param start_time: Usage start (UNIX timestamp)
        :type start_time: str
        :param node: Ranged node string where jobs ran
        :type node: str
        :param users: CSV user name list
        :type users: str
        :param wckey: CSV WCKey list
        :type wckey: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_jobs_serialize(
            account=account,
            association=association,
            cluster=cluster,
            constraints=constraints,
            scheduler_unset=scheduler_unset,
            scheduled_on_submit=scheduled_on_submit,
            scheduled_by_main=scheduled_by_main,
            scheduled_by_backfill=scheduled_by_backfill,
            job_started=job_started,
            exit_code=exit_code,
            show_duplicates=show_duplicates,
            skip_steps=skip_steps,
            disable_truncate_usage_time=disable_truncate_usage_time,
            whole_hetjob=whole_hetjob,
            disable_whole_hetjob=disable_whole_hetjob,
            disable_wait_for_result=disable_wait_for_result,
            usage_time_as_submit_time=usage_time_as_submit_time,
            show_batch_script=show_batch_script,
            show_job_environment=show_job_environment,
            format=format,
            groups=groups,
            job_name=job_name,
            partition=partition,
            qos=qos,
            reason=reason,
            reservation=reservation,
            reservation_id=reservation_id,
            state=state,
            step=step,
            end_time=end_time,
            start_time=start_time,
            node=node,
            users=users,
            wckey=wckey,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdJobsResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_jobs_serialize(
        self,
        account,
        association,
        cluster,
        constraints,
        scheduler_unset,
        scheduled_on_submit,
        scheduled_by_main,
        scheduled_by_backfill,
        job_started,
        exit_code,
        show_duplicates,
        skip_steps,
        disable_truncate_usage_time,
        whole_hetjob,
        disable_whole_hetjob,
        disable_wait_for_result,
        usage_time_as_submit_time,
        show_batch_script,
        show_job_environment,
        format,
        groups,
        job_name,
        partition,
        qos,
        reason,
        reservation,
        reservation_id,
        state,
        step,
        end_time,
        start_time,
        node,
        users,
        wckey,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if account is not None:
            _query_params.append(("account", account))

        if association is not None:
            _query_params.append(("association", association))

        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if constraints is not None:
            _query_params.append(("constraints", constraints))

        if scheduler_unset is not None:
            _query_params.append(("scheduler_unset", scheduler_unset))

        if scheduled_on_submit is not None:
            _query_params.append(("scheduled_on_submit", scheduled_on_submit))

        if scheduled_by_main is not None:
            _query_params.append(("scheduled_by_main", scheduled_by_main))

        if scheduled_by_backfill is not None:
            _query_params.append(("scheduled_by_backfill", scheduled_by_backfill))

        if job_started is not None:
            _query_params.append(("job_started", job_started))

        if exit_code is not None:
            _query_params.append(("exit_code", exit_code))

        if show_duplicates is not None:
            _query_params.append(("show_duplicates", show_duplicates))

        if skip_steps is not None:
            _query_params.append(("skip_steps", skip_steps))

        if disable_truncate_usage_time is not None:
            _query_params.append(
                ("disable_truncate_usage_time", disable_truncate_usage_time)
            )

        if whole_hetjob is not None:
            _query_params.append(("whole_hetjob", whole_hetjob))

        if disable_whole_hetjob is not None:
            _query_params.append(("disable_whole_hetjob", disable_whole_hetjob))

        if disable_wait_for_result is not None:
            _query_params.append(("disable_wait_for_result", disable_wait_for_result))

        if usage_time_as_submit_time is not None:
            _query_params.append(
                ("usage_time_as_submit_time", usage_time_as_submit_time)
            )

        if show_batch_script is not None:
            _query_params.append(("show_batch_script", show_batch_script))

        if show_job_environment is not None:
            _query_params.append(("show_job_environment", show_job_environment))

        if format is not None:
            _query_params.append(("format", format))

        if groups is not None:
            _query_params.append(("groups", groups))

        if job_name is not None:
            _query_params.append(("job_name", job_name))

        if partition is not None:
            _query_params.append(("partition", partition))

        if qos is not None:
            _query_params.append(("qos", qos))

        if reason is not None:
            _query_params.append(("reason", reason))

        if reservation is not None:
            _query_params.append(("reservation", reservation))

        if reservation_id is not None:
            _query_params.append(("reservation_id", reservation_id))

        if state is not None:
            _query_params.append(("state", state))

        if step is not None:
            _query_params.append(("step", step))

        if end_time is not None:
            _query_params.append(("end_time", end_time))

        if start_time is not None:
            _query_params.append(("start_time", start_time))

        if node is not None:
            _query_params.append(("node", node))

        if users is not None:
            _query_params.append(("users", users))

        if wckey is not None:
            _query_params.append(("wckey", wckey))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/jobs/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_ping(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdPingResp:
        """ping test


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_ping_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdPingResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_ping_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdPingResp]:
        """ping test


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_ping_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdPingResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_ping_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """ping test


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_ping_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdPingResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_ping_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/ping/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_qos(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        include_deleted_qos: Optional[StrictStr] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdQosResp:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param include_deleted_qos:
        :type include_deleted_qos: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_qos_serialize(
            description=description,
            include_deleted_qos=include_deleted_qos,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_qos_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        include_deleted_qos: Optional[StrictStr] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdQosResp]:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param include_deleted_qos:
        :type include_deleted_qos: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_qos_serialize(
            description=description,
            include_deleted_qos=include_deleted_qos,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_qos_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        include_deleted_qos: Optional[StrictStr] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get QOS list


        :param description: CSV description list
        :type description: str
        :param include_deleted_qos:
        :type include_deleted_qos: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_qos_serialize(
            description=description,
            include_deleted_qos=include_deleted_qos,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_qos_serialize(
        self,
        description,
        include_deleted_qos,
        id,
        format,
        name,
        preempt_mode,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if include_deleted_qos is not None:
            _query_params.append(("Include deleted QOS", include_deleted_qos))

        if id is not None:
            _query_params.append(("id", id))

        if format is not None:
            _query_params.append(("format", format))

        if name is not None:
            _query_params.append(("name", name))

        if preempt_mode is not None:
            _query_params.append(("preempt_mode", preempt_mode))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/qos/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_single_qos(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiSlurmdbdQosResp:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_single_qos_with_http_info(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiSlurmdbdQosResp]:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_single_qos_without_preload_content(
        self,
        qos: Annotated[StrictStr, Field(description="QOS name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Query includes deleted QOS")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get QOS info


        :param qos: QOS name (required)
        :type qos: str
        :param with_deleted: Query includes deleted QOS
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_single_qos_serialize(
            qos=qos,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiSlurmdbdQosResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_single_qos_serialize(
        self,
        qos,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if qos is not None:
            _path_params["qos"] = qos
        # process the query parameters
        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/qos/{qos}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_tres(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiTresResp:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_tres_with_http_info(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiTresResp]:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_tres_without_preload_content(
        self,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get TRES info


        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_tres_serialize(
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiTresResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_tres_serialize(
        self,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/tres/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_user(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include WCKeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiUsersResp:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include WCKeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_user_with_http_info(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include WCKeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiUsersResp]:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include WCKeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_user_without_preload_content(
        self,
        name: Annotated[StrictStr, Field(description="User name")],
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted users")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="Include associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="Include coordinators")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="Include WCKeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get user info


        :param name: User name (required)
        :type name: str
        :param with_deleted: Include deleted users
        :type with_deleted: str
        :param with_assocs: Include associations
        :type with_assocs: str
        :param with_coords: Include coordinators
        :type with_coords: str
        :param with_wckeys: Include WCKeys
        :type with_wckeys: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_user_serialize(
            name=name,
            with_deleted=with_deleted,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_wckeys=with_wckeys,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_user_serialize(
        self,
        name,
        with_deleted,
        with_assocs,
        with_coords,
        with_wckeys,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if name is not None:
            _path_params["name"] = name
        # process the query parameters
        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_wckeys is not None:
            _query_params.append(("with_wckeys", with_wckeys))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/user/{name}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_users(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default WCKey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With WCKeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiUsersResp:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default WCKey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With WCKeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_users_with_http_info(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default WCKey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With WCKeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiUsersResp]:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default WCKey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With WCKeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_users_without_preload_content(
        self,
        admin_level: Annotated[
            Optional[StrictStr], Field(description="Administrator level")
        ] = None,
        default_account: Annotated[
            Optional[StrictStr], Field(description="CSV default account list")
        ] = None,
        default_wckey: Annotated[
            Optional[StrictStr], Field(description="CSV default WCKey list")
        ] = None,
        with_assocs: Annotated[
            Optional[StrictStr], Field(description="With associations")
        ] = None,
        with_coords: Annotated[
            Optional[StrictStr], Field(description="With coordinators")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="With deleted")
        ] = None,
        with_wckeys: Annotated[
            Optional[StrictStr], Field(description="With WCKeys")
        ] = None,
        without_defaults: Annotated[
            Optional[StrictStr], Field(description="Exclude defaults")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get user list


        :param admin_level: Administrator level
        :type admin_level: str
        :param default_account: CSV default account list
        :type default_account: str
        :param default_wckey: CSV default WCKey list
        :type default_wckey: str
        :param with_assocs: With associations
        :type with_assocs: str
        :param with_coords: With coordinators
        :type with_coords: str
        :param with_deleted: With deleted
        :type with_deleted: str
        :param with_wckeys: With WCKeys
        :type with_wckeys: str
        :param without_defaults: Exclude defaults
        :type without_defaults: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_users_serialize(
            admin_level=admin_level,
            default_account=default_account,
            default_wckey=default_wckey,
            with_assocs=with_assocs,
            with_coords=with_coords,
            with_deleted=with_deleted,
            with_wckeys=with_wckeys,
            without_defaults=without_defaults,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_users_serialize(
        self,
        admin_level,
        default_account,
        default_wckey,
        with_assocs,
        with_coords,
        with_deleted,
        with_wckeys,
        without_defaults,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if admin_level is not None:
            _query_params.append(("admin_level", admin_level))

        if default_account is not None:
            _query_params.append(("default_account", default_account))

        if default_wckey is not None:
            _query_params.append(("default_wckey", default_wckey))

        if with_assocs is not None:
            _query_params.append(("with_assocs", with_assocs))

        if with_coords is not None:
            _query_params.append(("with_coords", with_coords))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        if with_wckeys is not None:
            _query_params.append(("with_wckeys", with_wckeys))

        if without_defaults is not None:
            _query_params.append(("without_defaults", without_defaults))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/users/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_wckey(
        self,
        id: Annotated[StrictStr, Field(description="WCKey ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiWckeyResp:
        """Get wckey info


        :param id: WCKey ID (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_wckey_with_http_info(
        self,
        id: Annotated[StrictStr, Field(description="WCKey ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiWckeyResp]:
        """Get wckey info


        :param id: WCKey ID (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_wckey_without_preload_content(
        self,
        id: Annotated[StrictStr, Field(description="WCKey ID")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get wckey info


        :param id: WCKey ID (required)
        :type id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_wckey_serialize(
            id=id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_wckey_serialize(
        self,
        id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if id is not None:
            _path_params["id"] = id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/wckey/{id}",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_get_wckeys(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted WCKeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiWckeyResp:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted WCKeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_get_wckeys_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted WCKeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiWckeyResp]:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted WCKeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_get_wckeys_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted WCKeys")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get wckey list


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted WCKeys
        :type with_deleted: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_get_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiWckeyResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_get_wckeys_serialize(
        self,
        cluster,
        format,
        id,
        name,
        only_defaults,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if name is not None:
            _query_params.append(("name", name))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="GET",
            resource_path="/slurmdb/v0.0.42/wckeys/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_accounts(
        self,
        v0042_openapi_accounts_resp: Annotated[
            Optional[V0042OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Add/update list of accounts


        :param v0042_openapi_accounts_resp: Description of accounts to update/create
        :type v0042_openapi_accounts_resp: V0042OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_accounts_serialize(
            v0042_openapi_accounts_resp=v0042_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_accounts_with_http_info(
        self,
        v0042_openapi_accounts_resp: Annotated[
            Optional[V0042OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Add/update list of accounts


        :param v0042_openapi_accounts_resp: Description of accounts to update/create
        :type v0042_openapi_accounts_resp: V0042OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_accounts_serialize(
            v0042_openapi_accounts_resp=v0042_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_accounts_without_preload_content(
        self,
        v0042_openapi_accounts_resp: Annotated[
            Optional[V0042OpenapiAccountsResp],
            Field(description="Description of accounts to update/create"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add/update list of accounts


        :param v0042_openapi_accounts_resp: Description of accounts to update/create
        :type v0042_openapi_accounts_resp: V0042OpenapiAccountsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_accounts_serialize(
            v0042_openapi_accounts_resp=v0042_openapi_accounts_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_accounts_serialize(
        self,
        v0042_openapi_accounts_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_accounts_resp is not None:
            _body_params = v0042_openapi_accounts_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/accounts/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_accounts_association(
        self,
        v0042_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0042OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiAccountsAddCondRespStr:
        """Add accounts with conditional association


        :param v0042_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0042_openapi_accounts_add_cond_resp: V0042OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_accounts_association_serialize(
            v0042_openapi_accounts_add_cond_resp=v0042_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_accounts_association_with_http_info(
        self,
        v0042_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0042OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiAccountsAddCondRespStr]:
        """Add accounts with conditional association


        :param v0042_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0042_openapi_accounts_add_cond_resp: V0042OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_accounts_association_serialize(
            v0042_openapi_accounts_add_cond_resp=v0042_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_accounts_association_without_preload_content(
        self,
        v0042_openapi_accounts_add_cond_resp: Annotated[
            Optional[V0042OpenapiAccountsAddCondResp],
            Field(description="Add list of accounts with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add accounts with conditional association


        :param v0042_openapi_accounts_add_cond_resp: Add list of accounts with conditional association
        :type v0042_openapi_accounts_add_cond_resp: V0042OpenapiAccountsAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_accounts_association_serialize(
            v0042_openapi_accounts_add_cond_resp=v0042_openapi_accounts_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiAccountsAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_accounts_association_serialize(
        self,
        v0042_openapi_accounts_add_cond_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_accounts_add_cond_resp is not None:
            _body_params = v0042_openapi_accounts_add_cond_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/accounts_association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_associations(
        self,
        v0042_openapi_assocs_resp: Annotated[
            Optional[V0042OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Set associations info


        :param v0042_openapi_assocs_resp: Job description
        :type v0042_openapi_assocs_resp: V0042OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_associations_serialize(
            v0042_openapi_assocs_resp=v0042_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_associations_with_http_info(
        self,
        v0042_openapi_assocs_resp: Annotated[
            Optional[V0042OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Set associations info


        :param v0042_openapi_assocs_resp: Job description
        :type v0042_openapi_assocs_resp: V0042OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_associations_serialize(
            v0042_openapi_assocs_resp=v0042_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_associations_without_preload_content(
        self,
        v0042_openapi_assocs_resp: Annotated[
            Optional[V0042OpenapiAssocsResp], Field(description="Job description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Set associations info


        :param v0042_openapi_assocs_resp: Job description
        :type v0042_openapi_assocs_resp: V0042OpenapiAssocsResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_associations_serialize(
            v0042_openapi_assocs_resp=v0042_openapi_assocs_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_associations_serialize(
        self,
        v0042_openapi_assocs_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_assocs_resp is not None:
            _body_params = v0042_openapi_assocs_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/associations/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_clusters(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query reservations updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        v0042_openapi_clusters_resp: Annotated[
            Optional[V0042OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Get cluster list


        :param update_time: Query reservations updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param v0042_openapi_clusters_resp: Cluster add or update descriptions
        :type v0042_openapi_clusters_resp: V0042OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_clusters_serialize(
            update_time=update_time,
            v0042_openapi_clusters_resp=v0042_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_clusters_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query reservations updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        v0042_openapi_clusters_resp: Annotated[
            Optional[V0042OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Get cluster list


        :param update_time: Query reservations updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param v0042_openapi_clusters_resp: Cluster add or update descriptions
        :type v0042_openapi_clusters_resp: V0042OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_clusters_serialize(
            update_time=update_time,
            v0042_openapi_clusters_resp=v0042_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_clusters_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query reservations updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        v0042_openapi_clusters_resp: Annotated[
            Optional[V0042OpenapiClustersResp],
            Field(description="Cluster add or update descriptions"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get cluster list


        :param update_time: Query reservations updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param v0042_openapi_clusters_resp: Cluster add or update descriptions
        :type v0042_openapi_clusters_resp: V0042OpenapiClustersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_clusters_serialize(
            update_time=update_time,
            v0042_openapi_clusters_resp=v0042_openapi_clusters_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_clusters_serialize(
        self,
        update_time,
        v0042_openapi_clusters_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_clusters_resp is not None:
            _body_params = v0042_openapi_clusters_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/clusters/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_config(
        self,
        v0042_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0042OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Load all configuration information


        :param v0042_openapi_slurmdbd_config_resp: Add or update config
        :type v0042_openapi_slurmdbd_config_resp: V0042OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_config_serialize(
            v0042_openapi_slurmdbd_config_resp=v0042_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_config_with_http_info(
        self,
        v0042_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0042OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Load all configuration information


        :param v0042_openapi_slurmdbd_config_resp: Add or update config
        :type v0042_openapi_slurmdbd_config_resp: V0042OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_config_serialize(
            v0042_openapi_slurmdbd_config_resp=v0042_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_config_without_preload_content(
        self,
        v0042_openapi_slurmdbd_config_resp: Annotated[
            Optional[V0042OpenapiSlurmdbdConfigResp],
            Field(description="Add or update config"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Load all configuration information


        :param v0042_openapi_slurmdbd_config_resp: Add or update config
        :type v0042_openapi_slurmdbd_config_resp: V0042OpenapiSlurmdbdConfigResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_config_serialize(
            v0042_openapi_slurmdbd_config_resp=v0042_openapi_slurmdbd_config_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_config_serialize(
        self,
        v0042_openapi_slurmdbd_config_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_slurmdbd_config_resp is not None:
            _body_params = v0042_openapi_slurmdbd_config_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/config",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_qos(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        include_deleted_qos: Optional[StrictStr] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        v0042_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0042OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param include_deleted_qos:
        :type include_deleted_qos: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param v0042_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0042_openapi_slurmdbd_qos_resp: V0042OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_qos_serialize(
            description=description,
            include_deleted_qos=include_deleted_qos,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            v0042_openapi_slurmdbd_qos_resp=v0042_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_qos_with_http_info(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        include_deleted_qos: Optional[StrictStr] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        v0042_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0042OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param include_deleted_qos:
        :type include_deleted_qos: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param v0042_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0042_openapi_slurmdbd_qos_resp: V0042OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_qos_serialize(
            description=description,
            include_deleted_qos=include_deleted_qos,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            v0042_openapi_slurmdbd_qos_resp=v0042_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_qos_without_preload_content(
        self,
        description: Annotated[
            Optional[StrictStr], Field(description="CSV description list")
        ] = None,
        include_deleted_qos: Optional[StrictStr] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV QOS id list")] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        name: Annotated[
            Optional[StrictStr], Field(description="CSV QOS name list")
        ] = None,
        preempt_mode: Annotated[
            Optional[StrictStr],
            Field(description="PreemptMode used when jobs in this QOS are preempted"),
        ] = None,
        v0042_openapi_slurmdbd_qos_resp: Annotated[
            Optional[V0042OpenapiSlurmdbdQosResp],
            Field(description="Description of QOS to add or update"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add or update QOSs


        :param description: CSV description list
        :type description: str
        :param include_deleted_qos:
        :type include_deleted_qos: str
        :param id: CSV QOS id list
        :type id: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param name: CSV QOS name list
        :type name: str
        :param preempt_mode: PreemptMode used when jobs in this QOS are preempted
        :type preempt_mode: str
        :param v0042_openapi_slurmdbd_qos_resp: Description of QOS to add or update
        :type v0042_openapi_slurmdbd_qos_resp: V0042OpenapiSlurmdbdQosResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_qos_serialize(
            description=description,
            include_deleted_qos=include_deleted_qos,
            id=id,
            format=format,
            name=name,
            preempt_mode=preempt_mode,
            v0042_openapi_slurmdbd_qos_resp=v0042_openapi_slurmdbd_qos_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_qos_serialize(
        self,
        description,
        include_deleted_qos,
        id,
        format,
        name,
        preempt_mode,
        v0042_openapi_slurmdbd_qos_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if description is not None:
            _query_params.append(("description", description))

        if include_deleted_qos is not None:
            _query_params.append(("Include deleted QOS", include_deleted_qos))

        if id is not None:
            _query_params.append(("id", id))

        if format is not None:
            _query_params.append(("format", format))

        if name is not None:
            _query_params.append(("name", name))

        if preempt_mode is not None:
            _query_params.append(("preempt_mode", preempt_mode))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_slurmdbd_qos_resp is not None:
            _body_params = v0042_openapi_slurmdbd_qos_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/qos/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_tres(
        self,
        v0042_openapi_tres_resp: Annotated[
            Optional[V0042OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Add TRES


        :param v0042_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0042_openapi_tres_resp: V0042OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_tres_serialize(
            v0042_openapi_tres_resp=v0042_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_tres_with_http_info(
        self,
        v0042_openapi_tres_resp: Annotated[
            Optional[V0042OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Add TRES


        :param v0042_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0042_openapi_tres_resp: V0042OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_tres_serialize(
            v0042_openapi_tres_resp=v0042_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_tres_without_preload_content(
        self,
        v0042_openapi_tres_resp: Annotated[
            Optional[V0042OpenapiTresResp],
            Field(description="TRES descriptions. Only works in developer mode."),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add TRES


        :param v0042_openapi_tres_resp: TRES descriptions. Only works in developer mode.
        :type v0042_openapi_tres_resp: V0042OpenapiTresResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_tres_serialize(
            v0042_openapi_tres_resp=v0042_openapi_tres_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_tres_serialize(
        self,
        v0042_openapi_tres_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_tres_resp is not None:
            _body_params = v0042_openapi_tres_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/tres/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_users(
        self,
        v0042_openapi_users_resp: Annotated[
            Optional[V0042OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Update users


        :param v0042_openapi_users_resp: add or update user
        :type v0042_openapi_users_resp: V0042OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_users_serialize(
            v0042_openapi_users_resp=v0042_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_users_with_http_info(
        self,
        v0042_openapi_users_resp: Annotated[
            Optional[V0042OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Update users


        :param v0042_openapi_users_resp: add or update user
        :type v0042_openapi_users_resp: V0042OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_users_serialize(
            v0042_openapi_users_resp=v0042_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_users_without_preload_content(
        self,
        v0042_openapi_users_resp: Annotated[
            Optional[V0042OpenapiUsersResp], Field(description="add or update user")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Update users


        :param v0042_openapi_users_resp: add or update user
        :type v0042_openapi_users_resp: V0042OpenapiUsersResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_users_serialize(
            v0042_openapi_users_resp=v0042_openapi_users_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_users_serialize(
        self,
        v0042_openapi_users_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_users_resp is not None:
            _body_params = v0042_openapi_users_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/users/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_users_association(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query partitions updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0042_openapi_users_add_cond_resp: Annotated[
            Optional[V0042OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiUsersAddCondRespStr:
        """Add users with conditional association


        :param update_time: Query partitions updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0042_openapi_users_add_cond_resp: Create users with conditional association
        :type v0042_openapi_users_add_cond_resp: V0042OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0042_openapi_users_add_cond_resp=v0042_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_users_association_with_http_info(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query partitions updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0042_openapi_users_add_cond_resp: Annotated[
            Optional[V0042OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiUsersAddCondRespStr]:
        """Add users with conditional association


        :param update_time: Query partitions updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0042_openapi_users_add_cond_resp: Create users with conditional association
        :type v0042_openapi_users_add_cond_resp: V0042OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0042_openapi_users_add_cond_resp=v0042_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_users_association_without_preload_content(
        self,
        update_time: Annotated[
            Optional[StrictStr],
            Field(
                description="Query partitions updated more recently than this time (UNIX timestamp)"
            ),
        ] = None,
        flags: Annotated[Optional[StrictStr], Field(description="Query flags")] = None,
        v0042_openapi_users_add_cond_resp: Annotated[
            Optional[V0042OpenapiUsersAddCondResp],
            Field(description="Create users with conditional association"),
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add users with conditional association


        :param update_time: Query partitions updated more recently than this time (UNIX timestamp)
        :type update_time: str
        :param flags: Query flags
        :type flags: str
        :param v0042_openapi_users_add_cond_resp: Create users with conditional association
        :type v0042_openapi_users_add_cond_resp: V0042OpenapiUsersAddCondResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_users_association_serialize(
            update_time=update_time,
            flags=flags,
            v0042_openapi_users_add_cond_resp=v0042_openapi_users_add_cond_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiUsersAddCondRespStr",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_users_association_serialize(
        self,
        update_time,
        flags,
        v0042_openapi_users_add_cond_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if update_time is not None:
            _query_params.append(("update_time", update_time))

        if flags is not None:
            _query_params.append(("flags", flags))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_users_add_cond_resp is not None:
            _body_params = v0042_openapi_users_add_cond_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/users_association/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )

    @validate_call
    def slurmdb_v0042_post_wckeys(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted WCKeys")
        ] = None,
        v0042_openapi_wckey_resp: Annotated[
            Optional[V0042OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> V0042OpenapiResp:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted WCKeys
        :type with_deleted: str
        :param v0042_openapi_wckey_resp: wckeys description
        :type v0042_openapi_wckey_resp: V0042OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0042_openapi_wckey_resp=v0042_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data

    @validate_call
    def slurmdb_v0042_post_wckeys_with_http_info(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted WCKeys")
        ] = None,
        v0042_openapi_wckey_resp: Annotated[
            Optional[V0042OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[V0042OpenapiResp]:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted WCKeys
        :type with_deleted: str
        :param v0042_openapi_wckey_resp: wckeys description
        :type v0042_openapi_wckey_resp: V0042OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0042_openapi_wckey_resp=v0042_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )

    @validate_call
    def slurmdb_v0042_post_wckeys_without_preload_content(
        self,
        cluster: Annotated[
            Optional[StrictStr], Field(description="CSV cluster name list")
        ] = None,
        format: Annotated[
            Optional[StrictStr],
            Field(
                description="Ignored; process JSON manually to control output format"
            ),
        ] = None,
        id: Annotated[Optional[StrictStr], Field(description="CSV ID list")] = None,
        name: Annotated[Optional[StrictStr], Field(description="CSV name list")] = None,
        only_defaults: Annotated[
            Optional[StrictStr], Field(description="Only query defaults")
        ] = None,
        usage_end: Annotated[
            Optional[StrictStr], Field(description="Usage end (UNIX timestamp)")
        ] = None,
        usage_start: Annotated[
            Optional[StrictStr], Field(description="Usage start (UNIX timestamp)")
        ] = None,
        user: Annotated[Optional[StrictStr], Field(description="CSV user list")] = None,
        with_usage: Annotated[
            Optional[StrictStr], Field(description="Include usage")
        ] = None,
        with_deleted: Annotated[
            Optional[StrictStr], Field(description="Include deleted WCKeys")
        ] = None,
        v0042_openapi_wckey_resp: Annotated[
            Optional[V0042OpenapiWckeyResp], Field(description="wckeys description")
        ] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
            ],
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Add or update wckeys


        :param cluster: CSV cluster name list
        :type cluster: str
        :param format: Ignored; process JSON manually to control output format
        :type format: str
        :param id: CSV ID list
        :type id: str
        :param name: CSV name list
        :type name: str
        :param only_defaults: Only query defaults
        :type only_defaults: str
        :param usage_end: Usage end (UNIX timestamp)
        :type usage_end: str
        :param usage_start: Usage start (UNIX timestamp)
        :type usage_start: str
        :param user: CSV user list
        :type user: str
        :param with_usage: Include usage
        :type with_usage: str
        :param with_deleted: Include deleted WCKeys
        :type with_deleted: str
        :param v0042_openapi_wckey_resp: wckeys description
        :type v0042_openapi_wckey_resp: V0042OpenapiWckeyResp
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """  # noqa: E501

        _param = self._slurmdb_v0042_post_wckeys_serialize(
            cluster=cluster,
            format=format,
            id=id,
            name=name,
            only_defaults=only_defaults,
            usage_end=usage_end,
            usage_start=usage_start,
            user=user,
            with_usage=with_usage,
            with_deleted=with_deleted,
            v0042_openapi_wckey_resp=v0042_openapi_wckey_resp,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index,
        )

        _response_types_map: Dict[str, Optional[str]] = {
            "200": "V0042OpenapiResp",
        }
        response_data = self.api_client.call_api(
            *_param, _request_timeout=_request_timeout
        )
        return response_data.response

    def _slurmdb_v0042_post_wckeys_serialize(
        self,
        cluster,
        format,
        id,
        name,
        only_defaults,
        usage_end,
        usage_start,
        user,
        with_usage,
        with_deleted,
        v0042_openapi_wckey_resp,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:
        _host = None

        _collection_formats: Dict[str, str] = {}

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        # process the query parameters
        if cluster is not None:
            _query_params.append(("cluster", cluster))

        if format is not None:
            _query_params.append(("format", format))

        if id is not None:
            _query_params.append(("id", id))

        if name is not None:
            _query_params.append(("name", name))

        if only_defaults is not None:
            _query_params.append(("only_defaults", only_defaults))

        if usage_end is not None:
            _query_params.append(("usage_end", usage_end))

        if usage_start is not None:
            _query_params.append(("usage_start", usage_start))

        if user is not None:
            _query_params.append(("user", user))

        if with_usage is not None:
            _query_params.append(("with_usage", with_usage))

        if with_deleted is not None:
            _query_params.append(("with_deleted", with_deleted))

        # process the header parameters
        # process the form parameters
        # process the body parameter
        if v0042_openapi_wckey_resp is not None:
            _body_params = v0042_openapi_wckey_resp

        # set the HTTP header `Accept`
        if "Accept" not in _header_params:
            _header_params["Accept"] = self.api_client.select_header_accept(
                ["application/json", "application/yaml"]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params["Content-Type"] = _content_type
        else:
            _default_content_type = self.api_client.select_header_content_type(
                ["application/json", "application/yaml"]
            )
            if _default_content_type is not None:
                _header_params["Content-Type"] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = ["user", "bearerAuth", "token"]

        return self.api_client.param_serialize(
            method="POST",
            resource_path="/slurmdb/v0.0.42/wckeys/",
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth,
        )
