hanzo-client 8.5.156

Generated client for the Hanzo API — every service, one crate.
Documentation
/*
 * Hanzo Cloud API
 *
 * 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/.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ProjectsFork {
    /// target project name (optional; defaults to the parent's title)
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// parent slug to fork — catalog template or published project (required)
    #[serde(rename = "slug", skip_serializing_if = "Option::is_none")]
    pub slug: Option<String>,
    /// Target overrides the derived project slug (optional; defaults to the parent slug). Kept distinct from Slug so callers can rename on fork.
    #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
    pub target: Option<String>,
    /// 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.
    #[serde(rename = "variant", skip_serializing_if = "Option::is_none")]
    pub variant: Option<String>,
}

impl ProjectsFork {
    pub fn new() -> ProjectsFork {
        ProjectsFork {
            name: None,
            slug: None,
            target: None,
            variant: None,
        }
    }
}