NetworkVolumeCreateInput

Struct NetworkVolumeCreateInput 

Source
pub struct NetworkVolumeCreateInput {
    pub name: String,
    pub size: u32,
    pub data_center_id: String,
}
Expand description

Input parameters for creating a new network volume.

This struct contains all the required configuration options for creating a network volume. All fields are mandatory as they define the fundamental characteristics of the volume that cannot be changed after creation (except size, which can only be increased).

§Validation Requirements

  • name: Must be 1-255 characters long. Can contain letters, numbers, spaces, hyphens, and underscores
  • size: Must be between 1 and 4,000 GB. Choose based on your storage needs and budget
  • data_center_id: Must be a valid RunPod data center identifier (format: XX-XX-N)

§Examples

use runpod_sdk::model::NetworkVolumeCreateInput;

// Create a small development volume
let dev_volume = NetworkVolumeCreateInput {
    name: "dev-workspace".to_string(),
    size: 10,
    data_center_id: "US-CA-1".to_string(),
};

// Create a large production dataset volume
let prod_volume = NetworkVolumeCreateInput {
    name: "production-ml-datasets".to_string(),
    size: 1000,
    data_center_id: "EU-RO-1".to_string(),
};

Fields§

§name: String

A user-defined name for the network volume.

The name is used for identification and organization purposes. It does not need to be unique across your account, allowing you to use descriptive names that match your workflow or project structure.

Constraints:

  • Length: 1-255 characters
  • Allowed characters: letters, numbers, spaces, hyphens, underscores
  • Case-sensitive

Examples: “ml-training-data”, “user uploads”, “backup_volume_2024”

§size: u32

The amount of disk space, in gigabytes (GB), to allocate to the network volume.

This determines the storage capacity of the volume and directly affects billing. Choose a size that accounts for current needs plus reasonable growth, as expanding volumes requires an update operation and may take time to complete.

Constraints:

  • Minimum: 1 GB
  • Maximum: 4,000 GB (4 TB)
  • Billing: Charged per GB-hour for the full allocated capacity

Performance notes:

  • Larger volumes may have better IOPS performance
  • Size can be increased later but never decreased

Examples: 10 (small dev), 100 (medium project), 1000 (large dataset)

§data_center_id: String

The RunPod data center ID where the network volume will be created.

Network volumes are bound to specific data centers and can only be attached to Pods running in the same data center. Choose based on:

  • Geographic proximity to your users
  • Data sovereignty requirements
  • Pricing differences between regions
  • Availability of required GPU/CPU types

Format: Two-letter country code, two-letter region code, and number (XX-XX-N)

Common data centers:

  • US-CA-1: California, USA (West Coast)
  • US-TX-1: Texas, USA (Central)
  • EU-RO-1: Romania, Europe
  • EU-SE-1: Sweden, Europe

Note: Available data centers and their identifiers can be retrieved from the data centers API endpoint.

Trait Implementations§

Source§

impl Clone for NetworkVolumeCreateInput

Source§

fn clone(&self) -> NetworkVolumeCreateInput

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NetworkVolumeCreateInput

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for NetworkVolumeCreateInput

Source§

fn default() -> NetworkVolumeCreateInput

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for NetworkVolumeCreateInput

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for NetworkVolumeCreateInput

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,