1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
* 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 ProjectsCreate {
/// Analytics is the opt-OUT for the wired-by-default analytics beacon: absent (nil) ⇒ ON (the default); explicit false ⇒ off. A pointer so \"unset\" is distinguishable from \"false\" — the only way to turn the default off.
#[serde(rename = "analytics", skip_serializing_if = "Option::is_none")]
pub analytics: Option<bool>,
/// Description is the one-line summary, copied onto anything forked from this project.
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Framework is a BUILD HINT from a closed set, defaulting to static. It tells CI how to build a linked repo and never gates a deploy.
#[serde(rename = "framework", skip_serializing_if = "Option::is_none")]
pub framework: Option<String>,
/// License is the terms that upstream work carries.
#[serde(rename = "license", skip_serializing_if = "Option::is_none")]
pub license: Option<String>,
/// Name is the project's display name and the only REQUIRED field. When slug is omitted it is also what the slug is derived from.
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "repo", skip_serializing_if = "Option::is_none")]
pub repo: Option<Box<models::ProjectsCreateRepo>>,
/// Slug is the handle everything else addresses this project by: the public host `<slug>.hanzo.app`, the object-store key segment, and the path parameter of every later call. Derived from the name when omitted. It is a hostname label, so it is constrained and reserved labels such as `api` or `admin` are refused.
#[serde(rename = "slug", skip_serializing_if = "Option::is_none")]
pub slug: Option<String>,
/// Upstream credits the third-party work this project was published from. It is accepted from any caller: giving away credit can only cost the publisher, so it needs no gate.
#[serde(rename = "upstream", skip_serializing_if = "Option::is_none")]
pub upstream: Option<String>,
/// Visibility is \"public\" (the default when absent) or \"private\". Publishing publicly is ungated — that is the point of a community. Going PRIVATE is the paid feature, so an unfunded org asking for it is refused rather than silently downgraded (see resolve).
#[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
pub visibility: Option<String>,
}
impl ProjectsCreate {
pub fn new() -> ProjectsCreate {
ProjectsCreate {
analytics: None,
description: None,
framework: None,
license: None,
name: None,
repo: None,
slug: None,
upstream: None,
visibility: None,
}
}
}