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