hanzo_client/models/projects_fork.rs
1/*
2 * Hanzo Cloud API
3 *
4 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
5 *
6 * The version of the OpenAPI document: v1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ProjectsFork {
16 /// target project name (optional; defaults to the parent's title)
17 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
18 pub name: Option<String>,
19 /// parent slug to fork — catalog template or published project (required)
20 #[serde(rename = "slug", skip_serializing_if = "Option::is_none")]
21 pub slug: Option<String>,
22 /// Target overrides the derived project slug (optional; defaults to the parent slug). Kept distinct from Slug so callers can rename on fork.
23 #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
24 pub target: Option<String>,
25 /// Variant picks a template's format/page/theme (optional; defaults to the template's first shape). This is the axis the catalog used to spend sibling slugs on, so it is expressed here, where the user's preference is.
26 #[serde(rename = "variant", skip_serializing_if = "Option::is_none")]
27 pub variant: Option<String>,
28}
29
30impl ProjectsFork {
31 pub fn new() -> ProjectsFork {
32 ProjectsFork {
33 name: None,
34 slug: None,
35 target: None,
36 variant: None,
37 }
38 }
39}
40