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

# reserve_resource

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/reserve_resource.rs#L27-L44)
pub async fn [reserve\_resource](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/reserve-resource.md#method.reserve_resource)( \&self, component: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), name: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), action: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), bytes\_requested: [i64](https://doc.rust-lang.org/1.98.1/std/primitive.i64.html), owner\_id: [i64](https://doc.rust-lang.org/1.98.1/std/primitive.i64.html), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[ReserveResourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Request to reserve a resource (e.g. memory) on a gpudb nodeRequest for a component reserve a resource on a gpudb node. Currently only memory is supported.

##### Arguments

<ul>
  <li>`component` - Component requesting a resource reservation e.g. graph0. This may be a new reservation or change from a previous reservation.</li>
  <li>`name` - Identifier for the resource.</li>
  <li>`action` - Modification operation to be applied.</li>
  <li>`bytes_requested` - Absolute number of bytes requested for the reservation. Not used for evicted/deleted statuses.</li>
  <li>`owner_id` - Owner identifier. Only needed for new resources or change owner.</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/reserve_resource.rs#L63-L87)
pub async fn [reserve\_resource\_with\_opts](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/reserve-resource.md#method.reserve_resource_with_opts)( \&self, component: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), name: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), action: [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), bytes\_requested: [i64](https://doc.rust-lang.org/1.98.1/std/primitive.i64.html), owner\_id: [i64](https://doc.rust-lang.org/1.98.1/std/primitive.i64.html), options: [ReserveResourceRequestOptions](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceRequestOptions.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[ReserveResourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Request to reserve a resource (e.g. memory) on a gpudb nodeRequest for a component reserve a resource on a gpudb node. Currently only memory is supported.

##### Arguments

<ul>
  <li>`component` - Component requesting a resource reservation e.g. graph0. This may be a new reservation or change from a previous reservation.</li>
  <li>`name` - Identifier for the resource.</li>
  <li>`action` - Modification operation to be applied.</li>
  <li>`bytes_requested` - Absolute number of bytes requested for the reservation. Not used for evicted/deleted statuses.</li>
  <li>`owner_id` - Owner identifier. Only needed for new resources or change owner.</li>
  <li>`options` - The optional parameters; any left unset take the server’s defaults.</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/reserve_resource.rs#L90-L101)
pub async fn [reserve\_resource\_raw](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/reserve-resource.md#method.reserve_resource_raw)( \&self, request: &[ReserveResourceRequest](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceRequest.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[ReserveResourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Sends a pre-built [`ReserveResourceRequest`](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceRequest) to the `/reserve/resource` endpoint.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/reserve_resource.rs#L105-L117)
pub async fn [reserve\_resource\_from\_url](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/reserve-resource.md#method.reserve_resource_from_url)( \&self, url: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), request: &[ReserveResourceRequest](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceRequest.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[ReserveResourceResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Sends a pre-built [`ReserveResourceRequest`](https://docs.kinetica.com/content/api/rust/generated/api/struct.ReserveResourceRequest) to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.