openapi_github/models/
orgs_update_request.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
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 OrgsUpdateRequest {
16    /// Billing email address. This address is not publicized.
17    #[serde(rename = "billing_email", skip_serializing_if = "Option::is_none")]
18    pub billing_email: Option<String>,
19    /// The company name.
20    #[serde(rename = "company", skip_serializing_if = "Option::is_none")]
21    pub company: Option<String>,
22    /// The publicly visible email address.
23    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
24    pub email: Option<String>,
25    /// The Twitter username of the company.
26    #[serde(rename = "twitter_username", skip_serializing_if = "Option::is_none")]
27    pub twitter_username: Option<String>,
28    /// The location.
29    #[serde(rename = "location", skip_serializing_if = "Option::is_none")]
30    pub location: Option<String>,
31    /// The shorthand name of the company.
32    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
33    pub name: Option<String>,
34    /// The description of the company. The maximum size is 160 characters.
35    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
36    pub description: Option<String>,
37    /// Whether an organization can use organization projects.
38    #[serde(rename = "has_organization_projects", skip_serializing_if = "Option::is_none")]
39    pub has_organization_projects: Option<bool>,
40    /// Whether repositories that belong to the organization can use repository projects.
41    #[serde(rename = "has_repository_projects", skip_serializing_if = "Option::is_none")]
42    pub has_repository_projects: Option<bool>,
43    /// Default permission level members have for organization repositories.
44    #[serde(rename = "default_repository_permission", skip_serializing_if = "Option::is_none")]
45    pub default_repository_permission: Option<DefaultRepositoryPermission>,
46    /// Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details.
47    #[serde(rename = "members_can_create_repositories", skip_serializing_if = "Option::is_none")]
48    pub members_can_create_repositories: Option<bool>,
49    /// Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation.
50    #[serde(rename = "members_can_create_internal_repositories", skip_serializing_if = "Option::is_none")]
51    pub members_can_create_internal_repositories: Option<bool>,
52    /// Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation.
53    #[serde(rename = "members_can_create_private_repositories", skip_serializing_if = "Option::is_none")]
54    pub members_can_create_private_repositories: Option<bool>,
55    /// Whether organization members can create public repositories, which are visible to anyone. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation.
56    #[serde(rename = "members_can_create_public_repositories", skip_serializing_if = "Option::is_none")]
57    pub members_can_create_public_repositories: Option<bool>,
58    /// Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud.  **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details.
59    #[serde(rename = "members_allowed_repository_creation_type", skip_serializing_if = "Option::is_none")]
60    pub members_allowed_repository_creation_type: Option<MembersAllowedRepositoryCreationType>,
61    /// Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted.
62    #[serde(rename = "members_can_create_pages", skip_serializing_if = "Option::is_none")]
63    pub members_can_create_pages: Option<bool>,
64    /// Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted.
65    #[serde(rename = "members_can_create_public_pages", skip_serializing_if = "Option::is_none")]
66    pub members_can_create_public_pages: Option<bool>,
67    /// Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted.
68    #[serde(rename = "members_can_create_private_pages", skip_serializing_if = "Option::is_none")]
69    pub members_can_create_private_pages: Option<bool>,
70    /// Whether organization members can fork private organization repositories.
71    #[serde(rename = "members_can_fork_private_repositories", skip_serializing_if = "Option::is_none")]
72    pub members_can_fork_private_repositories: Option<bool>,
73    /// Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface.
74    #[serde(rename = "web_commit_signoff_required", skip_serializing_if = "Option::is_none")]
75    pub web_commit_signoff_required: Option<bool>,
76    #[serde(rename = "blog", skip_serializing_if = "Option::is_none")]
77    pub blog: Option<String>,
78    /// Whether GitHub Advanced Security is automatically enabled for new repositories.  To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"  You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.
79    #[serde(rename = "advanced_security_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
80    pub advanced_security_enabled_for_new_repositories: Option<bool>,
81    /// Whether Dependabot alerts is automatically enabled for new repositories.  To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"  You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.
82    #[serde(rename = "dependabot_alerts_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
83    pub dependabot_alerts_enabled_for_new_repositories: Option<bool>,
84    /// Whether Dependabot security updates is automatically enabled for new repositories.  To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"  You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.
85    #[serde(rename = "dependabot_security_updates_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
86    pub dependabot_security_updates_enabled_for_new_repositories: Option<bool>,
87    /// Whether dependency graph is automatically enabled for new repositories.  To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"  You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.
88    #[serde(rename = "dependency_graph_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
89    pub dependency_graph_enabled_for_new_repositories: Option<bool>,
90    /// Whether secret scanning is automatically enabled for new repositories.  To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"  You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.
91    #[serde(rename = "secret_scanning_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
92    pub secret_scanning_enabled_for_new_repositories: Option<bool>,
93    /// Whether secret scanning push protection is automatically enabled for new repositories.  To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"  You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.
94    #[serde(rename = "secret_scanning_push_protection_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
95    pub secret_scanning_push_protection_enabled_for_new_repositories: Option<bool>,
96    /// Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection.
97    #[serde(rename = "secret_scanning_push_protection_custom_link_enabled", skip_serializing_if = "Option::is_none")]
98    pub secret_scanning_push_protection_custom_link_enabled: Option<bool>,
99    /// If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret.
100    #[serde(rename = "secret_scanning_push_protection_custom_link", skip_serializing_if = "Option::is_none")]
101    pub secret_scanning_push_protection_custom_link: Option<String>,
102}
103
104impl OrgsUpdateRequest {
105    pub fn new() -> OrgsUpdateRequest {
106        OrgsUpdateRequest {
107            billing_email: None,
108            company: None,
109            email: None,
110            twitter_username: None,
111            location: None,
112            name: None,
113            description: None,
114            has_organization_projects: None,
115            has_repository_projects: None,
116            default_repository_permission: None,
117            members_can_create_repositories: None,
118            members_can_create_internal_repositories: None,
119            members_can_create_private_repositories: None,
120            members_can_create_public_repositories: None,
121            members_allowed_repository_creation_type: None,
122            members_can_create_pages: None,
123            members_can_create_public_pages: None,
124            members_can_create_private_pages: None,
125            members_can_fork_private_repositories: None,
126            web_commit_signoff_required: None,
127            blog: None,
128            advanced_security_enabled_for_new_repositories: None,
129            dependabot_alerts_enabled_for_new_repositories: None,
130            dependabot_security_updates_enabled_for_new_repositories: None,
131            dependency_graph_enabled_for_new_repositories: None,
132            secret_scanning_enabled_for_new_repositories: None,
133            secret_scanning_push_protection_enabled_for_new_repositories: None,
134            secret_scanning_push_protection_custom_link_enabled: None,
135            secret_scanning_push_protection_custom_link: None,
136        }
137    }
138}
139/// Default permission level members have for organization repositories.
140#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
141pub enum DefaultRepositoryPermission {
142    #[serde(rename = "read")]
143    Read,
144    #[serde(rename = "write")]
145    Write,
146    #[serde(rename = "admin")]
147    Admin,
148    #[serde(rename = "none")]
149    None,
150}
151
152impl Default for DefaultRepositoryPermission {
153    fn default() -> DefaultRepositoryPermission {
154        Self::Read
155    }
156}
157/// Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud.  **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details.
158#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
159pub enum MembersAllowedRepositoryCreationType {
160    #[serde(rename = "all")]
161    All,
162    #[serde(rename = "private")]
163    Private,
164    #[serde(rename = "none")]
165    None,
166}
167
168impl Default for MembersAllowedRepositoryCreationType {
169    fn default() -> MembersAllowedRepositoryCreationType {
170        Self::All
171    }
172}
173