@pulumi/gitlab 4.7.0-alpha.1648237737 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/branch.d.ts +3 -1
  2. package/branch.js +3 -1
  3. package/branch.js.map +1 -1
  4. package/branchProtection.d.ts +42 -6
  5. package/branchProtection.js +18 -8
  6. package/branchProtection.js.map +1 -1
  7. package/deployKey.d.ts +11 -4
  8. package/deployKey.js +5 -1
  9. package/deployKey.js.map +1 -1
  10. package/deployKeyEnable.d.ts +2 -2
  11. package/deployKeyEnable.js +2 -2
  12. package/deployToken.d.ts +24 -6
  13. package/deployToken.js +17 -1
  14. package/deployToken.js.map +1 -1
  15. package/getBranch.d.ts +3 -43
  16. package/getBranch.js +3 -1
  17. package/getBranch.js.map +1 -1
  18. package/getGroup.d.ts +3 -53
  19. package/getGroup.js +2 -2
  20. package/getGroup.js.map +1 -1
  21. package/getGroupMembership.d.ts +2 -32
  22. package/getGroupMembership.js +2 -2
  23. package/getGroupMembership.js.map +1 -1
  24. package/getInstanceDeployKeys.d.ts +46 -0
  25. package/getInstanceDeployKeys.js +42 -0
  26. package/getInstanceDeployKeys.js.map +1 -0
  27. package/getProject.d.ts +32 -88
  28. package/getProject.js +4 -1
  29. package/getProject.js.map +1 -1
  30. package/getProjectIssue.d.ts +91 -0
  31. package/getProjectIssue.js +44 -0
  32. package/getProjectIssue.js.map +1 -0
  33. package/getProjectIssues.d.ts +122 -0
  34. package/getProjectIssues.js +67 -0
  35. package/getProjectIssues.js.map +1 -0
  36. package/getProjectProtectedBranch.d.ts +3 -34
  37. package/getProjectProtectedBranch.js +3 -1
  38. package/getProjectProtectedBranch.js.map +1 -1
  39. package/getProjectProtectedBranches.d.ts +3 -13
  40. package/getProjectProtectedBranches.js +3 -1
  41. package/getProjectProtectedBranches.js.map +1 -1
  42. package/getProjectTag.d.ts +52 -0
  43. package/getProjectTag.js +41 -0
  44. package/getProjectTag.js.map +1 -0
  45. package/getProjectTags.d.ts +53 -0
  46. package/getProjectTags.js +42 -0
  47. package/getProjectTags.js.map +1 -0
  48. package/getProjects.d.ts +5 -195
  49. package/getProjects.js +5 -3
  50. package/getProjects.js.map +1 -1
  51. package/getRepositoryFile.d.ts +57 -0
  52. package/getRepositoryFile.js +42 -0
  53. package/getRepositoryFile.js.map +1 -0
  54. package/getUser.d.ts +4 -101
  55. package/getUser.js +4 -2
  56. package/getUser.js.map +1 -1
  57. package/getUsers.d.ts +6 -86
  58. package/getUsers.js +6 -2
  59. package/getUsers.js.map +1 -1
  60. package/group.d.ts +53 -38
  61. package/group.js +7 -2
  62. package/group.js.map +1 -1
  63. package/groupAccessToken.d.ts +15 -6
  64. package/groupAccessToken.js +5 -1
  65. package/groupAccessToken.js.map +1 -1
  66. package/groupBadge.d.ts +7 -7
  67. package/groupBadge.js +3 -3
  68. package/groupCluster.d.ts +8 -6
  69. package/groupCluster.js +5 -3
  70. package/groupCluster.js.map +1 -1
  71. package/groupCustomAttribute.d.ts +3 -1
  72. package/groupCustomAttribute.js +3 -1
  73. package/groupCustomAttribute.js.map +1 -1
  74. package/groupLabel.d.ts +9 -6
  75. package/groupLabel.js +3 -3
  76. package/groupLabel.js.map +1 -1
  77. package/groupLdapLink.d.ts +15 -7
  78. package/groupLdapLink.js +3 -1
  79. package/groupLdapLink.js.map +1 -1
  80. package/groupMembership.d.ts +11 -4
  81. package/groupMembership.js +5 -1
  82. package/groupMembership.js.map +1 -1
  83. package/groupShareGroup.d.ts +9 -4
  84. package/groupShareGroup.js +3 -1
  85. package/groupShareGroup.js.map +1 -1
  86. package/groupVariable.d.ts +27 -15
  87. package/groupVariable.js +3 -3
  88. package/groupVariable.js.map +1 -1
  89. package/index.d.ts +11 -0
  90. package/index.js +31 -0
  91. package/index.js.map +1 -1
  92. package/instanceCluster.d.ts +8 -6
  93. package/instanceCluster.js +5 -3
  94. package/instanceCluster.js.map +1 -1
  95. package/instanceVariable.d.ts +18 -12
  96. package/instanceVariable.js +3 -3
  97. package/instanceVariable.js.map +1 -1
  98. package/label.d.ts +17 -6
  99. package/label.js +11 -3
  100. package/label.js.map +1 -1
  101. package/managedLicense.d.ts +14 -7
  102. package/managedLicense.js +5 -4
  103. package/managedLicense.js.map +1 -1
  104. package/package.json +2 -2
  105. package/package.json.dev +2 -2
  106. package/pipelineSchedule.d.ts +3 -3
  107. package/pipelineSchedule.js +3 -3
  108. package/pipelineScheduleVariable.d.ts +3 -1
  109. package/pipelineScheduleVariable.js +3 -1
  110. package/pipelineScheduleVariable.js.map +1 -1
  111. package/pipelineTrigger.d.ts +3 -1
  112. package/pipelineTrigger.js +3 -1
  113. package/pipelineTrigger.js.map +1 -1
  114. package/project.d.ts +372 -26
  115. package/project.js +59 -1
  116. package/project.js.map +1 -1
  117. package/projectAccessToken.d.ts +20 -8
  118. package/projectAccessToken.js +13 -1
  119. package/projectAccessToken.js.map +1 -1
  120. package/projectApprovalRule.d.ts +19 -2
  121. package/projectApprovalRule.js +6 -2
  122. package/projectApprovalRule.js.map +1 -1
  123. package/projectBadge.d.ts +7 -7
  124. package/projectBadge.js +3 -3
  125. package/projectCluster.d.ts +8 -6
  126. package/projectCluster.js +5 -3
  127. package/projectCluster.js.map +1 -1
  128. package/projectCustomAttribute.d.ts +3 -1
  129. package/projectCustomAttribute.js +3 -1
  130. package/projectCustomAttribute.js.map +1 -1
  131. package/projectEnvironment.d.ts +147 -0
  132. package/projectEnvironment.js +95 -0
  133. package/projectEnvironment.js.map +1 -0
  134. package/projectFreezePeriod.d.ts +3 -1
  135. package/projectFreezePeriod.js +3 -1
  136. package/projectFreezePeriod.js.map +1 -1
  137. package/projectHook.d.ts +16 -6
  138. package/projectHook.js +13 -3
  139. package/projectHook.js.map +1 -1
  140. package/projectIssue.d.ts +526 -0
  141. package/projectIssue.js +163 -0
  142. package/projectIssue.js.map +1 -0
  143. package/projectLevelMrApprovals.d.ts +11 -5
  144. package/projectLevelMrApprovals.js +5 -2
  145. package/projectLevelMrApprovals.js.map +1 -1
  146. package/projectMembership.d.ts +11 -4
  147. package/projectMembership.js +5 -1
  148. package/projectMembership.js.map +1 -1
  149. package/projectMirror.d.ts +4 -5
  150. package/projectMirror.js +4 -5
  151. package/projectMirror.js.map +1 -1
  152. package/projectProtectedEnvironment.d.ts +127 -0
  153. package/projectProtectedEnvironment.js +116 -0
  154. package/projectProtectedEnvironment.js.map +1 -0
  155. package/projectShareGroup.d.ts +15 -7
  156. package/projectShareGroup.js +3 -1
  157. package/projectShareGroup.js.map +1 -1
  158. package/projectTag.d.ts +149 -0
  159. package/projectTag.js +101 -0
  160. package/projectTag.js.map +1 -0
  161. package/projectVariable.d.ts +16 -16
  162. package/projectVariable.js +4 -7
  163. package/projectVariable.js.map +1 -1
  164. package/repositoryFile.d.ts +67 -8
  165. package/repositoryFile.js +14 -0
  166. package/repositoryFile.js.map +1 -1
  167. package/serviceGithub.d.ts +10 -5
  168. package/serviceGithub.js +4 -2
  169. package/serviceGithub.js.map +1 -1
  170. package/serviceJira.d.ts +15 -7
  171. package/serviceJira.js +3 -1
  172. package/serviceJira.js.map +1 -1
  173. package/serviceMicrosoftTeams.d.ts +9 -4
  174. package/serviceMicrosoftTeams.js +3 -1
  175. package/serviceMicrosoftTeams.js.map +1 -1
  176. package/servicePipelinesEmail.d.ts +9 -4
  177. package/servicePipelinesEmail.js +3 -1
  178. package/servicePipelinesEmail.js.map +1 -1
  179. package/serviceSlack.d.ts +13 -9
  180. package/serviceSlack.js +3 -1
  181. package/serviceSlack.js.map +1 -1
  182. package/systemHook.d.ts +165 -0
  183. package/systemHook.js +100 -0
  184. package/systemHook.js.map +1 -0
  185. package/tagProtection.d.ts +3 -1
  186. package/tagProtection.js +3 -1
  187. package/tagProtection.js.map +1 -1
  188. package/topic.d.ts +57 -25
  189. package/topic.js +10 -16
  190. package/topic.js.map +1 -1
  191. package/types/input.d.ts +42 -60
  192. package/types/output.d.ts +197 -102
  193. package/user.d.ts +18 -12
  194. package/user.js +6 -3
  195. package/user.js.map +1 -1
  196. package/userCustomAttribute.d.ts +3 -1
  197. package/userCustomAttribute.js +3 -1
  198. package/userCustomAttribute.js.map +1 -1
  199. package/userSshKey.d.ts +7 -4
  200. package/userSshKey.js +1 -1
  201. package/userSshKey.js.map +1 -1
package/project.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import { input as inputs, output as outputs } from "./types";
3
3
  /**
4
- * This resource allows you to create and manage projects within your GitLab group or within your user.
4
+ * The `gitlab.Project` resource allows to manage the lifecycle of a project.
5
+ *
6
+ * A project can either be created in a group or user namespace.
7
+ *
8
+ * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ce/api/projects.html)
5
9
  *
6
10
  * ## Example Usage
7
11
  *
@@ -56,22 +60,55 @@ export declare class Project extends pulumi.CustomResource {
56
60
  * Set to true if you want to treat skipped pipelines as if they finished with success.
57
61
  */
58
62
  readonly allowMergeOnSkippedPipeline: pulumi.Output<boolean | undefined>;
63
+ /**
64
+ * Set the analytics access level. Valid values are `disabled`, `private`, `enabled`.
65
+ */
66
+ readonly analyticsAccessLevel: pulumi.Output<string>;
59
67
  /**
60
68
  * Number of merge request approvals required for merging. Default is 0.
61
69
  */
62
70
  readonly approvalsBeforeMerge: pulumi.Output<number | undefined>;
63
71
  /**
64
- * Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation.
72
+ * Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE`
73
+ * operation.
65
74
  */
66
75
  readonly archiveOnDestroy: pulumi.Output<boolean | undefined>;
67
76
  /**
68
77
  * Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
69
78
  */
70
79
  readonly archived: pulumi.Output<boolean | undefined>;
80
+ /**
81
+ * Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
82
+ */
83
+ readonly autoCancelPendingPipelines: pulumi.Output<string>;
84
+ /**
85
+ * Auto Deploy strategy. Valid values are `continuous`, `manual`, `timed_incremental`.
86
+ */
87
+ readonly autoDevopsDeployStrategy: pulumi.Output<string>;
88
+ /**
89
+ * Enable Auto DevOps for this project.
90
+ */
91
+ readonly autoDevopsEnabled: pulumi.Output<boolean>;
92
+ /**
93
+ * Set whether auto-closing referenced issues on default branch.
94
+ */
95
+ readonly autocloseReferencedIssues: pulumi.Output<boolean>;
71
96
  /**
72
97
  * Test coverage parsing for the project.
73
98
  */
74
99
  readonly buildCoverageRegex: pulumi.Output<string | undefined>;
100
+ /**
101
+ * The Git strategy. Defaults to fetch.
102
+ */
103
+ readonly buildGitStrategy: pulumi.Output<string>;
104
+ /**
105
+ * The maximum amount of time, in seconds, that a job can run.
106
+ */
107
+ readonly buildTimeout: pulumi.Output<number>;
108
+ /**
109
+ * Set the builds access level. Valid values are `disabled`, `private`, `enabled`.
110
+ */
111
+ readonly buildsAccessLevel: pulumi.Output<string>;
75
112
  /**
76
113
  * Custom Path to CI config file.
77
114
  */
@@ -80,6 +117,15 @@ export declare class Project extends pulumi.CustomResource {
80
117
  * When a new deployment job starts, skip older deployment jobs that are still pending.
81
118
  */
82
119
  readonly ciForwardDeploymentEnabled: pulumi.Output<boolean | undefined>;
120
+ /**
121
+ * Set the image cleanup policy for this project. **Note**: this field is sometimes named
122
+ * `container_expiration_policy_attributes` in the GitLab Upstream API.
123
+ */
124
+ readonly containerExpirationPolicy: pulumi.Output<outputs.ProjectContainerExpirationPolicy>;
125
+ /**
126
+ * Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`.
127
+ */
128
+ readonly containerRegistryAccessLevel: pulumi.Output<string>;
83
129
  /**
84
130
  * Enable container registry for the project.
85
131
  */
@@ -93,7 +139,20 @@ export declare class Project extends pulumi.CustomResource {
93
139
  */
94
140
  readonly description: pulumi.Output<string | undefined>;
95
141
  /**
96
- * For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires use*custom*template to be true (enterprise edition).
142
+ * Disable email notifications.
143
+ */
144
+ readonly emailsDisabled: pulumi.Output<boolean | undefined>;
145
+ /**
146
+ * The classification label for the project.
147
+ */
148
+ readonly externalAuthorizationClassificationLabel: pulumi.Output<string | undefined>;
149
+ /**
150
+ * Set the forking access level. Valid values are `disabled`, `private`, `enabled`.
151
+ */
152
+ readonly forkingAccessLevel: pulumi.Output<string>;
153
+ /**
154
+ * For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave
155
+ * empty for instance-level templates. Requires use_custom_template to be true (enterprise edition).
97
156
  */
98
157
  readonly groupWithProjectTemplatesId: pulumi.Output<number | undefined>;
99
158
  /**
@@ -108,6 +167,10 @@ export declare class Project extends pulumi.CustomResource {
108
167
  * Create main branch with first commit containing a README.md file.
109
168
  */
110
169
  readonly initializeWithReadme: pulumi.Output<boolean | undefined>;
170
+ /**
171
+ * Set the issues access level. Valid values are `disabled`, `private`, `enabled`.
172
+ */
173
+ readonly issuesAccessLevel: pulumi.Output<string>;
111
174
  /**
112
175
  * Enable issue tracking for the project.
113
176
  */
@@ -120,6 +183,10 @@ export declare class Project extends pulumi.CustomResource {
120
183
  * Enable LFS for the project.
121
184
  */
122
185
  readonly lfsEnabled: pulumi.Output<boolean | undefined>;
186
+ /**
187
+ * Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
188
+ */
189
+ readonly mergeCommitTemplate: pulumi.Output<string | undefined>;
123
190
  /**
124
191
  * Set to `ff` to create fast-forward merges
125
192
  */
@@ -128,6 +195,10 @@ export declare class Project extends pulumi.CustomResource {
128
195
  * Enable or disable merge pipelines.
129
196
  */
130
197
  readonly mergePipelinesEnabled: pulumi.Output<boolean | undefined>;
198
+ /**
199
+ * Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`.
200
+ */
201
+ readonly mergeRequestsAccessLevel: pulumi.Output<string>;
131
202
  /**
132
203
  * Enable merge requests for the project.
133
204
  */
@@ -137,7 +208,7 @@ export declare class Project extends pulumi.CustomResource {
137
208
  */
138
209
  readonly mergeRequestsTemplate: pulumi.Output<string | undefined>;
139
210
  /**
140
- * Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect.
211
+ * Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
141
212
  */
142
213
  readonly mergeTrainsEnabled: pulumi.Output<boolean | undefined>;
143
214
  /**
@@ -172,6 +243,10 @@ export declare class Project extends pulumi.CustomResource {
172
243
  * Enable only mirror protected branches for a mirrored project.
173
244
  */
174
245
  readonly onlyMirrorProtectedBranches: pulumi.Output<boolean | undefined>;
246
+ /**
247
+ * Set the operations access level. Valid values are `disabled`, `private`, `enabled`.
248
+ */
249
+ readonly operationsAccessLevel: pulumi.Output<string>;
175
250
  /**
176
251
  * Enable packages repository for the project.
177
252
  */
@@ -196,6 +271,10 @@ export declare class Project extends pulumi.CustomResource {
196
271
  * Show link to create/view merge request when pushing from the command line
197
272
  */
198
273
  readonly printingMergeRequestLinkEnabled: pulumi.Output<boolean | undefined>;
274
+ /**
275
+ * If true, jobs can be viewed by non-project members.
276
+ */
277
+ readonly publicBuilds: pulumi.Output<boolean | undefined>;
199
278
  /**
200
279
  * Push rules for the project.
201
280
  */
@@ -204,24 +283,53 @@ export declare class Project extends pulumi.CustomResource {
204
283
  * Enable `Delete source branch` option by default for all new merge requests.
205
284
  */
206
285
  readonly removeSourceBranchAfterMerge: pulumi.Output<boolean | undefined>;
286
+ /**
287
+ * Set the repository access level. Valid values are `disabled`, `private`, `enabled`.
288
+ */
289
+ readonly repositoryAccessLevel: pulumi.Output<string>;
290
+ /**
291
+ * Which storage shard the repository is on. (administrator only)
292
+ */
293
+ readonly repositoryStorage: pulumi.Output<string>;
207
294
  /**
208
295
  * Allow users to request member access.
209
296
  */
210
297
  readonly requestAccessEnabled: pulumi.Output<boolean | undefined>;
298
+ /**
299
+ * Set the requirements access level. Valid values are `disabled`, `private`, `enabled`.
300
+ */
301
+ readonly requirementsAccessLevel: pulumi.Output<string>;
302
+ /**
303
+ * Automatically resolve merge request diffs discussions on lines changed with a push.
304
+ */
305
+ readonly resolveOutdatedDiffDiscussions: pulumi.Output<boolean | undefined>;
211
306
  /**
212
307
  * Registration token to use during runner setup.
213
308
  */
214
309
  readonly runnersToken: pulumi.Output<string>;
310
+ /**
311
+ * Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`.
312
+ */
313
+ readonly securityAndComplianceAccessLevel: pulumi.Output<string>;
215
314
  /**
216
315
  * Enable shared runners for this project.
217
316
  */
218
317
  readonly sharedRunnersEnabled: pulumi.Output<boolean>;
318
+ /**
319
+ * Set the snippets access level. Valid values are `disabled`, `private`, `enabled`.
320
+ */
321
+ readonly snippetsAccessLevel: pulumi.Output<string>;
219
322
  /**
220
323
  * Enable snippets for the project.
221
324
  */
222
325
  readonly snippetsEnabled: pulumi.Output<boolean | undefined>;
223
326
  /**
224
- * Squash commits when merge request. Valid values are `never`, `always`, `defaultOn`, or `defaultOff`. The default value is `defaultOff`. [GitLab >= 14.1]
327
+ * Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
328
+ */
329
+ readonly squashCommitTemplate: pulumi.Output<string | undefined>;
330
+ /**
331
+ * Squash commits when merge request. Valid values are `never`, `always`, `default_on`, or `default_off`. The default value
332
+ * is `default_off`. [GitLab >= 14.1]
225
333
  */
226
334
  readonly squashOption: pulumi.Output<string | undefined>;
227
335
  /**
@@ -229,19 +337,25 @@ export declare class Project extends pulumi.CustomResource {
229
337
  */
230
338
  readonly sshUrlToRepo: pulumi.Output<string>;
231
339
  /**
232
- * Tags (topics) of the project.
340
+ * The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
233
341
  */
234
- readonly tags: pulumi.Output<string[] | undefined>;
342
+ readonly tags: pulumi.Output<string[]>;
235
343
  /**
236
- * When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`.
344
+ * When used without use_custom_template, name of a built-in project template. When used with use_custom_template, name of
345
+ * a custom project template. This option is mutually exclusive with `template_project_id`.
237
346
  */
238
347
  readonly templateName: pulumi.Output<string | undefined>;
239
348
  /**
240
- * When used with use*custom*template, project ID of a custom project template. This is preferable to using template*name since template*name may be ambiguous (enterprise edition). This option is mutually exclusive with `templateName`.
349
+ * When used with use_custom_template, project ID of a custom project template. This is preferable to using template_name
350
+ * since template_name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`.
241
351
  */
242
352
  readonly templateProjectId: pulumi.Output<number | undefined>;
243
353
  /**
244
- * Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
354
+ * The list of topics for the project.
355
+ */
356
+ readonly topics: pulumi.Output<string[]>;
357
+ /**
358
+ * Use either custom instance or group (with group_with_project_templates_id) project template (enterprise edition).
245
359
  */
246
360
  readonly useCustomTemplate: pulumi.Output<boolean | undefined>;
247
361
  /**
@@ -252,6 +366,10 @@ export declare class Project extends pulumi.CustomResource {
252
366
  * URL that can be used to find the project in a browser.
253
367
  */
254
368
  readonly webUrl: pulumi.Output<string>;
369
+ /**
370
+ * Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
371
+ */
372
+ readonly wikiAccessLevel: pulumi.Output<string>;
255
373
  /**
256
374
  * Enable wiki for the project.
257
375
  */
@@ -273,22 +391,55 @@ export interface ProjectState {
273
391
  * Set to true if you want to treat skipped pipelines as if they finished with success.
274
392
  */
275
393
  allowMergeOnSkippedPipeline?: pulumi.Input<boolean>;
394
+ /**
395
+ * Set the analytics access level. Valid values are `disabled`, `private`, `enabled`.
396
+ */
397
+ analyticsAccessLevel?: pulumi.Input<string>;
276
398
  /**
277
399
  * Number of merge request approvals required for merging. Default is 0.
278
400
  */
279
401
  approvalsBeforeMerge?: pulumi.Input<number>;
280
402
  /**
281
- * Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation.
403
+ * Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE`
404
+ * operation.
282
405
  */
283
406
  archiveOnDestroy?: pulumi.Input<boolean>;
284
407
  /**
285
408
  * Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
286
409
  */
287
410
  archived?: pulumi.Input<boolean>;
411
+ /**
412
+ * Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
413
+ */
414
+ autoCancelPendingPipelines?: pulumi.Input<string>;
415
+ /**
416
+ * Auto Deploy strategy. Valid values are `continuous`, `manual`, `timed_incremental`.
417
+ */
418
+ autoDevopsDeployStrategy?: pulumi.Input<string>;
419
+ /**
420
+ * Enable Auto DevOps for this project.
421
+ */
422
+ autoDevopsEnabled?: pulumi.Input<boolean>;
423
+ /**
424
+ * Set whether auto-closing referenced issues on default branch.
425
+ */
426
+ autocloseReferencedIssues?: pulumi.Input<boolean>;
288
427
  /**
289
428
  * Test coverage parsing for the project.
290
429
  */
291
430
  buildCoverageRegex?: pulumi.Input<string>;
431
+ /**
432
+ * The Git strategy. Defaults to fetch.
433
+ */
434
+ buildGitStrategy?: pulumi.Input<string>;
435
+ /**
436
+ * The maximum amount of time, in seconds, that a job can run.
437
+ */
438
+ buildTimeout?: pulumi.Input<number>;
439
+ /**
440
+ * Set the builds access level. Valid values are `disabled`, `private`, `enabled`.
441
+ */
442
+ buildsAccessLevel?: pulumi.Input<string>;
292
443
  /**
293
444
  * Custom Path to CI config file.
294
445
  */
@@ -297,6 +448,15 @@ export interface ProjectState {
297
448
  * When a new deployment job starts, skip older deployment jobs that are still pending.
298
449
  */
299
450
  ciForwardDeploymentEnabled?: pulumi.Input<boolean>;
451
+ /**
452
+ * Set the image cleanup policy for this project. **Note**: this field is sometimes named
453
+ * `container_expiration_policy_attributes` in the GitLab Upstream API.
454
+ */
455
+ containerExpirationPolicy?: pulumi.Input<inputs.ProjectContainerExpirationPolicy>;
456
+ /**
457
+ * Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`.
458
+ */
459
+ containerRegistryAccessLevel?: pulumi.Input<string>;
300
460
  /**
301
461
  * Enable container registry for the project.
302
462
  */
@@ -310,7 +470,20 @@ export interface ProjectState {
310
470
  */
311
471
  description?: pulumi.Input<string>;
312
472
  /**
313
- * For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires use*custom*template to be true (enterprise edition).
473
+ * Disable email notifications.
474
+ */
475
+ emailsDisabled?: pulumi.Input<boolean>;
476
+ /**
477
+ * The classification label for the project.
478
+ */
479
+ externalAuthorizationClassificationLabel?: pulumi.Input<string>;
480
+ /**
481
+ * Set the forking access level. Valid values are `disabled`, `private`, `enabled`.
482
+ */
483
+ forkingAccessLevel?: pulumi.Input<string>;
484
+ /**
485
+ * For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave
486
+ * empty for instance-level templates. Requires use_custom_template to be true (enterprise edition).
314
487
  */
315
488
  groupWithProjectTemplatesId?: pulumi.Input<number>;
316
489
  /**
@@ -325,6 +498,10 @@ export interface ProjectState {
325
498
  * Create main branch with first commit containing a README.md file.
326
499
  */
327
500
  initializeWithReadme?: pulumi.Input<boolean>;
501
+ /**
502
+ * Set the issues access level. Valid values are `disabled`, `private`, `enabled`.
503
+ */
504
+ issuesAccessLevel?: pulumi.Input<string>;
328
505
  /**
329
506
  * Enable issue tracking for the project.
330
507
  */
@@ -337,6 +514,10 @@ export interface ProjectState {
337
514
  * Enable LFS for the project.
338
515
  */
339
516
  lfsEnabled?: pulumi.Input<boolean>;
517
+ /**
518
+ * Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
519
+ */
520
+ mergeCommitTemplate?: pulumi.Input<string>;
340
521
  /**
341
522
  * Set to `ff` to create fast-forward merges
342
523
  */
@@ -345,6 +526,10 @@ export interface ProjectState {
345
526
  * Enable or disable merge pipelines.
346
527
  */
347
528
  mergePipelinesEnabled?: pulumi.Input<boolean>;
529
+ /**
530
+ * Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`.
531
+ */
532
+ mergeRequestsAccessLevel?: pulumi.Input<string>;
348
533
  /**
349
534
  * Enable merge requests for the project.
350
535
  */
@@ -354,7 +539,7 @@ export interface ProjectState {
354
539
  */
355
540
  mergeRequestsTemplate?: pulumi.Input<string>;
356
541
  /**
357
- * Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect.
542
+ * Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
358
543
  */
359
544
  mergeTrainsEnabled?: pulumi.Input<boolean>;
360
545
  /**
@@ -389,6 +574,10 @@ export interface ProjectState {
389
574
  * Enable only mirror protected branches for a mirrored project.
390
575
  */
391
576
  onlyMirrorProtectedBranches?: pulumi.Input<boolean>;
577
+ /**
578
+ * Set the operations access level. Valid values are `disabled`, `private`, `enabled`.
579
+ */
580
+ operationsAccessLevel?: pulumi.Input<string>;
392
581
  /**
393
582
  * Enable packages repository for the project.
394
583
  */
@@ -413,6 +602,10 @@ export interface ProjectState {
413
602
  * Show link to create/view merge request when pushing from the command line
414
603
  */
415
604
  printingMergeRequestLinkEnabled?: pulumi.Input<boolean>;
605
+ /**
606
+ * If true, jobs can be viewed by non-project members.
607
+ */
608
+ publicBuilds?: pulumi.Input<boolean>;
416
609
  /**
417
610
  * Push rules for the project.
418
611
  */
@@ -421,24 +614,53 @@ export interface ProjectState {
421
614
  * Enable `Delete source branch` option by default for all new merge requests.
422
615
  */
423
616
  removeSourceBranchAfterMerge?: pulumi.Input<boolean>;
617
+ /**
618
+ * Set the repository access level. Valid values are `disabled`, `private`, `enabled`.
619
+ */
620
+ repositoryAccessLevel?: pulumi.Input<string>;
621
+ /**
622
+ * Which storage shard the repository is on. (administrator only)
623
+ */
624
+ repositoryStorage?: pulumi.Input<string>;
424
625
  /**
425
626
  * Allow users to request member access.
426
627
  */
427
628
  requestAccessEnabled?: pulumi.Input<boolean>;
629
+ /**
630
+ * Set the requirements access level. Valid values are `disabled`, `private`, `enabled`.
631
+ */
632
+ requirementsAccessLevel?: pulumi.Input<string>;
633
+ /**
634
+ * Automatically resolve merge request diffs discussions on lines changed with a push.
635
+ */
636
+ resolveOutdatedDiffDiscussions?: pulumi.Input<boolean>;
428
637
  /**
429
638
  * Registration token to use during runner setup.
430
639
  */
431
640
  runnersToken?: pulumi.Input<string>;
641
+ /**
642
+ * Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`.
643
+ */
644
+ securityAndComplianceAccessLevel?: pulumi.Input<string>;
432
645
  /**
433
646
  * Enable shared runners for this project.
434
647
  */
435
648
  sharedRunnersEnabled?: pulumi.Input<boolean>;
649
+ /**
650
+ * Set the snippets access level. Valid values are `disabled`, `private`, `enabled`.
651
+ */
652
+ snippetsAccessLevel?: pulumi.Input<string>;
436
653
  /**
437
654
  * Enable snippets for the project.
438
655
  */
439
656
  snippetsEnabled?: pulumi.Input<boolean>;
440
657
  /**
441
- * Squash commits when merge request. Valid values are `never`, `always`, `defaultOn`, or `defaultOff`. The default value is `defaultOff`. [GitLab >= 14.1]
658
+ * Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
659
+ */
660
+ squashCommitTemplate?: pulumi.Input<string>;
661
+ /**
662
+ * Squash commits when merge request. Valid values are `never`, `always`, `default_on`, or `default_off`. The default value
663
+ * is `default_off`. [GitLab >= 14.1]
442
664
  */
443
665
  squashOption?: pulumi.Input<string>;
444
666
  /**
@@ -446,19 +668,25 @@ export interface ProjectState {
446
668
  */
447
669
  sshUrlToRepo?: pulumi.Input<string>;
448
670
  /**
449
- * Tags (topics) of the project.
671
+ * The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
450
672
  */
451
673
  tags?: pulumi.Input<pulumi.Input<string>[]>;
452
674
  /**
453
- * When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`.
675
+ * When used without use_custom_template, name of a built-in project template. When used with use_custom_template, name of
676
+ * a custom project template. This option is mutually exclusive with `template_project_id`.
454
677
  */
455
678
  templateName?: pulumi.Input<string>;
456
679
  /**
457
- * When used with use*custom*template, project ID of a custom project template. This is preferable to using template*name since template*name may be ambiguous (enterprise edition). This option is mutually exclusive with `templateName`.
680
+ * When used with use_custom_template, project ID of a custom project template. This is preferable to using template_name
681
+ * since template_name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`.
458
682
  */
459
683
  templateProjectId?: pulumi.Input<number>;
460
684
  /**
461
- * Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
685
+ * The list of topics for the project.
686
+ */
687
+ topics?: pulumi.Input<pulumi.Input<string>[]>;
688
+ /**
689
+ * Use either custom instance or group (with group_with_project_templates_id) project template (enterprise edition).
462
690
  */
463
691
  useCustomTemplate?: pulumi.Input<boolean>;
464
692
  /**
@@ -469,6 +697,10 @@ export interface ProjectState {
469
697
  * URL that can be used to find the project in a browser.
470
698
  */
471
699
  webUrl?: pulumi.Input<string>;
700
+ /**
701
+ * Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
702
+ */
703
+ wikiAccessLevel?: pulumi.Input<string>;
472
704
  /**
473
705
  * Enable wiki for the project.
474
706
  */
@@ -482,22 +714,55 @@ export interface ProjectArgs {
482
714
  * Set to true if you want to treat skipped pipelines as if they finished with success.
483
715
  */
484
716
  allowMergeOnSkippedPipeline?: pulumi.Input<boolean>;
717
+ /**
718
+ * Set the analytics access level. Valid values are `disabled`, `private`, `enabled`.
719
+ */
720
+ analyticsAccessLevel?: pulumi.Input<string>;
485
721
  /**
486
722
  * Number of merge request approvals required for merging. Default is 0.
487
723
  */
488
724
  approvalsBeforeMerge?: pulumi.Input<number>;
489
725
  /**
490
- * Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE` operation.
726
+ * Set to `true` to archive the project instead of deleting on destroy. If set to `true` it will entire omit the `DELETE`
727
+ * operation.
491
728
  */
492
729
  archiveOnDestroy?: pulumi.Input<boolean>;
493
730
  /**
494
731
  * Whether the project is in read-only mode (archived). Repositories can be archived/unarchived by toggling this parameter.
495
732
  */
496
733
  archived?: pulumi.Input<boolean>;
734
+ /**
735
+ * Auto-cancel pending pipelines. This isn’t a boolean, but enabled/disabled.
736
+ */
737
+ autoCancelPendingPipelines?: pulumi.Input<string>;
738
+ /**
739
+ * Auto Deploy strategy. Valid values are `continuous`, `manual`, `timed_incremental`.
740
+ */
741
+ autoDevopsDeployStrategy?: pulumi.Input<string>;
742
+ /**
743
+ * Enable Auto DevOps for this project.
744
+ */
745
+ autoDevopsEnabled?: pulumi.Input<boolean>;
746
+ /**
747
+ * Set whether auto-closing referenced issues on default branch.
748
+ */
749
+ autocloseReferencedIssues?: pulumi.Input<boolean>;
497
750
  /**
498
751
  * Test coverage parsing for the project.
499
752
  */
500
753
  buildCoverageRegex?: pulumi.Input<string>;
754
+ /**
755
+ * The Git strategy. Defaults to fetch.
756
+ */
757
+ buildGitStrategy?: pulumi.Input<string>;
758
+ /**
759
+ * The maximum amount of time, in seconds, that a job can run.
760
+ */
761
+ buildTimeout?: pulumi.Input<number>;
762
+ /**
763
+ * Set the builds access level. Valid values are `disabled`, `private`, `enabled`.
764
+ */
765
+ buildsAccessLevel?: pulumi.Input<string>;
501
766
  /**
502
767
  * Custom Path to CI config file.
503
768
  */
@@ -506,6 +771,15 @@ export interface ProjectArgs {
506
771
  * When a new deployment job starts, skip older deployment jobs that are still pending.
507
772
  */
508
773
  ciForwardDeploymentEnabled?: pulumi.Input<boolean>;
774
+ /**
775
+ * Set the image cleanup policy for this project. **Note**: this field is sometimes named
776
+ * `container_expiration_policy_attributes` in the GitLab Upstream API.
777
+ */
778
+ containerExpirationPolicy?: pulumi.Input<inputs.ProjectContainerExpirationPolicy>;
779
+ /**
780
+ * Set visibility of container registry, for this project. Valid values are `disabled`, `private`, `enabled`.
781
+ */
782
+ containerRegistryAccessLevel?: pulumi.Input<string>;
509
783
  /**
510
784
  * Enable container registry for the project.
511
785
  */
@@ -519,7 +793,20 @@ export interface ProjectArgs {
519
793
  */
520
794
  description?: pulumi.Input<string>;
521
795
  /**
522
- * For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires use*custom*template to be true (enterprise edition).
796
+ * Disable email notifications.
797
+ */
798
+ emailsDisabled?: pulumi.Input<boolean>;
799
+ /**
800
+ * The classification label for the project.
801
+ */
802
+ externalAuthorizationClassificationLabel?: pulumi.Input<string>;
803
+ /**
804
+ * Set the forking access level. Valid values are `disabled`, `private`, `enabled`.
805
+ */
806
+ forkingAccessLevel?: pulumi.Input<string>;
807
+ /**
808
+ * For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave
809
+ * empty for instance-level templates. Requires use_custom_template to be true (enterprise edition).
523
810
  */
524
811
  groupWithProjectTemplatesId?: pulumi.Input<number>;
525
812
  /**
@@ -530,6 +817,10 @@ export interface ProjectArgs {
530
817
  * Create main branch with first commit containing a README.md file.
531
818
  */
532
819
  initializeWithReadme?: pulumi.Input<boolean>;
820
+ /**
821
+ * Set the issues access level. Valid values are `disabled`, `private`, `enabled`.
822
+ */
823
+ issuesAccessLevel?: pulumi.Input<string>;
533
824
  /**
534
825
  * Enable issue tracking for the project.
535
826
  */
@@ -542,6 +833,10 @@ export interface ProjectArgs {
542
833
  * Enable LFS for the project.
543
834
  */
544
835
  lfsEnabled?: pulumi.Input<boolean>;
836
+ /**
837
+ * Template used to create merge commit message in merge requests. (Introduced in GitLab 14.5.)
838
+ */
839
+ mergeCommitTemplate?: pulumi.Input<string>;
545
840
  /**
546
841
  * Set to `ff` to create fast-forward merges
547
842
  */
@@ -550,6 +845,10 @@ export interface ProjectArgs {
550
845
  * Enable or disable merge pipelines.
551
846
  */
552
847
  mergePipelinesEnabled?: pulumi.Input<boolean>;
848
+ /**
849
+ * Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`.
850
+ */
851
+ mergeRequestsAccessLevel?: pulumi.Input<string>;
553
852
  /**
554
853
  * Enable merge requests for the project.
555
854
  */
@@ -559,7 +858,7 @@ export interface ProjectArgs {
559
858
  */
560
859
  mergeRequestsTemplate?: pulumi.Input<string>;
561
860
  /**
562
- * Enable or disable merge trains. Requires `mergePipelinesEnabled` to be set to `true` to take effect.
861
+ * Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
563
862
  */
564
863
  mergeTrainsEnabled?: pulumi.Input<boolean>;
565
864
  /**
@@ -594,6 +893,10 @@ export interface ProjectArgs {
594
893
  * Enable only mirror protected branches for a mirrored project.
595
894
  */
596
895
  onlyMirrorProtectedBranches?: pulumi.Input<boolean>;
896
+ /**
897
+ * Set the operations access level. Valid values are `disabled`, `private`, `enabled`.
898
+ */
899
+ operationsAccessLevel?: pulumi.Input<string>;
597
900
  /**
598
901
  * Enable packages repository for the project.
599
902
  */
@@ -614,6 +917,10 @@ export interface ProjectArgs {
614
917
  * Show link to create/view merge request when pushing from the command line
615
918
  */
616
919
  printingMergeRequestLinkEnabled?: pulumi.Input<boolean>;
920
+ /**
921
+ * If true, jobs can be viewed by non-project members.
922
+ */
923
+ publicBuilds?: pulumi.Input<boolean>;
617
924
  /**
618
925
  * Push rules for the project.
619
926
  */
@@ -622,42 +929,81 @@ export interface ProjectArgs {
622
929
  * Enable `Delete source branch` option by default for all new merge requests.
623
930
  */
624
931
  removeSourceBranchAfterMerge?: pulumi.Input<boolean>;
932
+ /**
933
+ * Set the repository access level. Valid values are `disabled`, `private`, `enabled`.
934
+ */
935
+ repositoryAccessLevel?: pulumi.Input<string>;
936
+ /**
937
+ * Which storage shard the repository is on. (administrator only)
938
+ */
939
+ repositoryStorage?: pulumi.Input<string>;
625
940
  /**
626
941
  * Allow users to request member access.
627
942
  */
628
943
  requestAccessEnabled?: pulumi.Input<boolean>;
944
+ /**
945
+ * Set the requirements access level. Valid values are `disabled`, `private`, `enabled`.
946
+ */
947
+ requirementsAccessLevel?: pulumi.Input<string>;
948
+ /**
949
+ * Automatically resolve merge request diffs discussions on lines changed with a push.
950
+ */
951
+ resolveOutdatedDiffDiscussions?: pulumi.Input<boolean>;
952
+ /**
953
+ * Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`.
954
+ */
955
+ securityAndComplianceAccessLevel?: pulumi.Input<string>;
629
956
  /**
630
957
  * Enable shared runners for this project.
631
958
  */
632
959
  sharedRunnersEnabled?: pulumi.Input<boolean>;
960
+ /**
961
+ * Set the snippets access level. Valid values are `disabled`, `private`, `enabled`.
962
+ */
963
+ snippetsAccessLevel?: pulumi.Input<string>;
633
964
  /**
634
965
  * Enable snippets for the project.
635
966
  */
636
967
  snippetsEnabled?: pulumi.Input<boolean>;
637
968
  /**
638
- * Squash commits when merge request. Valid values are `never`, `always`, `defaultOn`, or `defaultOff`. The default value is `defaultOff`. [GitLab >= 14.1]
969
+ * Template used to create squash commit message in merge requests. (Introduced in GitLab 14.6.)
970
+ */
971
+ squashCommitTemplate?: pulumi.Input<string>;
972
+ /**
973
+ * Squash commits when merge request. Valid values are `never`, `always`, `default_on`, or `default_off`. The default value
974
+ * is `default_off`. [GitLab >= 14.1]
639
975
  */
640
976
  squashOption?: pulumi.Input<string>;
641
977
  /**
642
- * Tags (topics) of the project.
978
+ * The list of tags for a project; put array of tags, that should be finally assigned to a project. Use topics instead.
643
979
  */
644
980
  tags?: pulumi.Input<pulumi.Input<string>[]>;
645
981
  /**
646
- * When used without use*custom*template, name of a built-in project template. When used with use*custom*template, name of a custom project template. This option is mutually exclusive with `templateProjectId`.
982
+ * When used without use_custom_template, name of a built-in project template. When used with use_custom_template, name of
983
+ * a custom project template. This option is mutually exclusive with `template_project_id`.
647
984
  */
648
985
  templateName?: pulumi.Input<string>;
649
986
  /**
650
- * When used with use*custom*template, project ID of a custom project template. This is preferable to using template*name since template*name may be ambiguous (enterprise edition). This option is mutually exclusive with `templateName`.
987
+ * When used with use_custom_template, project ID of a custom project template. This is preferable to using template_name
988
+ * since template_name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`.
651
989
  */
652
990
  templateProjectId?: pulumi.Input<number>;
653
991
  /**
654
- * Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
992
+ * The list of topics for the project.
993
+ */
994
+ topics?: pulumi.Input<pulumi.Input<string>[]>;
995
+ /**
996
+ * Use either custom instance or group (with group_with_project_templates_id) project template (enterprise edition).
655
997
  */
656
998
  useCustomTemplate?: pulumi.Input<boolean>;
657
999
  /**
658
1000
  * Set to `public` to create a public project.
659
1001
  */
660
1002
  visibilityLevel?: pulumi.Input<string>;
1003
+ /**
1004
+ * Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
1005
+ */
1006
+ wikiAccessLevel?: pulumi.Input<string>;
661
1007
  /**
662
1008
  * Enable wiki for the project.
663
1009
  */