pub struct TemplateCreateInput {Show 14 fields
pub name: String,
pub image_name: String,
pub category: Option<TemplateCategory>,
pub container_disk_in_gb: Option<i32>,
pub container_registry_auth_id: Option<String>,
pub docker_entrypoint: Option<Vec<String>>,
pub docker_start_cmd: Option<Vec<String>>,
pub env: Option<EnvVars>,
pub is_public: Option<bool>,
pub is_serverless: Option<bool>,
pub ports: Option<Vec<String>>,
pub readme: Option<String>,
pub volume_in_gb: Option<i32>,
pub volume_mount_path: Option<String>,
}Expand description
Input parameters for creating new templates.
Use this struct to define all aspects of a new template, from basic identification
to detailed runtime configuration. All fields except name and image_name are optional,
allowing for flexible template creation with sensible defaults.
§Required Fields
name: Unique, descriptive template nameimage_name: Docker image for container deployment
§Default Behavior
When optional fields are omitted:
category: Defaults toTemplateCategory::Nvidiacontainer_disk_in_gb: Defaults to 50 GBvolume_in_gb: Defaults to 20 GBvolume_mount_path: Defaults to “/workspace”is_public: Defaults tofalse(private template)is_serverless: Defaults tofalse(Pod template)ports: Defaults to["8888/http", "22/tcp"]
§Examples
use runpod_sdk::model::{TemplateCreateInput, TemplateCategory};
let basic_template = TemplateCreateInput {
name: "My Basic Template".to_string(),
image_name: "python:3.9".to_string(),
..Default::default()
};Fields§
§name: StringA user-defined name for the template. Must be unique within your account. Choose a descriptive name that clearly identifies the template’s purpose or use case.
image_name: StringThe Docker image tag for containers deployed from this template.
Can be a public image (e.g., “python:3.9”) or private image with
appropriate container_registry_auth_id for authentication.
category: Option<TemplateCategory>The compute category for this template.
Determines the type of hardware acceleration available.
Defaults to TemplateCategory::Nvidia if not specified.
container_disk_in_gb: Option<i32>The amount of disk space in GB to allocate for the container disk. Container disk provides fast local storage but data is wiped on restart. Defaults to 50 GB if not specified.
container_registry_auth_id: Option<String>The unique identifier for container registry authentication. Required when using private Docker images that need authentication. Reference the ID from a previously created container registry auth.
docker_entrypoint: Option<Vec<String>>Override for the Docker image ENTRYPOINT. If specified, replaces the ENTRYPOINT defined in the Docker image. Leave empty to use the image’s default ENTRYPOINT.
docker_start_cmd: Option<Vec<String>>Override for the Docker image start command. If specified, replaces the CMD defined in the Docker image. Leave empty to use the image’s default CMD.
env: Option<EnvVars>Environment variables for containers deployed from this template. These variables are set in the container environment and available to the running application for configuration and customization.
is_public: Option<bool>Whether the template should be visible to other RunPod users.
true: Template is public and can generate revenue when used by othersfalse: Template is private and only accessible to you (default)
is_serverless: Option<bool>Whether the template is designed for Serverless workers or Pods.
true: Creates auto-scaling Serverless workers for event-driven workloadsfalse: Creates persistent Pods for long-running workloads (default)
ports: Option<Vec<String>>A list of ports to expose on deployed instances.
Each port is formatted as [port]/[protocol] (e.g., “8888/http”, “22/tcp”).
Defaults to ["8888/http", "22/tcp"] if not specified.
readme: Option<String>Markdown-formatted documentation describing the template. Displayed in the RunPod UI and should include usage instructions, requirements, configuration details, and examples.
volume_in_gb: Option<i32>The amount of disk space in GB to allocate on the local Pod volume. Pod volume provides persistent storage that survives instance restarts. Defaults to 20 GB if not specified.
volume_mount_path: Option<String>The absolute path where the Pod volume will be mounted in the container. This is where persistent storage will be accessible within the container. Defaults to “/workspace” if not specified.
Trait Implementations§
Source§impl Clone for TemplateCreateInput
impl Clone for TemplateCreateInput
Source§fn clone(&self) -> TemplateCreateInput
fn clone(&self) -> TemplateCreateInput
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more