torc 0.22.2

Workflow management system
# This file was generated by the Julia OpenAPI Code Generator
# Do not modify this file directly. Modify the OpenAPI specification instead.

struct ResourceRequirementsApi <: OpenAPI.APIClientImpl
    client::OpenAPI.Clients.Client
end

"""
The default API base path for APIs in `ResourceRequirementsApi`.
This can be used to construct the `OpenAPI.Clients.Client` instance.
"""
basepath(::Type{ ResourceRequirementsApi }) = "http://localhost/torc-service/v1"

const _returntypes_create_resource_requirements_ResourceRequirementsApi = Dict{Regex,Type}(
    Regex("^" * replace("200", "x"=>".") * "\$") => ResourceRequirementsModel,
    Regex("^" * replace("403", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("404", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("422", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("500", "x"=>".") * "\$") => ErrorResponse,
)

function _oacinternal_create_resource_requirements(_api::ResourceRequirementsApi, resource_requirements_model::ResourceRequirementsModel; _mediaType=nothing)
    _ctx = OpenAPI.Clients.Ctx(_api.client, "POST", _returntypes_create_resource_requirements_ResourceRequirementsApi, "/resource_requirements", [], resource_requirements_model)
    OpenAPI.Clients.set_header_accept(_ctx, ["application/json", ])
    OpenAPI.Clients.set_header_content_type(_ctx, (_mediaType === nothing) ? ["application/json", ] : [_mediaType])
    return _ctx
end

@doc raw"""Params:
- resource_requirements_model::ResourceRequirementsModel (required)

Return: ResourceRequirementsModel, OpenAPI.Clients.ApiResponse
"""
function create_resource_requirements(_api::ResourceRequirementsApi, resource_requirements_model::ResourceRequirementsModel; _mediaType=nothing)
    _ctx = _oacinternal_create_resource_requirements(_api, resource_requirements_model; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx)
end

function create_resource_requirements(_api::ResourceRequirementsApi, response_stream::Channel, resource_requirements_model::ResourceRequirementsModel; _mediaType=nothing)
    _ctx = _oacinternal_create_resource_requirements(_api, resource_requirements_model; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx, response_stream)
end

const _returntypes_delete_resource_requirement_ResourceRequirementsApi = Dict{Regex,Type}(
    Regex("^" * replace("200", "x"=>".") * "\$") => ResourceRequirementsModel,
    Regex("^" * replace("403", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("404", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("500", "x"=>".") * "\$") => ErrorResponse,
)

function _oacinternal_delete_resource_requirement(_api::ResourceRequirementsApi, id::Int64; _mediaType=nothing)
    _ctx = OpenAPI.Clients.Ctx(_api.client, "DELETE", _returntypes_delete_resource_requirement_ResourceRequirementsApi, "/resource_requirements/{id}", [])
    OpenAPI.Clients.set_param(_ctx.path, "id", id)  # type Int64
    OpenAPI.Clients.set_header_accept(_ctx, ["application/json", ])
    OpenAPI.Clients.set_header_content_type(_ctx, (_mediaType === nothing) ? [] : [_mediaType])
    return _ctx
end

@doc raw"""Params:
- id::Int64 (required)

Return: ResourceRequirementsModel, OpenAPI.Clients.ApiResponse
"""
function delete_resource_requirement(_api::ResourceRequirementsApi, id::Int64; _mediaType=nothing)
    _ctx = _oacinternal_delete_resource_requirement(_api, id; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx)
end

function delete_resource_requirement(_api::ResourceRequirementsApi, response_stream::Channel, id::Int64; _mediaType=nothing)
    _ctx = _oacinternal_delete_resource_requirement(_api, id; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx, response_stream)
end

const _returntypes_delete_resource_requirements_ResourceRequirementsApi = Dict{Regex,Type}(
    Regex("^" * replace("200", "x"=>".") * "\$") => Any,
    Regex("^" * replace("403", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("404", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("500", "x"=>".") * "\$") => ErrorResponse,
)

function _oacinternal_delete_resource_requirements(_api::ResourceRequirementsApi, workflow_id::Int64; _mediaType=nothing)
    _ctx = OpenAPI.Clients.Ctx(_api.client, "DELETE", _returntypes_delete_resource_requirements_ResourceRequirementsApi, "/resource_requirements", [])
    OpenAPI.Clients.set_param(_ctx.query, "workflow_id", workflow_id; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_header_accept(_ctx, ["application/json", ])
    OpenAPI.Clients.set_header_content_type(_ctx, (_mediaType === nothing) ? [] : [_mediaType])
    return _ctx
end

@doc raw"""Params:
- workflow_id::Int64 (required)

Return: Any, OpenAPI.Clients.ApiResponse
"""
function delete_resource_requirements(_api::ResourceRequirementsApi, workflow_id::Int64; _mediaType=nothing)
    _ctx = _oacinternal_delete_resource_requirements(_api, workflow_id; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx)
end

function delete_resource_requirements(_api::ResourceRequirementsApi, response_stream::Channel, workflow_id::Int64; _mediaType=nothing)
    _ctx = _oacinternal_delete_resource_requirements(_api, workflow_id; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx, response_stream)
end

const _returntypes_get_resource_requirements_ResourceRequirementsApi = Dict{Regex,Type}(
    Regex("^" * replace("200", "x"=>".") * "\$") => ResourceRequirementsModel,
    Regex("^" * replace("403", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("404", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("500", "x"=>".") * "\$") => ErrorResponse,
)

function _oacinternal_get_resource_requirements(_api::ResourceRequirementsApi, id::Int64; _mediaType=nothing)
    _ctx = OpenAPI.Clients.Ctx(_api.client, "GET", _returntypes_get_resource_requirements_ResourceRequirementsApi, "/resource_requirements/{id}", [])
    OpenAPI.Clients.set_param(_ctx.path, "id", id)  # type Int64
    OpenAPI.Clients.set_header_accept(_ctx, ["application/json", ])
    OpenAPI.Clients.set_header_content_type(_ctx, (_mediaType === nothing) ? [] : [_mediaType])
    return _ctx
end

@doc raw"""Params:
- id::Int64 (required)

Return: ResourceRequirementsModel, OpenAPI.Clients.ApiResponse
"""
function get_resource_requirements(_api::ResourceRequirementsApi, id::Int64; _mediaType=nothing)
    _ctx = _oacinternal_get_resource_requirements(_api, id; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx)
end

function get_resource_requirements(_api::ResourceRequirementsApi, response_stream::Channel, id::Int64; _mediaType=nothing)
    _ctx = _oacinternal_get_resource_requirements(_api, id; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx, response_stream)
end

const _returntypes_list_resource_requirements_ResourceRequirementsApi = Dict{Regex,Type}(
    Regex("^" * replace("200", "x"=>".") * "\$") => ListResourceRequirementsResponse,
    Regex("^" * replace("403", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("404", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("500", "x"=>".") * "\$") => ErrorResponse,
)

function _oacinternal_list_resource_requirements(_api::ResourceRequirementsApi, workflow_id::Int64; job_id=nothing, name=nothing, memory=nothing, num_cpus=nothing, num_gpus=nothing, num_nodes=nothing, runtime=nothing, offset=nothing, limit=nothing, sort_by=nothing, reverse_sort=nothing, _mediaType=nothing)
    _ctx = OpenAPI.Clients.Ctx(_api.client, "GET", _returntypes_list_resource_requirements_ResourceRequirementsApi, "/resource_requirements", [])
    OpenAPI.Clients.set_param(_ctx.query, "workflow_id", workflow_id; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "job_id", job_id; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "name", name; style="form", is_explode=true)  # type String
    OpenAPI.Clients.set_param(_ctx.query, "memory", memory; style="form", is_explode=true)  # type String
    OpenAPI.Clients.set_param(_ctx.query, "num_cpus", num_cpus; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "num_gpus", num_gpus; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "num_nodes", num_nodes; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "runtime", runtime; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "offset", offset; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "limit", limit; style="form", is_explode=true)  # type Int64
    OpenAPI.Clients.set_param(_ctx.query, "sort_by", sort_by; style="form", is_explode=true)  # type String
    OpenAPI.Clients.set_param(_ctx.query, "reverse_sort", reverse_sort; style="form", is_explode=true)  # type Bool
    OpenAPI.Clients.set_header_accept(_ctx, ["application/json", ])
    OpenAPI.Clients.set_header_content_type(_ctx, (_mediaType === nothing) ? [] : [_mediaType])
    return _ctx
end

@doc raw"""Params:
- workflow_id::Int64 (required)
- job_id::Int64
- name::String
- memory::String
- num_cpus::Int64
- num_gpus::Int64
- num_nodes::Int64
- runtime::Int64
- offset::Int64
- limit::Int64
- sort_by::String
- reverse_sort::Bool

Return: ListResourceRequirementsResponse, OpenAPI.Clients.ApiResponse
"""
function list_resource_requirements(_api::ResourceRequirementsApi, workflow_id::Int64; job_id=nothing, name=nothing, memory=nothing, num_cpus=nothing, num_gpus=nothing, num_nodes=nothing, runtime=nothing, offset=nothing, limit=nothing, sort_by=nothing, reverse_sort=nothing, _mediaType=nothing)
    _ctx = _oacinternal_list_resource_requirements(_api, workflow_id; job_id=job_id, name=name, memory=memory, num_cpus=num_cpus, num_gpus=num_gpus, num_nodes=num_nodes, runtime=runtime, offset=offset, limit=limit, sort_by=sort_by, reverse_sort=reverse_sort, _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx)
end

function list_resource_requirements(_api::ResourceRequirementsApi, response_stream::Channel, workflow_id::Int64; job_id=nothing, name=nothing, memory=nothing, num_cpus=nothing, num_gpus=nothing, num_nodes=nothing, runtime=nothing, offset=nothing, limit=nothing, sort_by=nothing, reverse_sort=nothing, _mediaType=nothing)
    _ctx = _oacinternal_list_resource_requirements(_api, workflow_id; job_id=job_id, name=name, memory=memory, num_cpus=num_cpus, num_gpus=num_gpus, num_nodes=num_nodes, runtime=runtime, offset=offset, limit=limit, sort_by=sort_by, reverse_sort=reverse_sort, _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx, response_stream)
end

const _returntypes_update_resource_requirements_ResourceRequirementsApi = Dict{Regex,Type}(
    Regex("^" * replace("200", "x"=>".") * "\$") => ResourceRequirementsModel,
    Regex("^" * replace("403", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("404", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("422", "x"=>".") * "\$") => ErrorResponse,
    Regex("^" * replace("500", "x"=>".") * "\$") => ErrorResponse,
)

function _oacinternal_update_resource_requirements(_api::ResourceRequirementsApi, id::Int64, resource_requirements_model::ResourceRequirementsModel; _mediaType=nothing)
    _ctx = OpenAPI.Clients.Ctx(_api.client, "PUT", _returntypes_update_resource_requirements_ResourceRequirementsApi, "/resource_requirements/{id}", [], resource_requirements_model)
    OpenAPI.Clients.set_param(_ctx.path, "id", id)  # type Int64
    OpenAPI.Clients.set_header_accept(_ctx, ["application/json", ])
    OpenAPI.Clients.set_header_content_type(_ctx, (_mediaType === nothing) ? ["application/json", ] : [_mediaType])
    return _ctx
end

@doc raw"""Params:
- id::Int64 (required)
- resource_requirements_model::ResourceRequirementsModel (required)

Return: ResourceRequirementsModel, OpenAPI.Clients.ApiResponse
"""
function update_resource_requirements(_api::ResourceRequirementsApi, id::Int64, resource_requirements_model::ResourceRequirementsModel; _mediaType=nothing)
    _ctx = _oacinternal_update_resource_requirements(_api, id, resource_requirements_model; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx)
end

function update_resource_requirements(_api::ResourceRequirementsApi, response_stream::Channel, id::Int64, resource_requirements_model::ResourceRequirementsModel; _mediaType=nothing)
    _ctx = _oacinternal_update_resource_requirements(_api, id, resource_requirements_model; _mediaType=_mediaType)
    return OpenAPI.Clients.exec(_ctx, response_stream)
end

export create_resource_requirements
export delete_resource_requirement
export delete_resource_requirements
export get_resource_requirements
export list_resource_requirements
export update_resource_requirements