projen 0.48.0 → 0.49.2

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 (297) hide show
  1. package/.jsii +6276 -1413
  2. package/.prettierignore +1 -0
  3. package/.prettierrc.json +3 -0
  4. package/API.md +1111 -41
  5. package/changelog.md +2 -8
  6. package/docs/gitlab.md +67 -0
  7. package/lib/_resolve.d.ts +1 -1
  8. package/lib/_resolve.js +5 -7
  9. package/lib/awscdk/auto-discover.d.ts +4 -4
  10. package/lib/awscdk/auto-discover.js +2 -2
  11. package/lib/awscdk/{java-app.d.ts → awscdk-app-java.d.ts} +13 -30
  12. package/lib/awscdk/awscdk-app-java.js +91 -0
  13. package/lib/awscdk/awscdk-app-ts.d.ts +5 -5
  14. package/lib/awscdk/awscdk-app-ts.js +35 -34
  15. package/lib/awscdk/awscdk-construct.d.ts +3 -3
  16. package/lib/awscdk/awscdk-construct.js +12 -10
  17. package/lib/awscdk/awscdk-deps-java.d.ts +14 -0
  18. package/lib/awscdk/awscdk-deps-java.js +30 -0
  19. package/lib/awscdk/awscdk-deps-js.d.ts +14 -0
  20. package/lib/awscdk/awscdk-deps-js.js +31 -0
  21. package/lib/awscdk/awscdk-deps.d.ts +59 -11
  22. package/lib/awscdk/awscdk-deps.js +27 -23
  23. package/lib/awscdk/cdk-config.d.ts +3 -3
  24. package/lib/awscdk/cdk-config.js +5 -5
  25. package/lib/awscdk/cdk-tasks.d.ts +3 -3
  26. package/lib/awscdk/cdk-tasks.js +21 -20
  27. package/lib/awscdk/index.d.ts +11 -9
  28. package/lib/awscdk/index.js +4 -2
  29. package/lib/awscdk/integration-test.d.ts +4 -4
  30. package/lib/awscdk/integration-test.js +15 -13
  31. package/lib/awscdk/internal.js +16 -16
  32. package/lib/awscdk/lambda-function.d.ts +4 -4
  33. package/lib/awscdk/lambda-function.js +29 -29
  34. package/lib/build/build-workflow.d.ts +5 -5
  35. package/lib/build/build-workflow.js +36 -30
  36. package/lib/build/index.d.ts +1 -1
  37. package/lib/build/index.js +1 -1
  38. package/lib/builtin-example.task.js +3 -3
  39. package/lib/cdk/construct-lib.d.ts +1 -1
  40. package/lib/cdk/construct-lib.js +4 -4
  41. package/lib/cdk/consts.d.ts +2 -2
  42. package/lib/cdk/consts.js +5 -5
  43. package/lib/cdk/index.d.ts +3 -3
  44. package/lib/cdk/index.js +1 -1
  45. package/lib/cdk/jsii-docgen.d.ts +1 -1
  46. package/lib/cdk/jsii-docgen.js +7 -7
  47. package/lib/cdk/jsii-project.d.ts +3 -3
  48. package/lib/cdk/jsii-project.js +39 -39
  49. package/lib/cdk8s/cdk8s-app-ts.d.ts +1 -1
  50. package/lib/cdk8s/cdk8s-app-ts.js +28 -21
  51. package/lib/cdk8s/cdk8s-construct.d.ts +1 -1
  52. package/lib/cdk8s/cdk8s-construct.js +10 -6
  53. package/lib/cdk8s/index.d.ts +2 -2
  54. package/lib/cdk8s/index.js +1 -1
  55. package/lib/cdktf/cdktf-construct.d.ts +1 -1
  56. package/lib/cdktf/cdktf-construct.js +4 -4
  57. package/lib/cdktf/index.d.ts +1 -1
  58. package/lib/cdktf/index.js +1 -1
  59. package/lib/cleanup.js +20 -14
  60. package/lib/cli/cmds/new.js +71 -42
  61. package/lib/cli/index.js +27 -10
  62. package/lib/cli/macros.js +15 -11
  63. package/lib/cli/synth.d.ts +1 -1
  64. package/lib/cli/synth.js +15 -12
  65. package/lib/cli/tasks.d.ts +2 -2
  66. package/lib/cli/tasks.js +9 -6
  67. package/lib/cli/util.js +4 -4
  68. package/lib/clobber.d.ts +2 -2
  69. package/lib/clobber.js +14 -10
  70. package/lib/common.js +7 -9
  71. package/lib/component.d.ts +1 -1
  72. package/lib/component.js +2 -2
  73. package/lib/dependencies.d.ts +2 -2
  74. package/lib/dependencies.js +14 -12
  75. package/lib/dev-env.d.ts +1 -1
  76. package/lib/dev-env.js +2 -2
  77. package/lib/docker-compose.d.ts +2 -2
  78. package/lib/docker-compose.js +23 -19
  79. package/lib/file.d.ts +2 -2
  80. package/lib/file.js +7 -5
  81. package/lib/gitattributes.d.ts +2 -2
  82. package/lib/gitattributes.js +7 -8
  83. package/lib/github/auto-approve.d.ts +2 -2
  84. package/lib/github/auto-approve.js +25 -15
  85. package/lib/github/auto-merge.d.ts +2 -2
  86. package/lib/github/auto-merge.js +14 -14
  87. package/lib/github/constants.d.ts +1 -1
  88. package/lib/github/constants.js +4 -4
  89. package/lib/github/dependabot.d.ts +2 -2
  90. package/lib/github/dependabot.js +16 -14
  91. package/lib/github/github-project.d.ts +5 -5
  92. package/lib/github/github-project.js +14 -10
  93. package/lib/github/github.d.ts +7 -7
  94. package/lib/github/github.js +7 -5
  95. package/lib/github/index.d.ts +13 -13
  96. package/lib/github/index.js +1 -1
  97. package/lib/github/mergify.d.ts +2 -2
  98. package/lib/github/mergify.js +3 -3
  99. package/lib/github/pr-template.d.ts +2 -2
  100. package/lib/github/pr-template.js +5 -5
  101. package/lib/github/pull-request-lint.d.ts +2 -2
  102. package/lib/github/pull-request-lint.js +17 -14
  103. package/lib/github/stale-util.d.ts +1 -1
  104. package/lib/github/stale-util.js +2 -3
  105. package/lib/github/stale.d.ts +2 -2
  106. package/lib/github/stale.js +28 -20
  107. package/lib/github/task-workflow.d.ts +4 -4
  108. package/lib/github/task-workflow.js +12 -10
  109. package/lib/github/workflow-actions.d.ts +2 -2
  110. package/lib/github/workflow-actions.js +22 -20
  111. package/lib/github/workflows-model.d.ts +20 -20
  112. package/lib/github/workflows-model.js +1 -1
  113. package/lib/github/workflows.d.ts +4 -4
  114. package/lib/github/workflows.js +42 -27
  115. package/lib/gitlab/configuration-model.d.ts +1308 -0
  116. package/lib/gitlab/configuration-model.js +122 -0
  117. package/lib/gitlab/configuration.d.ts +260 -0
  118. package/lib/gitlab/configuration.js +296 -0
  119. package/lib/gitlab/gitlab-configuration.d.ts +30 -0
  120. package/lib/gitlab/gitlab-configuration.js +49 -0
  121. package/lib/gitlab/index.d.ts +4 -0
  122. package/lib/gitlab/index.js +17 -0
  123. package/lib/gitlab/nested-configuration.d.ts +26 -0
  124. package/lib/gitlab/nested-configuration.js +38 -0
  125. package/lib/gitpod.d.ts +4 -4
  126. package/lib/gitpod.js +12 -9
  127. package/lib/ignore-file.d.ts +2 -2
  128. package/lib/ignore-file.js +10 -13
  129. package/lib/index.d.ts +47 -46
  130. package/lib/index.js +2 -1
  131. package/lib/ini.d.ts +3 -3
  132. package/lib/ini.js +4 -4
  133. package/lib/inventory.d.ts +1 -1
  134. package/lib/inventory.js +34 -30
  135. package/lib/java/index.d.ts +7 -7
  136. package/lib/java/index.js +1 -1
  137. package/lib/java/java-project.d.ts +7 -6
  138. package/lib/java/java-project.js +11 -13
  139. package/lib/java/junit.d.ts +3 -3
  140. package/lib/java/junit.js +17 -17
  141. package/lib/java/maven-compile.d.ts +3 -3
  142. package/lib/java/maven-compile.js +7 -7
  143. package/lib/java/maven-packaging.d.ts +3 -3
  144. package/lib/java/maven-packaging.js +12 -16
  145. package/lib/java/maven-sample.d.ts +2 -2
  146. package/lib/java/maven-sample.js +12 -12
  147. package/lib/java/pom.d.ts +2 -2
  148. package/lib/java/pom.js +16 -14
  149. package/lib/java/projenrc.d.ts +3 -3
  150. package/lib/java/projenrc.js +35 -25
  151. package/lib/javascript/bundler.d.ts +3 -3
  152. package/lib/javascript/bundler.js +14 -12
  153. package/lib/javascript/eslint.d.ts +4 -3
  154. package/lib/javascript/eslint.js +102 -86
  155. package/lib/javascript/index.d.ts +10 -10
  156. package/lib/javascript/index.js +1 -1
  157. package/lib/javascript/jest.d.ts +4 -4
  158. package/lib/javascript/jest.js +48 -37
  159. package/lib/javascript/node-package.d.ts +9 -2
  160. package/lib/javascript/node-package.js +111 -81
  161. package/lib/javascript/node-project.d.ts +11 -11
  162. package/lib/javascript/node-project.js +78 -52
  163. package/lib/javascript/npm-config.d.ts +2 -2
  164. package/lib/javascript/npm-config.js +4 -4
  165. package/lib/javascript/prettier.d.ts +4 -4
  166. package/lib/javascript/prettier.js +5 -5
  167. package/lib/javascript/projenrc.d.ts +2 -2
  168. package/lib/javascript/projenrc.js +8 -8
  169. package/lib/javascript/render-options.d.ts +2 -2
  170. package/lib/javascript/render-options.js +23 -18
  171. package/lib/javascript/typescript-config.d.ts +2 -2
  172. package/lib/javascript/typescript-config.js +5 -5
  173. package/lib/javascript/upgrade-dependencies.d.ts +4 -4
  174. package/lib/javascript/upgrade-dependencies.js +67 -53
  175. package/lib/javascript/util.js +2 -2
  176. package/lib/json.d.ts +3 -3
  177. package/lib/json.js +4 -4
  178. package/lib/license.d.ts +2 -2
  179. package/lib/license.js +7 -7
  180. package/lib/logger.d.ts +2 -2
  181. package/lib/logger.js +14 -9
  182. package/lib/logging.js +2 -2
  183. package/lib/makefile.d.ts +2 -2
  184. package/lib/makefile.js +12 -15
  185. package/lib/object-file.d.ts +2 -2
  186. package/lib/object-file.js +9 -7
  187. package/lib/option-hints.js +1 -1
  188. package/lib/project-build.d.ts +3 -3
  189. package/lib/project-build.js +14 -14
  190. package/lib/project.d.ts +14 -14
  191. package/lib/project.js +41 -23
  192. package/lib/projects.d.ts +1 -1
  193. package/lib/projects.js +10 -11
  194. package/lib/projenrc-json.d.ts +2 -2
  195. package/lib/projenrc-json.js +5 -5
  196. package/lib/python/index.d.ts +13 -13
  197. package/lib/python/index.js +1 -1
  198. package/lib/python/pip.d.ts +4 -4
  199. package/lib/python/pip.js +16 -12
  200. package/lib/python/poetry.d.ts +7 -7
  201. package/lib/python/poetry.js +41 -33
  202. package/lib/python/projenrc.d.ts +2 -2
  203. package/lib/python/projenrc.js +24 -21
  204. package/lib/python/pytest.d.ts +2 -2
  205. package/lib/python/pytest.js +19 -19
  206. package/lib/python/python-deps.d.ts +2 -2
  207. package/lib/python/python-deps.js +1 -1
  208. package/lib/python/python-packaging.d.ts +2 -2
  209. package/lib/python/python-packaging.js +1 -1
  210. package/lib/python/python-project.d.ts +7 -7
  211. package/lib/python/python-project.js +14 -13
  212. package/lib/python/python-sample.d.ts +2 -2
  213. package/lib/python/python-sample.js +17 -17
  214. package/lib/python/requirements-file.d.ts +3 -3
  215. package/lib/python/requirements-file.js +7 -8
  216. package/lib/python/setuppy.d.ts +2 -2
  217. package/lib/python/setuppy.js +23 -23
  218. package/lib/python/setuptools.d.ts +4 -4
  219. package/lib/python/setuptools.js +11 -11
  220. package/lib/python/venv.d.ts +3 -3
  221. package/lib/python/venv.js +6 -6
  222. package/lib/readme.d.ts +2 -2
  223. package/lib/readme.js +5 -3
  224. package/lib/release/bump-version.d.ts +1 -1
  225. package/lib/release/bump-version.js +37 -26
  226. package/lib/release/bump-version.task.js +7 -7
  227. package/lib/release/index.d.ts +3 -3
  228. package/lib/release/index.js +1 -1
  229. package/lib/release/publisher.d.ts +4 -4
  230. package/lib/release/publisher.js +93 -78
  231. package/lib/release/release-trigger.js +3 -3
  232. package/lib/release/release.d.ts +6 -6
  233. package/lib/release/release.js +37 -23
  234. package/lib/release/reset-version.task.js +4 -4
  235. package/lib/release/tag-version.js +1 -1
  236. package/lib/release/tag-version.task.js +3 -3
  237. package/lib/release/update-changelog.js +6 -4
  238. package/lib/release/update-changelog.task.js +4 -4
  239. package/lib/run-projenrc-json.task.js +5 -5
  240. package/lib/sample-file.d.ts +2 -2
  241. package/lib/sample-file.js +8 -8
  242. package/lib/semver.js +17 -7
  243. package/lib/source-code.d.ts +2 -2
  244. package/lib/source-code.js +5 -5
  245. package/lib/task-model.js +1 -1
  246. package/lib/task-runtime.d.ts +1 -1
  247. package/lib/task-runtime.js +27 -27
  248. package/lib/task.d.ts +1 -1
  249. package/lib/task.js +2 -2
  250. package/lib/tasks.d.ts +3 -3
  251. package/lib/tasks.js +5 -5
  252. package/lib/testing.d.ts +1 -1
  253. package/lib/testing.js +2 -2
  254. package/lib/textfile.d.ts +2 -2
  255. package/lib/textfile.js +3 -3
  256. package/lib/toml.d.ts +3 -3
  257. package/lib/toml.js +4 -4
  258. package/lib/typescript/index.d.ts +3 -3
  259. package/lib/typescript/index.js +1 -1
  260. package/lib/typescript/projenrc.d.ts +2 -2
  261. package/lib/typescript/projenrc.js +10 -10
  262. package/lib/typescript/typescript-typedoc.d.ts +1 -1
  263. package/lib/typescript/typescript-typedoc.js +4 -4
  264. package/lib/typescript/typescript.d.ts +3 -3
  265. package/lib/typescript/typescript.js +59 -62
  266. package/lib/util/semver.js +33 -33
  267. package/lib/util/synth.d.ts +1 -1
  268. package/lib/util/synth.js +15 -12
  269. package/lib/util.js +39 -32
  270. package/lib/version.d.ts +3 -3
  271. package/lib/version.js +12 -12
  272. package/lib/vscode/devcontainer.d.ts +4 -4
  273. package/lib/vscode/devcontainer.js +13 -8
  274. package/lib/vscode/index.d.ts +3 -3
  275. package/lib/vscode/index.js +1 -1
  276. package/lib/vscode/launch-config.d.ts +2 -2
  277. package/lib/vscode/launch-config.js +4 -4
  278. package/lib/vscode/vscode.d.ts +3 -3
  279. package/lib/vscode/vscode.js +2 -2
  280. package/lib/web/index.d.ts +4 -4
  281. package/lib/web/index.js +1 -1
  282. package/lib/web/next.d.ts +3 -3
  283. package/lib/web/next.js +241 -237
  284. package/lib/web/postcss.d.ts +3 -3
  285. package/lib/web/postcss.js +9 -6
  286. package/lib/web/react.d.ts +4 -4
  287. package/lib/web/react.js +172 -177
  288. package/lib/web/tailwind.d.ts +2 -2
  289. package/lib/web/tailwind.js +3 -3
  290. package/lib/xmlfile.d.ts +3 -3
  291. package/lib/xmlfile.js +5 -5
  292. package/lib/yaml.d.ts +3 -3
  293. package/lib/yaml.js +4 -4
  294. package/package.json +4 -1
  295. package/releasetag.txt +1 -1
  296. package/version.txt +1 -1
  297. package/lib/awscdk/java-app.js +0 -90
package/API.md CHANGED
@@ -40,6 +40,8 @@ Name|Description
40
40
  [awscdk.AutoDiscover](#projen-awscdk-autodiscover)|Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
41
41
  [awscdk.AwsCdkConstructLibrary](#projen-awscdk-awscdkconstructlibrary)|AWS CDK construct library project.
42
42
  [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)|Manages dependencies on the AWS CDK.
43
+ [awscdk.AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava)|Manages dependencies on the AWS CDK for Java projects.
44
+ [awscdk.AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs)|Manages dependencies on the AWS CDK for Node.js projects.
43
45
  [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
44
46
  [awscdk.AwsCdkTypeScriptApp](#projen-awscdk-awscdktypescriptapp)|AWS CDK app in TypeScript.
45
47
  [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
@@ -66,6 +68,9 @@ Name|Description
66
68
  [github.PullRequestTemplate](#projen-github-pullrequesttemplate)|Template for GitHub pull requests.
67
69
  [github.Stale](#projen-github-stale)|Warns and then closes issues and PRs that have had no activity for a specified amount of time.
68
70
  [github.TaskWorkflow](#projen-github-taskworkflow)|A GitHub workflow for common build tasks within a project.
71
+ [gitlab.CiConfiguration](#projen-gitlab-ciconfiguration)|CI for GitLab.
72
+ [gitlab.GitlabConfiguration](#projen-gitlab-gitlabconfiguration)|A GitLab CI for the main `.gitlab-ci.yml` file.
73
+ [gitlab.NestedConfiguration](#projen-gitlab-nestedconfiguration)|A GitLab CI for templates that are created and included in the `.gitlab-ci.yml` file.
69
74
  [java.JavaProject](#projen-java-javaproject)|Java project.
70
75
  [java.Junit](#projen-java-junit)|Implements JUnit-based testing.
71
76
  [java.MavenCompile](#projen-java-mavencompile)|Adds the maven-compiler plugin to a POM file and the `compile` task.
@@ -169,6 +174,7 @@ Name|Description
169
174
  [awscdk.AwsCdkDepsCommonOptions](#projen-awscdk-awscdkdepscommonoptions)|Options for `AwsCdkDeps`.
170
175
  [awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)|*No description*
171
176
  [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
177
+ [awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)|Language-specific AWS CDK package names.
172
178
  [awscdk.AwsCdkTypeScriptAppOptions](#projen-awscdk-awscdktypescriptappoptions)|*No description*
173
179
  [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
174
180
  [awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`.
@@ -206,6 +212,35 @@ Name|Description
206
212
  [github.StaleBehavior](#projen-github-stalebehavior)|Stale behavior.
207
213
  [github.StaleOptions](#projen-github-staleoptions)|Options for `Stale`.
208
214
  [github.TaskWorkflowOptions](#projen-github-taskworkflowoptions)|*No description*
215
+ [gitlab.AllowFailure](#projen-gitlab-allowfailure)|Exit code that are not considered failure.
216
+ [gitlab.Artifacts](#projen-gitlab-artifacts)|Used to specify a list of files and directories that should be attached to the job if it succeeds.
217
+ [gitlab.Assets](#projen-gitlab-assets)|Asset configuration for a release.
218
+ [gitlab.Cache](#projen-gitlab-cache)|Cache Definition.
219
+ [gitlab.CiConfigurationOptions](#projen-gitlab-ciconfigurationoptions)|Options for `CiConfiguration`.
220
+ [gitlab.Default](#projen-gitlab-default)|Default settings for the CI Configuration.
221
+ [gitlab.Engine](#projen-gitlab-engine)|The engine configuration for a secret.
222
+ [gitlab.Environment](#projen-gitlab-environment)|The environment that a job deploys to.
223
+ [gitlab.Filter](#projen-gitlab-filter)|Filtering options for when a job will run.
224
+ [gitlab.Image](#projen-gitlab-image)|Specifies the docker image to use for the job or globally for all jobs.
225
+ [gitlab.Include](#projen-gitlab-include)|An included YAML file.
226
+ [gitlab.IncludeRule](#projen-gitlab-includerule)|Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job.
227
+ [gitlab.Inherit](#projen-gitlab-inherit)|Controls inheritance of globally-defined defaults and variables.
228
+ [gitlab.Job](#projen-gitlab-job)|Jobs are the most fundamental element of a .gitlab-ci.yml file.
229
+ [gitlab.KubernetesConfig](#projen-gitlab-kubernetesconfig)|Used to configure the kubernetes deployment for this environment.
230
+ [gitlab.Link](#projen-gitlab-link)|Link configuration for an asset.
231
+ [gitlab.Need](#projen-gitlab-need)|A jobs in a previous stage whose sole completion is needed to start the current job.
232
+ [gitlab.Parallel](#projen-gitlab-parallel)|Used to run a job multiple times in parallel in a single pipeline.
233
+ [gitlab.Release](#projen-gitlab-release)|Indicates that the job creates a Release.
234
+ [gitlab.Reports](#projen-gitlab-reports)|Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in Merge Requests.
235
+ [gitlab.Retry](#projen-gitlab-retry)|How many times a job is retried if it fails.
236
+ [gitlab.Secret](#projen-gitlab-secret)|A CI/CD secret.
237
+ [gitlab.Service](#projen-gitlab-service)|Used to specify an additional Docker image to run scripts in.
238
+ [gitlab.Trigger](#projen-gitlab-trigger)|Trigger a multi-project or a child pipeline.
239
+ [gitlab.TriggerInclude](#projen-gitlab-triggerinclude)|References a local file or an artifact from another job to define the pipeline configuration.
240
+ [gitlab.VariableConfig](#projen-gitlab-variableconfig)|Explains what the global variable is used for, what the acceptable values are.
241
+ [gitlab.VaultConfig](#projen-gitlab-vaultconfig)|Specification for a secret provided by a HashiCorp Vault.
242
+ [gitlab.Workflow](#projen-gitlab-workflow)|Used to control pipeline behavior.
243
+ [gitlab.WorkflowRule](#projen-gitlab-workflowrule)|Used to control whether or not a whole pipeline is created.
209
244
  [java.JavaProjectCommonOptions](#projen-java-javaprojectcommonoptions)|Options for `JavaProject`.
210
245
  [java.JavaProjectOptions](#projen-java-javaprojectoptions)|Options for `JavaProject`.
211
246
  [java.JunitOptions](#projen-java-junitoptions)|Options for `Junit`.
@@ -325,6 +360,15 @@ Name|Description
325
360
  [github.DependabotRegistryType](#projen-github-dependabotregistrytype)|Each configuration type requires you to provide particular settings.
326
361
  [github.DependabotScheduleInterval](#projen-github-dependabotscheduleinterval)|How often to check for new versions and raise pull requests for version updates.
327
362
  [github.VersioningStrategy](#projen-github-versioningstrategy)|The strategy to use when edits manifest and lock files.
363
+ [gitlab.Action](#projen-gitlab-action)|Specifies what this job will do.
364
+ [gitlab.CacheWhen](#projen-gitlab-cachewhen)|Configure when artifacts are uploaded depended on job status.
365
+ [gitlab.DefaultElement](#projen-gitlab-defaultelement)|*No description*
366
+ [gitlab.DeploymentTier](#projen-gitlab-deploymenttier)|Explicitly specifies the tier of the deployment environment if non-standard environment name is used.
367
+ [gitlab.JobWhen](#projen-gitlab-jobwhen)|Describes the conditions for when to run the job.
368
+ [gitlab.KubernetesEnum](#projen-gitlab-kubernetesenum)|Filter job based on if Kubernetes integration is active.
369
+ [gitlab.LinkType](#projen-gitlab-linktype)|The content kind of what users can download via url.
370
+ [gitlab.Strategy](#projen-gitlab-strategy)|You can mirror the pipeline status from the triggered pipeline to the source bridge job by using strategy: depend.
371
+ [gitlab.WorkflowWhen](#projen-gitlab-workflowwhen)|Describes the conditions for when to run the job.
328
372
  [javascript.ArrowParens](#projen-javascript-arrowparens)|*No description*
329
373
  [javascript.AutoRelease](#projen-javascript-autorelease)|Automatic bump modes.
330
374
  [javascript.EmbeddedLanguageFormatting](#projen-javascript-embeddedlanguageformatting)|*No description*
@@ -3045,9 +3089,9 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
3045
3089
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
3046
3090
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
3047
3091
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3048
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3049
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3050
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3092
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3093
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3094
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3051
3095
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3052
3096
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3053
3097
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -3106,6 +3150,7 @@ Manages dependencies on the AWS CDK.
3106
3150
  __Submodule__: awscdk
3107
3151
 
3108
3152
  __Extends__: [Component](#projen-component)
3153
+ __Implemented by__: [awscdk.AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava), [awscdk.AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs)
3109
3154
 
3110
3155
  ### Initializer
3111
3156
 
@@ -3119,9 +3164,9 @@ new awscdk.AwsCdkDeps(project: Project, options: AwsCdkDepsOptions)
3119
3164
  * **project** (<code>[Project](#projen-project)</code>) *No description*
3120
3165
  * **options** (<code>[awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)</code>) *No description*
3121
3166
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3122
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3123
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3124
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3167
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3168
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3169
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3125
3170
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3126
3171
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3127
3172
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -3172,10 +3217,116 @@ This method is not supported in CDK v2. Use `project.addPeerDeps()` or
3172
3217
  addV1DevDependencies(...deps: string[]): void
3173
3218
  ```
3174
3219
 
3175
- * **deps** (<code>string</code>) names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
3220
+ * **deps** (<code>string</code>) fully qualified names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
3221
+
3222
+
3223
+
3224
+
3225
+ #### protected packageNames()🔹 <a id="projen-awscdk-awscdkdeps-packagenames"></a>
3226
+
3227
+ Return a configuration object with information about package naming in various languages.
3228
+
3229
+ ```ts
3230
+ protected packageNames(): AwsCdkPackageNames
3231
+ ```
3232
+
3233
+
3234
+ __Returns__:
3235
+ * <code>[awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)</code>
3236
+
3237
+
3238
+
3239
+ ## class AwsCdkDepsJava 🔹 <a id="projen-awscdk-awscdkdepsjava"></a>
3240
+
3241
+ Manages dependencies on the AWS CDK for Java projects.
3242
+
3243
+ __Submodule__: awscdk
3244
+
3245
+ __Extends__: [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)
3246
+
3247
+ ### Initializer
3248
+
3249
+
3250
+
3251
+
3252
+ ```ts
3253
+ new awscdk.AwsCdkDepsJava(project: Project, options: AwsCdkDepsOptions)
3254
+ ```
3255
+
3256
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
3257
+ * **options** (<code>[awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)</code>) *No description*
3258
+ * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3259
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3260
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3261
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3262
+ * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3263
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3264
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3265
+ * **constructsVersion** (<code>string</code>) Minimum version of the `constructs` library to depend on. __*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
3266
+ * **dependencyType** (<code>[DependencyType](#projen-dependencytype)</code>) The type of dependency to use for runtime AWS CDK and `constructs` modules.
3267
+
3268
+
3269
+ ### Methods
3270
+
3271
+
3272
+ #### protected packageNames()🔹 <a id="projen-awscdk-awscdkdepsjava-packagenames"></a>
3273
+
3274
+ Return a configuration object with information about package naming in various languages.
3275
+
3276
+ ```ts
3277
+ protected packageNames(): AwsCdkPackageNames
3278
+ ```
3279
+
3280
+
3281
+ __Returns__:
3282
+ * <code>[awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)</code>
3283
+
3284
+
3285
+
3286
+ ## class AwsCdkDepsJs 🔹 <a id="projen-awscdk-awscdkdepsjs"></a>
3287
+
3288
+ Manages dependencies on the AWS CDK for Node.js projects.
3289
+
3290
+ __Submodule__: awscdk
3291
+
3292
+ __Extends__: [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)
3293
+
3294
+ ### Initializer
3295
+
3296
+
3297
+
3298
+
3299
+ ```ts
3300
+ new awscdk.AwsCdkDepsJs(project: Project, options: AwsCdkDepsOptions)
3301
+ ```
3302
+
3303
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
3304
+ * **options** (<code>[awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)</code>) *No description*
3305
+ * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3306
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3307
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3308
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3309
+ * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3310
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3311
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3312
+ * **constructsVersion** (<code>string</code>) Minimum version of the `constructs` library to depend on. __*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
3313
+ * **dependencyType** (<code>[DependencyType](#projen-dependencytype)</code>) The type of dependency to use for runtime AWS CDK and `constructs` modules.
3176
3314
 
3177
3315
 
3316
+ ### Methods
3317
+
3318
+
3319
+ #### protected packageNames()🔹 <a id="projen-awscdk-awscdkdepsjs-packagenames"></a>
3320
+
3321
+ Return a configuration object with information about package naming in various languages.
3322
+
3323
+ ```ts
3324
+ protected packageNames(): AwsCdkPackageNames
3325
+ ```
3326
+
3178
3327
 
3328
+ __Returns__:
3329
+ * <code>[awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)</code>
3179
3330
 
3180
3331
 
3181
3332
 
@@ -3234,7 +3385,7 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
3234
3385
  * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
3235
3386
  * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
3236
3387
  * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
3237
- * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
3388
+ * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Default*__: true
3238
3389
  * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
3239
3390
  * **buildCommand** (<code>string</code>) A command to execute before synthesis. __*Default*__: no build command
3240
3391
  * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
@@ -3243,9 +3394,15 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
3243
3394
  * **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. __*Default*__: ApprovalLevel.BROADENING
3244
3395
  * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
3245
3396
  * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
3246
- * **cdkVersion** (<code>string</code>) AWS CDK version to use (you can use semantic versioning).
3397
+ * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3398
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3399
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3400
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3401
+ * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3402
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3403
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3404
+ * **constructsVersion** (<code>string</code>) Minimum version of the `constructs` library to depend on. __*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
3247
3405
  * **mainClass** (<code>string</code>) The name of the Java class with the static `main()` method.
3248
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules this app uses. __*Optional*__
3249
3406
 
3250
3407
 
3251
3408
 
@@ -3255,8 +3412,8 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
3255
3412
  Name | Type | Description
3256
3413
  -----|------|-------------
3257
3414
  **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | The `cdk.json` file.
3415
+ **cdkDeps**🔹 | <code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code> | CDK dependency management helper class.
3258
3416
  **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | CDK tasks.
3259
- **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
3260
3417
  **mainClass**🔹 | <code>string</code> | The full name of the main class of the java app (package.Class).
3261
3418
  **mainClassName**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
3262
3419
  **mainPackage**🔹 | <code>string</code> | The name of the Java package that includes the main class.
@@ -3264,7 +3421,7 @@ Name | Type | Description
3264
3421
  ### Methods
3265
3422
 
3266
3423
 
3267
- #### addCdkDependency(...modules)🔹 <a id="projen-awscdk-awscdkjavaapp-addcdkdependency"></a>
3424
+ #### addCdkDependency(...modules)⚠️ <a id="projen-awscdk-awscdkjavaapp-addcdkdependency"></a>
3268
3425
 
3269
3426
  Adds an AWS CDK module dependencies.
3270
3427
 
@@ -3272,7 +3429,7 @@ Adds an AWS CDK module dependencies.
3272
3429
  addCdkDependency(...modules: string[]): void
3273
3430
  ```
3274
3431
 
3275
- * **modules** (<code>string</code>) The list of modules to depend on (e.g. "core", "aws-lambda", etc).
3432
+ * **modules** (<code>string</code>) The list of modules to depend on (e.g. "software.amazon.awscdk/aws-lambda", "software.amazon.awscdk/aws-iam", etc).
3276
3433
 
3277
3434
 
3278
3435
 
@@ -3433,9 +3590,9 @@ new awscdk.AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
3433
3590
  * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
3434
3591
  * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
3435
3592
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3436
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3437
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3438
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3593
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3594
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3595
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3439
3596
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3440
3597
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3441
3598
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -3711,9 +3868,9 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3711
3868
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
3712
3869
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
3713
3870
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3714
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3715
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3716
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3871
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3872
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3873
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3717
3874
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3718
3875
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3719
3876
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -5455,6 +5612,254 @@ Name | Type | Description
5455
5612
 
5456
5613
 
5457
5614
 
5615
+ ## class CiConfiguration 🔹 <a id="projen-gitlab-ciconfiguration"></a>
5616
+
5617
+ CI for GitLab.
5618
+
5619
+ A CI is a configurable automated process made up of one or more stages/jobs.
5620
+
5621
+ __Submodule__: gitlab
5622
+
5623
+ __Extends__: [Component](#projen-component)
5624
+
5625
+ ### Initializer
5626
+
5627
+
5628
+
5629
+
5630
+ ```ts
5631
+ new gitlab.CiConfiguration(project: Project, name: string, options?: CiConfigurationOptions)
5632
+ ```
5633
+
5634
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5635
+ * **name** (<code>string</code>) *No description*
5636
+ * **options** (<code>[gitlab.CiConfigurationOptions](#projen-gitlab-ciconfigurationoptions)</code>) *No description*
5637
+ * **default** (<code>[gitlab.Default](#projen-gitlab-default)</code>) Default settings for the CI Configuration. __*Optional*__
5638
+ * **jobs** (<code>Map<string, [gitlab.Job](#projen-gitlab-job)></code>) An initial set of jobs to add to the configuration. __*Optional*__
5639
+ * **pages** (<code>[gitlab.Job](#projen-gitlab-job)</code>) A special job used to upload static sites to Gitlab pages. __*Optional*__
5640
+ * **stages** (<code>Array<string></code>) Groups jobs into stages. __*Optional*__
5641
+ * **variables** (<code>Map<string, any></code>) Global variables that are passed to jobs. __*Optional*__
5642
+ * **workflow** (<code>[gitlab.Workflow](#projen-gitlab-workflow)</code>) Used to control pipeline behavior. __*Optional*__
5643
+
5644
+
5645
+
5646
+ ### Properties
5647
+
5648
+
5649
+ Name | Type | Description
5650
+ -----|------|-------------
5651
+ **defaultAfterScript**🔹 | <code>Array<string></code> | Defines default scripts that should run *after* all jobs.
5652
+ **defaultBeforeScript**🔹 | <code>Array<string></code> | Defines default scripts that should run *before* all jobs.
5653
+ **defaultTags**🔹 | <code>Array<string></code> | Used to select a specific runner from the list of all runners that are available for the project.
5654
+ **file**🔹 | <code>[YamlFile](#projen-yamlfile)</code> | The workflow YAML file.
5655
+ **jobs**🔹 | <code>Map<string, [gitlab.Job](#projen-gitlab-job)></code> | The jobs in the CI configuration.
5656
+ **name**🔹 | <code>string</code> | The name of the configuration.
5657
+ **path**🔹 | <code>string</code> | Path to CI file generated by the configuration.
5658
+ **project**🔹 | <code>[Project](#projen-project)</code> | The project the configuration belongs to.
5659
+ **stages**🔹 | <code>Array<string></code> | Groups jobs into stages.
5660
+ **variables**🔹 | <code>Map<string, string &#124; number &#124; [gitlab.VariableConfig](#projen-gitlab-variableconfig)></code> | Global variables that are passed to jobs.
5661
+ **defaultArtifacts**?🔹 | <code>[gitlab.Artifacts](#projen-gitlab-artifacts)</code> | Default list of files and directories that should be attached to the job if it succeeds.<br/>__*Optional*__
5662
+ **defaultCache**?🔹 | <code>[gitlab.Cache](#projen-gitlab-cache)</code> | A default list of files and directories to cache between jobs.<br/>__*Optional*__
5663
+ **defaultImage**?🔹 | <code>[gitlab.Image](#projen-gitlab-image)</code> | Specifies the default docker image to use globally for all jobs.<br/>__*Optional*__
5664
+ **defaultInterruptible**?🔹 | <code>boolean</code> | The default behavior for whether a job should be canceled when a newer pipeline starts before the job completes (Default: false).<br/>__*Optional*__
5665
+ **defaultRetry**?🔹 | <code>[gitlab.Retry](#projen-gitlab-retry)</code> | How many times a job is retried if it fails.<br/>__*Optional*__
5666
+ **defaultTimeout**?🔹 | <code>string</code> | A default timeout job written in natural language (Ex.<br/>__*Optional*__
5667
+ **pages**?🔹 | <code>[gitlab.Job](#projen-gitlab-job)</code> | A special job used to upload static sites to Gitlab pages.<br/>__*Optional*__
5668
+ **workflow**?🔹 | <code>[gitlab.Workflow](#projen-gitlab-workflow)</code> | Used to control pipeline behavior.<br/>__*Optional*__
5669
+
5670
+ ### Methods
5671
+
5672
+
5673
+ #### addGlobalVariables(variables)🔹 <a id="projen-gitlab-ciconfiguration-addglobalvariables"></a>
5674
+
5675
+ Add a globally defined variable to the CI configuration.
5676
+
5677
+ ```ts
5678
+ addGlobalVariables(variables: Map<string, any>): void
5679
+ ```
5680
+
5681
+ * **variables** (<code>Map<string, any></code>) The variables to add.
5682
+
5683
+
5684
+
5685
+
5686
+ #### addIncludes(...includes)🔹 <a id="projen-gitlab-ciconfiguration-addincludes"></a>
5687
+
5688
+ Add additional yml/yaml files to the CI includes.
5689
+
5690
+ ```ts
5691
+ addIncludes(...includes: Include[]): void
5692
+ ```
5693
+
5694
+ * **includes** (<code>[gitlab.Include](#projen-gitlab-include)</code>) The includes to add.
5695
+ * **file** (<code>Array<string></code>) Files from another private project on the same GitLab instance. __*Optional*__
5696
+ * **local** (<code>string</code>) Relative path from local repository root (`/`) to the `yaml`/`yml` file template. __*Optional*__
5697
+ * **project** (<code>string</code>) Path to the project, e.g. `group/project`, or `group/sub-group/project`. __*Optional*__
5698
+ * **ref** (<code>string</code>) Branch/Tag/Commit-hash for the target project. __*Optional*__
5699
+ * **remote** (<code>string</code>) URL to a `yaml`/`yml` template file using HTTP/HTTPS. __*Optional*__
5700
+ * **rules** (<code>Array<[gitlab.IncludeRule](#projen-gitlab-includerule)></code>) Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job. __*Optional*__
5701
+ * **template** (<code>string</code>) Use a `.gitlab-ci.yml` template as a base, e.g. `Nodejs.gitlab-ci.yml`. __*Optional*__
5702
+
5703
+
5704
+
5705
+
5706
+ #### addJobs(jobs)🔹 <a id="projen-gitlab-ciconfiguration-addjobs"></a>
5707
+
5708
+ Add jobs and their stages to the CI configuration.
5709
+
5710
+ ```ts
5711
+ addJobs(jobs: Map<string, Job>): void
5712
+ ```
5713
+
5714
+ * **jobs** (<code>Map<string, [gitlab.Job](#projen-gitlab-job)></code>) Jobs to add.
5715
+
5716
+
5717
+
5718
+
5719
+ #### addServices(...services)🔹 <a id="projen-gitlab-ciconfiguration-addservices"></a>
5720
+
5721
+ Add additional services.
5722
+
5723
+ ```ts
5724
+ addServices(...services: Service[]): void
5725
+ ```
5726
+
5727
+ * **services** (<code>[gitlab.Service](#projen-gitlab-service)</code>) The services to add.
5728
+ * **name** (<code>string</code>) Full name of the image that should be used.
5729
+ * **alias** (<code>string</code>) Additional alias that can be used to access the service from the job's container. __*Optional*__
5730
+ * **command** (<code>Array<string></code>) Command or script that should be used as the container's command. __*Optional*__
5731
+ * **entrypoint** (<code>Array<string></code>) Command or script that should be executed as the container's entrypoint. __*Optional*__
5732
+
5733
+
5734
+
5735
+
5736
+ #### addStages(...stages)🔹 <a id="projen-gitlab-ciconfiguration-addstages"></a>
5737
+
5738
+ Add stages to the CI configuration if not already present.
5739
+
5740
+ ```ts
5741
+ addStages(...stages: string[]): void
5742
+ ```
5743
+
5744
+ * **stages** (<code>string</code>) stages to add.
5745
+
5746
+
5747
+
5748
+
5749
+
5750
+
5751
+ ## class GitlabConfiguration 🔹 <a id="projen-gitlab-gitlabconfiguration"></a>
5752
+
5753
+ A GitLab CI for the main `.gitlab-ci.yml` file.
5754
+
5755
+ __Submodule__: gitlab
5756
+
5757
+ __Extends__: [gitlab.CiConfiguration](#projen-gitlab-ciconfiguration)
5758
+
5759
+ ### Initializer
5760
+
5761
+
5762
+
5763
+
5764
+ ```ts
5765
+ new gitlab.GitlabConfiguration(project: Project, options?: CiConfigurationOptions)
5766
+ ```
5767
+
5768
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5769
+ * **options** (<code>[gitlab.CiConfigurationOptions](#projen-gitlab-ciconfigurationoptions)</code>) *No description*
5770
+ * **default** (<code>[gitlab.Default](#projen-gitlab-default)</code>) Default settings for the CI Configuration. __*Optional*__
5771
+ * **jobs** (<code>Map<string, [gitlab.Job](#projen-gitlab-job)></code>) An initial set of jobs to add to the configuration. __*Optional*__
5772
+ * **pages** (<code>[gitlab.Job](#projen-gitlab-job)</code>) A special job used to upload static sites to Gitlab pages. __*Optional*__
5773
+ * **stages** (<code>Array<string></code>) Groups jobs into stages. __*Optional*__
5774
+ * **variables** (<code>Map<string, any></code>) Global variables that are passed to jobs. __*Optional*__
5775
+ * **workflow** (<code>[gitlab.Workflow](#projen-gitlab-workflow)</code>) Used to control pipeline behavior. __*Optional*__
5776
+
5777
+
5778
+
5779
+ ### Properties
5780
+
5781
+
5782
+ Name | Type | Description
5783
+ -----|------|-------------
5784
+ **nestedTemplates**🔹 | <code>Map<string, [gitlab.NestedConfiguration](#projen-gitlab-nestedconfiguration)></code> | <span></span>
5785
+
5786
+ ### Methods
5787
+
5788
+
5789
+ #### createNestedTemplates(config)🔹 <a id="projen-gitlab-gitlabconfiguration-createnestedtemplates"></a>
5790
+
5791
+ Creates and adds nested templates to the includes of the main CI.
5792
+
5793
+ Additionally adds their stages to the main CI if they are not already present.
5794
+ You can futher customize nested templates through the `nestedTemplates` property.
5795
+ E.g. gitlabConfig.nestedTemplates['templateName']?.addStages('stageName')
5796
+
5797
+ ```ts
5798
+ createNestedTemplates(config: Map<string, CiConfigurationOptions>): void
5799
+ ```
5800
+
5801
+ * **config** (<code>Map<string, [gitlab.CiConfigurationOptions](#projen-gitlab-ciconfigurationoptions)></code>) a record the names and configuraitons of the templates.
5802
+
5803
+
5804
+
5805
+
5806
+
5807
+
5808
+ ## class NestedConfiguration 🔹 <a id="projen-gitlab-nestedconfiguration"></a>
5809
+
5810
+ A GitLab CI for templates that are created and included in the `.gitlab-ci.yml` file.
5811
+
5812
+ __Submodule__: gitlab
5813
+
5814
+ __Extends__: [gitlab.CiConfiguration](#projen-gitlab-ciconfiguration)
5815
+
5816
+ ### Initializer
5817
+
5818
+
5819
+
5820
+
5821
+ ```ts
5822
+ new gitlab.NestedConfiguration(project: Project, parent: GitlabConfiguration, name: string, options?: CiConfigurationOptions)
5823
+ ```
5824
+
5825
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5826
+ * **parent** (<code>[gitlab.GitlabConfiguration](#projen-gitlab-gitlabconfiguration)</code>) *No description*
5827
+ * **name** (<code>string</code>) *No description*
5828
+ * **options** (<code>[gitlab.CiConfigurationOptions](#projen-gitlab-ciconfigurationoptions)</code>) *No description*
5829
+ * **default** (<code>[gitlab.Default](#projen-gitlab-default)</code>) Default settings for the CI Configuration. __*Optional*__
5830
+ * **jobs** (<code>Map<string, [gitlab.Job](#projen-gitlab-job)></code>) An initial set of jobs to add to the configuration. __*Optional*__
5831
+ * **pages** (<code>[gitlab.Job](#projen-gitlab-job)</code>) A special job used to upload static sites to Gitlab pages. __*Optional*__
5832
+ * **stages** (<code>Array<string></code>) Groups jobs into stages. __*Optional*__
5833
+ * **variables** (<code>Map<string, any></code>) Global variables that are passed to jobs. __*Optional*__
5834
+ * **workflow** (<code>[gitlab.Workflow](#projen-gitlab-workflow)</code>) Used to control pipeline behavior. __*Optional*__
5835
+
5836
+
5837
+
5838
+ ### Properties
5839
+
5840
+
5841
+ Name | Type | Description
5842
+ -----|------|-------------
5843
+ **parent**🔹 | <code>[gitlab.GitlabConfiguration](#projen-gitlab-gitlabconfiguration)</code> | <span></span>
5844
+
5845
+ ### Methods
5846
+
5847
+
5848
+ #### addStages(...stages)🔹 <a id="projen-gitlab-nestedconfiguration-addstages"></a>
5849
+
5850
+ Add stages to the Nested configuration and the main CI file if not already present.
5851
+
5852
+ ```ts
5853
+ addStages(...stages: string[]): void
5854
+ ```
5855
+
5856
+ * **stages** (<code>string</code>) stages to add.
5857
+
5858
+
5859
+
5860
+
5861
+
5862
+
5458
5863
  ## class JavaProject 🔹 <a id="projen-java-javaproject"></a>
5459
5864
 
5460
5865
  Java project.
@@ -5510,7 +5915,7 @@ new java.JavaProject(options: JavaProjectOptions)
5510
5915
  * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
5511
5916
  * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
5512
5917
  * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5513
- * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
5918
+ * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Default*__: true
5514
5919
  * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
5515
5920
 
5516
5921
 
@@ -5997,7 +6402,7 @@ Adds an eslint plugin.
5997
6402
  addPlugins(...plugins: string[]): void
5998
6403
  ```
5999
6404
 
6000
- * **plugins** (<code>string</code>) *No description*
6405
+ * **plugins** (<code>string</code>) The names of plugins to add.
6001
6406
 
6002
6407
 
6003
6408
 
@@ -10582,9 +10987,9 @@ Name | Type | Description
10582
10987
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10583
10988
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10584
10989
  **catalog**?🔹 | <code>[cdk.Catalog](#projen-cdk-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
10585
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10586
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10587
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10990
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10991
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10992
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10588
10993
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10589
10994
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10590
10995
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -10723,9 +11128,9 @@ Options for `AwsCdkDeps`.
10723
11128
  Name | Type | Description
10724
11129
  -----|------|-------------
10725
11130
  **cdkVersion**🔹 | <code>string</code> | Minimum version of the AWS CDK to depend on.
10726
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10727
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10728
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
11131
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11132
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11133
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10729
11134
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10730
11135
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10731
11136
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -10744,9 +11149,9 @@ Name | Type | Description
10744
11149
  -----|------|-------------
10745
11150
  **cdkVersion**🔹 | <code>string</code> | Minimum version of the AWS CDK to depend on.
10746
11151
  **dependencyType**🔹 | <code>[DependencyType](#projen-dependencytype)</code> | The type of dependency to use for runtime AWS CDK and `constructs` modules.
10747
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10748
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10749
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
11152
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11153
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11154
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10750
11155
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10751
11156
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10752
11157
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -10764,7 +11169,7 @@ Name | Type | Description
10764
11169
  Name | Type | Description
10765
11170
  -----|------|-------------
10766
11171
  **artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
10767
- **cdkVersion**🔹 | <code>string</code> | AWS CDK version to use (you can use semantic versioning).
11172
+ **cdkVersion**🔹 | <code>string</code> | Minimum version of the AWS CDK to depend on.
10768
11173
  **groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
10769
11174
  **mainClass**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
10770
11175
  **name**🔹 | <code>string</code> | This is the name of your project.
@@ -10772,10 +11177,16 @@ Name | Type | Description
10772
11177
  **autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
10773
11178
  **autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
10774
11179
  **buildCommand**?🔹 | <code>string</code> | A command to execute before synthesis.<br/>__*Default*__: no build command
10775
- **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules this app uses.<br/>__*Optional*__
11180
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11181
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11182
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
11183
+ **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
11184
+ **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
11185
+ **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
10776
11186
  **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
10777
11187
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10778
11188
  **compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
11189
+ **constructsVersion**?🔹 | <code>string</code> | Minimum version of the `constructs` library to depend on.<br/>__*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
10779
11190
  **context**?🔹 | <code>Map<string, any></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
10780
11191
  **deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
10781
11192
  **description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
@@ -10803,7 +11214,7 @@ Name | Type | Description
10803
11214
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10804
11215
  **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
10805
11216
  **requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.<br/>__*Default*__: ApprovalLevel.BROADENING
10806
- **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Optional*__
11217
+ **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Default*__: true
10807
11218
  **sampleJavaPackage**?🔹 | <code>string</code> | The java package to use for the code sample.<br/>__*Default*__: "org.acme"
10808
11219
  **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
10809
11220
  **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
@@ -10815,6 +11226,24 @@ Name | Type | Description
10815
11226
 
10816
11227
 
10817
11228
 
11229
+ ## struct AwsCdkPackageNames 🔹 <a id="projen-awscdk-awscdkpackagenames"></a>
11230
+
11231
+ __Obtainable from__: [AwsCdkDeps](#projen-awscdk-awscdkdeps).[packageNames](#projen-awscdk-awscdkdeps#projen-awscdk-awscdkdeps-packagenames)(), [AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava).[packageNames](#projen-awscdk-awscdkdepsjava#projen-awscdk-awscdkdepsjava-packagenames)(), [AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs).[packageNames](#projen-awscdk-awscdkdepsjs#projen-awscdk-awscdkdepsjs-packagenames)()
11232
+
11233
+ Language-specific AWS CDK package names.
11234
+
11235
+
11236
+
11237
+ Name | Type | Description
11238
+ -----|------|-------------
11239
+ **assertions**🔹 | <code>string</code> | Fully qualified name of the assertions library package.
11240
+ **constructs**🔹 | <code>string</code> | Fully qualified name of the constructs library package.
11241
+ **coreV1**🔹 | <code>string</code> | Fully qualified name of the core framework package for CDKv1.
11242
+ **coreV2**🔹 | <code>string</code> | Fully qualified name of the core framework package for CDKv2.
11243
+ **assert**?🔹 | <code>string</code> | Fully qualified name of the assert library package Can be empty as it's only really available for javascript projects.<br/>__*Optional*__
11244
+
11245
+
11246
+
10818
11247
  ## struct AwsCdkTypeScriptAppOptions 🔹 <a id="projen-awscdk-awscdktypescriptappoptions"></a>
10819
11248
 
10820
11249
 
@@ -10846,9 +11275,9 @@ Name | Type | Description
10846
11275
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10847
11276
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10848
11277
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10849
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10850
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10851
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
11278
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11279
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11280
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10852
11281
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10853
11282
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10854
11283
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -11045,9 +11474,9 @@ Name | Type | Description
11045
11474
  **bundledDeps**?⚠️ | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
11046
11475
  **bundlerOptions**?⚠️ | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
11047
11476
  **catalog**?⚠️ | <code>[cdk.Catalog](#projen-cdk-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
11048
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11049
- **cdkAssertions**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11050
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
11477
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11478
+ **cdkAssertions**?⚠️ | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11479
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
11051
11480
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
11052
11481
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
11053
11482
  **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -12478,7 +12907,532 @@ Name | Type | Description
12478
12907
 
12479
12908
 
12480
12909
 
12481
- ## struct JavaProjectCommonOptions 🔹 <a id="projen-java-javaprojectcommonoptions"></a>
12910
+ ## struct AllowFailure 🔹 <a id="projen-gitlab-allowfailure"></a>
12911
+
12912
+
12913
+ Exit code that are not considered failure.
12914
+
12915
+ The job fails for any other exit code.
12916
+ You can list which exit codes are not considered failures. The job fails for any other
12917
+ exit code.
12918
+
12919
+
12920
+
12921
+ Name | Type | Description
12922
+ -----|------|-------------
12923
+ **exitCodes**🔹 | <code>number &#124; Array<number></code> | <span></span>
12924
+
12925
+
12926
+
12927
+ ## struct Artifacts 🔹 <a id="projen-gitlab-artifacts"></a>
12928
+
12929
+
12930
+ Used to specify a list of files and directories that should be attached to the job if it succeeds.
12931
+
12932
+ Artifacts are sent to Gitlab where they can be downloaded.
12933
+
12934
+
12935
+
12936
+ Name | Type | Description
12937
+ -----|------|-------------
12938
+ **exclude**?🔹 | <code>Array<string></code> | A list of paths to files/folders that should be excluded in the artifact.<br/>__*Optional*__
12939
+ **expireIn**?🔹 | <code>string</code> | How long artifacts should be kept.<br/>__*Optional*__
12940
+ **exposeAs**?🔹 | <code>string</code> | Can be used to expose job artifacts in the merge request UI.<br/>__*Optional*__
12941
+ **name**?🔹 | <code>string</code> | Name for the archive created on job success.<br/>__*Optional*__
12942
+ **paths**?🔹 | <code>Array<string></code> | A list of paths to files/folders that should be included in the artifact.<br/>__*Optional*__
12943
+ **reports**?🔹 | <code>[gitlab.Reports](#projen-gitlab-reports)</code> | Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in Merge Requests.<br/>__*Optional*__
12944
+ **untracked**?🔹 | <code>boolean</code> | Whether to add all untracked files (along with 'artifacts.paths') to the artifact.<br/>__*Optional*__
12945
+ **when**?🔹 | <code>[gitlab.CacheWhen](#projen-gitlab-cachewhen)</code> | Configure when artifacts are uploaded depended on job status.<br/>__*Optional*__
12946
+
12947
+
12948
+
12949
+ ## struct Assets 🔹 <a id="projen-gitlab-assets"></a>
12950
+
12951
+
12952
+ Asset configuration for a release.
12953
+
12954
+
12955
+
12956
+ Name | Type | Description
12957
+ -----|------|-------------
12958
+ **links**🔹 | <code>Array<[gitlab.Link](#projen-gitlab-link)></code> | Include asset links in the release.
12959
+
12960
+
12961
+
12962
+ ## struct Cache 🔹 <a id="projen-gitlab-cache"></a>
12963
+
12964
+
12965
+ Cache Definition.
12966
+
12967
+
12968
+
12969
+ Name | Type | Description
12970
+ -----|------|-------------
12971
+ **when**?🔹 | <code>[gitlab.CacheWhen](#projen-gitlab-cachewhen)</code> | Defines when to save the cache, based on the status of the job (Default: Job Success).<br/>__*Optional*__
12972
+
12973
+
12974
+
12975
+ ## struct CiConfigurationOptions 🔹 <a id="projen-gitlab-ciconfigurationoptions"></a>
12976
+
12977
+
12978
+ Options for `CiConfiguration`.
12979
+
12980
+
12981
+
12982
+ Name | Type | Description
12983
+ -----|------|-------------
12984
+ **default**?🔹 | <code>[gitlab.Default](#projen-gitlab-default)</code> | Default settings for the CI Configuration.<br/>__*Optional*__
12985
+ **jobs**?🔹 | <code>Map<string, [gitlab.Job](#projen-gitlab-job)></code> | An initial set of jobs to add to the configuration.<br/>__*Optional*__
12986
+ **pages**?🔹 | <code>[gitlab.Job](#projen-gitlab-job)</code> | A special job used to upload static sites to Gitlab pages.<br/>__*Optional*__
12987
+ **stages**?🔹 | <code>Array<string></code> | Groups jobs into stages.<br/>__*Optional*__
12988
+ **variables**?🔹 | <code>Map<string, any></code> | Global variables that are passed to jobs.<br/>__*Optional*__
12989
+ **workflow**?🔹 | <code>[gitlab.Workflow](#projen-gitlab-workflow)</code> | Used to control pipeline behavior.<br/>__*Optional*__
12990
+
12991
+
12992
+
12993
+ ## struct Default 🔹 <a id="projen-gitlab-default"></a>
12994
+
12995
+
12996
+ Default settings for the CI Configuration.
12997
+
12998
+ Jobs that do not define one or more of the listed keywords use the value defined in the default section.
12999
+
13000
+
13001
+
13002
+ Name | Type | Description
13003
+ -----|------|-------------
13004
+ **afterScript**?🔹 | <code>Array<string></code> | __*Optional*__
13005
+ **artifacts**?🔹 | <code>[gitlab.Artifacts](#projen-gitlab-artifacts)</code> | __*Optional*__
13006
+ **beforeScript**?🔹 | <code>Array<string></code> | __*Optional*__
13007
+ **cache**?🔹 | <code>[gitlab.Cache](#projen-gitlab-cache)</code> | __*Optional*__
13008
+ **image**?🔹 | <code>[gitlab.Image](#projen-gitlab-image)</code> | __*Optional*__
13009
+ **interruptible**?🔹 | <code>boolean</code> | __*Optional*__
13010
+ **retry**?🔹 | <code>[gitlab.Retry](#projen-gitlab-retry)</code> | __*Optional*__
13011
+ **services**?🔹 | <code>Array<[gitlab.Service](#projen-gitlab-service)></code> | __*Optional*__
13012
+ **tags**?🔹 | <code>Array<string></code> | __*Optional*__
13013
+ **timeout**?🔹 | <code>string</code> | __*Optional*__
13014
+
13015
+
13016
+
13017
+ ## struct Engine 🔹 <a id="projen-gitlab-engine"></a>
13018
+
13019
+
13020
+ The engine configuration for a secret.
13021
+
13022
+
13023
+
13024
+ Name | Type | Description
13025
+ -----|------|-------------
13026
+ **name**🔹 | <code>string</code> | Name of the secrets engine.
13027
+ **path**🔹 | <code>string</code> | Path to the secrets engine.
13028
+
13029
+
13030
+
13031
+ ## struct Environment 🔹 <a id="projen-gitlab-environment"></a>
13032
+
13033
+
13034
+ The environment that a job deploys to.
13035
+
13036
+
13037
+
13038
+ Name | Type | Description
13039
+ -----|------|-------------
13040
+ **name**🔹 | <code>string</code> | The name of the environment, e.g. 'qa', 'staging', 'production'.
13041
+ **action**?🔹 | <code>[gitlab.Action](#projen-gitlab-action)</code> | Specifies what this job will do.<br/>__*Optional*__
13042
+ **autoStopIn**?🔹 | <code>string</code> | The amount of time it should take before Gitlab will automatically stop the environment.<br/>__*Optional*__
13043
+ **deploymentTier**?🔹 | <code>[gitlab.DeploymentTier](#projen-gitlab-deploymenttier)</code> | Explicitly specifies the tier of the deployment environment if non-standard environment name is used.<br/>__*Optional*__
13044
+ **kubernetes**?🔹 | <code>[gitlab.KubernetesConfig](#projen-gitlab-kubernetesconfig)</code> | Used to configure the kubernetes deployment for this environment.<br/>__*Optional*__
13045
+ **onStop**?🔹 | <code>string</code> | The name of a job to execute when the environment is about to be stopped.<br/>__*Optional*__
13046
+ **url**?🔹 | <code>string</code> | When set, this will expose buttons in various places for the current environment in Gitlab, that will take you to the defined URL.<br/>__*Optional*__
13047
+
13048
+
13049
+
13050
+ ## struct Filter 🔹 <a id="projen-gitlab-filter"></a>
13051
+
13052
+
13053
+ Filtering options for when a job will run.
13054
+
13055
+
13056
+
13057
+ Name | Type | Description
13058
+ -----|------|-------------
13059
+ **changes**?🔹 | <code>Array<string></code> | Filter job creation based on files that were modified in a git push.<br/>__*Optional*__
13060
+ **kubernetes**?🔹 | <code>[gitlab.KubernetesEnum](#projen-gitlab-kubernetesenum)</code> | Filter job based on if Kubernetes integration is active.<br/>__*Optional*__
13061
+ **refs**?🔹 | <code>Array<string></code> | Control when to add jobs to a pipeline based on branch names or pipeline types.<br/>__*Optional*__
13062
+ **variables**?🔹 | <code>Array<string></code> | Filter job by checking comparing values of environment variables.<br/>__*Optional*__
13063
+
13064
+
13065
+
13066
+ ## struct Image 🔹 <a id="projen-gitlab-image"></a>
13067
+
13068
+
13069
+ Specifies the docker image to use for the job or globally for all jobs.
13070
+
13071
+ Job configuration
13072
+ takes precedence over global setting. Requires a certain kind of Gitlab runner executor.
13073
+
13074
+
13075
+
13076
+ Name | Type | Description
13077
+ -----|------|-------------
13078
+ **name**🔹 | <code>string</code> | Full name of the image that should be used.
13079
+ **entrypoint**?🔹 | <code>Array<any></code> | Command or script that should be executed as the container's entrypoint.<br/>__*Optional*__
13080
+
13081
+
13082
+
13083
+ ## struct Include 🔹 <a id="projen-gitlab-include"></a>
13084
+
13085
+
13086
+ An included YAML file.
13087
+
13088
+
13089
+
13090
+ Name | Type | Description
13091
+ -----|------|-------------
13092
+ **file**?🔹 | <code>Array<string></code> | Files from another private project on the same GitLab instance.<br/>__*Optional*__
13093
+ **local**?🔹 | <code>string</code> | Relative path from local repository root (`/`) to the `yaml`/`yml` file template.<br/>__*Optional*__
13094
+ **project**?🔹 | <code>string</code> | Path to the project, e.g. `group/project`, or `group/sub-group/project`.<br/>__*Optional*__
13095
+ **ref**?🔹 | <code>string</code> | Branch/Tag/Commit-hash for the target project.<br/>__*Optional*__
13096
+ **remote**?🔹 | <code>string</code> | URL to a `yaml`/`yml` template file using HTTP/HTTPS.<br/>__*Optional*__
13097
+ **rules**?🔹 | <code>Array<[gitlab.IncludeRule](#projen-gitlab-includerule)></code> | Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job.<br/>__*Optional*__
13098
+ **template**?🔹 | <code>string</code> | Use a `.gitlab-ci.yml` template as a base, e.g. `Nodejs.gitlab-ci.yml`.<br/>__*Optional*__
13099
+
13100
+
13101
+
13102
+ ## struct IncludeRule 🔹 <a id="projen-gitlab-includerule"></a>
13103
+
13104
+
13105
+ Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job.
13106
+
13107
+
13108
+
13109
+ Name | Type | Description
13110
+ -----|------|-------------
13111
+ **allowFailure**?🔹 | <code>boolean &#124; [gitlab.AllowFailure](#projen-gitlab-allowfailure)</code> | __*Optional*__
13112
+ **changes**?🔹 | <code>Array<string></code> | __*Optional*__
13113
+ **exists**?🔹 | <code>Array<string></code> | __*Optional*__
13114
+ **if**?🔹 | <code>string</code> | __*Optional*__
13115
+ **startIn**?🔹 | <code>string</code> | __*Optional*__
13116
+ **variables**?🔹 | <code>Map<string, string &#124; number></code> | __*Optional*__
13117
+ **when**?🔹 | <code>[gitlab.JobWhen](#projen-gitlab-jobwhen)</code> | __*Optional*__
13118
+
13119
+
13120
+
13121
+ ## struct Inherit 🔹 <a id="projen-gitlab-inherit"></a>
13122
+
13123
+
13124
+ Controls inheritance of globally-defined defaults and variables.
13125
+
13126
+ Boolean values control
13127
+ inheritance of all default: or variables: keywords. To inherit only a subset of default:
13128
+ or variables: keywords, specify what you wish to inherit. Anything not listed is not
13129
+ inherited.
13130
+
13131
+
13132
+
13133
+ Name | Type | Description
13134
+ -----|------|-------------
13135
+ **default**?🔹 | <code>boolean &#124; Array<[gitlab.DefaultElement](#projen-gitlab-defaultelement)></code> | Whether to inherit all globally-defined defaults or not.<br/>__*Optional*__
13136
+ **variables**?🔹 | <code>boolean &#124; Array<string></code> | Whether to inherit all globally-defined variables or not.<br/>__*Optional*__
13137
+
13138
+
13139
+
13140
+ ## struct Job 🔹 <a id="projen-gitlab-job"></a>
13141
+
13142
+
13143
+ Jobs are the most fundamental element of a .gitlab-ci.yml file.
13144
+
13145
+
13146
+
13147
+ Name | Type | Description
13148
+ -----|------|-------------
13149
+ **afterScript**?🔹 | <code>Array<string></code> | __*Optional*__
13150
+ **allowFailure**?🔹 | <code>boolean &#124; [gitlab.AllowFailure](#projen-gitlab-allowfailure)</code> | Whether to allow the pipeline to continue running on job failure (Default: false).<br/>__*Optional*__
13151
+ **artifacts**?🔹 | <code>[gitlab.Artifacts](#projen-gitlab-artifacts)</code> | __*Optional*__
13152
+ **beforeScript**?🔹 | <code>Array<string></code> | __*Optional*__
13153
+ **cache**?🔹 | <code>[gitlab.Cache](#projen-gitlab-cache)</code> | __*Optional*__
13154
+ **coverage**?🔹 | <code>string</code> | Must be a regular expression, optionally but recommended to be quoted, and must be surrounded with '/'.<br/>__*Optional*__
13155
+ **dependencies**?🔹 | <code>Array<string></code> | Specify a list of job names from earlier stages from which artifacts should be loaded.<br/>__*Optional*__
13156
+ **environment**?🔹 | <code>string &#124; [gitlab.Environment](#projen-gitlab-environment)</code> | Used to associate environment metadata with a deploy.<br/>__*Optional*__
13157
+ **except**?🔹 | <code>[gitlab.Filter](#projen-gitlab-filter) &#124; Array<string></code> | Job will run *except* for when these filtering options match.<br/>__*Optional*__
13158
+ **extends**?🔹 | <code>Array<string></code> | The name of one or more jobs to inherit configuration from.<br/>__*Optional*__
13159
+ **image**?🔹 | <code>[gitlab.Image](#projen-gitlab-image)</code> | __*Optional*__
13160
+ **inherit**?🔹 | <code>[gitlab.Inherit](#projen-gitlab-inherit)</code> | Controls inheritance of globally-defined defaults and variables.<br/>__*Optional*__
13161
+ **interruptible**?🔹 | <code>boolean</code> | __*Optional*__
13162
+ **needs**?🔹 | <code>Array<string &#124; [gitlab.Need](#projen-gitlab-need)></code> | The list of jobs in previous stages whose sole completion is needed to start the current job.<br/>__*Optional*__
13163
+ **only**?🔹 | <code>[gitlab.Filter](#projen-gitlab-filter) &#124; Array<string></code> | Job will run *only* when these filtering options match.<br/>__*Optional*__
13164
+ **parallel**?🔹 | <code>number &#124; [gitlab.Parallel](#projen-gitlab-parallel)</code> | Parallel will split up a single job into several, and provide `CI_NODE_INDEX` and `CI_NODE_TOTAL` environment variables for the running jobs.<br/>__*Optional*__
13165
+ **release**?🔹 | <code>[gitlab.Release](#projen-gitlab-release)</code> | Indicates that the job creates a Release.<br/>__*Optional*__
13166
+ **resourceGroup**?🔹 | <code>string</code> | Limit job concurrency.<br/>__*Optional*__
13167
+ **retry**?🔹 | <code>[gitlab.Retry](#projen-gitlab-retry)</code> | __*Optional*__
13168
+ **rules**?🔹 | <code>Array<[gitlab.IncludeRule](#projen-gitlab-includerule)></code> | Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job.<br/>__*Optional*__
13169
+ **script**?🔹 | <code>Array<string></code> | Shell scripts executed by the Runner.<br/>__*Optional*__
13170
+ **secrets**?🔹 | <code>Map<string, Map<string, [gitlab.Secret](#projen-gitlab-secret)>></code> | CI/CD secrets.<br/>__*Optional*__
13171
+ **services**?🔹 | <code>Array<[gitlab.Service](#projen-gitlab-service)></code> | __*Optional*__
13172
+ **stage**?🔹 | <code>string</code> | Define what stage the job will run in.<br/>__*Optional*__
13173
+ **startIn**?🔹 | <code>string</code> | __*Optional*__
13174
+ **tags**?🔹 | <code>Array<string></code> | __*Optional*__
13175
+ **timeout**?🔹 | <code>string</code> | __*Optional*__
13176
+ **trigger**?🔹 | <code>string &#124; [gitlab.Trigger](#projen-gitlab-trigger)</code> | Trigger allows you to define downstream pipeline trigger.<br/>__*Optional*__
13177
+ **variables**?🔹 | <code>Map<string, string &#124; number></code> | Configurable values that are passed to the Job.<br/>__*Optional*__
13178
+ **when**?🔹 | <code>[gitlab.JobWhen](#projen-gitlab-jobwhen)</code> | Describes the conditions for when to run the job.<br/>__*Optional*__
13179
+
13180
+
13181
+
13182
+ ## struct KubernetesConfig 🔹 <a id="projen-gitlab-kubernetesconfig"></a>
13183
+
13184
+
13185
+ Used to configure the kubernetes deployment for this environment.
13186
+
13187
+ This is currently not
13188
+ supported for kubernetes clusters that are managed by Gitlab.
13189
+
13190
+
13191
+
13192
+ Name | Type | Description
13193
+ -----|------|-------------
13194
+ **namespace**?🔹 | <code>string</code> | The kubernetes namespace where this environment should be deployed to.<br/>__*Optional*__
13195
+
13196
+
13197
+
13198
+ ## struct Link 🔹 <a id="projen-gitlab-link"></a>
13199
+
13200
+
13201
+ Link configuration for an asset.
13202
+
13203
+
13204
+
13205
+ Name | Type | Description
13206
+ -----|------|-------------
13207
+ **name**🔹 | <code>string</code> | The name of the link.
13208
+ **url**🔹 | <code>string</code> | The URL to download a file.
13209
+ **filepath**?🔹 | <code>string</code> | The redirect link to the url.<br/>__*Optional*__
13210
+ **linkType**?🔹 | <code>[gitlab.LinkType](#projen-gitlab-linktype)</code> | The content kind of what users can download via url.<br/>__*Optional*__
13211
+
13212
+
13213
+
13214
+ ## struct Need 🔹 <a id="projen-gitlab-need"></a>
13215
+
13216
+
13217
+ A jobs in a previous stage whose sole completion is needed to start the current job.
13218
+
13219
+
13220
+
13221
+ Name | Type | Description
13222
+ -----|------|-------------
13223
+ **job**🔹 | <code>string</code> | <span></span>
13224
+ **artifacts**?🔹 | <code>boolean</code> | __*Optional*__
13225
+ **optional**?🔹 | <code>boolean</code> | __*Optional*__
13226
+ **pipeline**?🔹 | <code>string</code> | __*Optional*__
13227
+ **project**?🔹 | <code>string</code> | __*Optional*__
13228
+ **ref**?🔹 | <code>string</code> | __*Optional*__
13229
+
13230
+
13231
+
13232
+ ## struct Parallel 🔹 <a id="projen-gitlab-parallel"></a>
13233
+
13234
+
13235
+ Used to run a job multiple times in parallel in a single pipeline.
13236
+
13237
+
13238
+
13239
+ Name | Type | Description
13240
+ -----|------|-------------
13241
+ **matrix**🔹 | <code>Array<Map<string, Array<any>>></code> | Defines different variables for jobs that are running in parallel.
13242
+
13243
+
13244
+
13245
+ ## struct Release 🔹 <a id="projen-gitlab-release"></a>
13246
+
13247
+
13248
+ Indicates that the job creates a Release.
13249
+
13250
+
13251
+
13252
+ Name | Type | Description
13253
+ -----|------|-------------
13254
+ **description**🔹 | <code>string</code> | Specifies the longer description of the Release.
13255
+ **tagName**🔹 | <code>string</code> | The tag_name must be specified.
13256
+ **assets**?🔹 | <code>[gitlab.Assets](#projen-gitlab-assets)</code> | __*Optional*__
13257
+ **milestones**?🔹 | <code>Array<string></code> | The title of each milestone the release is associated with.<br/>__*Optional*__
13258
+ **name**?🔹 | <code>string</code> | The Release name.<br/>__*Optional*__
13259
+ **ref**?🔹 | <code>string</code> | If the release: tag_name doesn’t exist yet, the release is created from ref.<br/>__*Optional*__
13260
+ **releasedAt**?🔹 | <code>string</code> | The date and time when the release is ready.<br/>__*Optional*__
13261
+
13262
+
13263
+
13264
+ ## struct Reports 🔹 <a id="projen-gitlab-reports"></a>
13265
+
13266
+
13267
+ Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in Merge Requests.
13268
+
13269
+
13270
+
13271
+ Name | Type | Description
13272
+ -----|------|-------------
13273
+ **cobertura**?🔹 | <code>Array<string></code> | Path for file(s) that should be parsed as Cobertura XML coverage report.<br/>__*Optional*__
13274
+ **codequality**?🔹 | <code>Array<string></code> | Path to file or list of files with code quality report(s) (such as Code Climate).<br/>__*Optional*__
13275
+ **containerScanning**?🔹 | <code>Array<string></code> | Path to file or list of files with Container scanning vulnerabilities report(s).<br/>__*Optional*__
13276
+ **dast**?🔹 | <code>Array<string></code> | Path to file or list of files with DAST vulnerabilities report(s).<br/>__*Optional*__
13277
+ **dependencyScanning**?🔹 | <code>Array<string></code> | Path to file or list of files with Dependency scanning vulnerabilities report(s).<br/>__*Optional*__
13278
+ **dotenv**?🔹 | <code>Array<string></code> | Path to file or list of files containing runtime-created variables for this job.<br/>__*Optional*__
13279
+ **junit**?🔹 | <code>Array<string></code> | Path for file(s) that should be parsed as JUnit XML result.<br/>__*Optional*__
13280
+ **licenseManagement**?🔹 | <code>Array<string></code> | Deprecated in 12.8: Path to file or list of files with license report(s).<br/>__*Optional*__
13281
+ **licenseScanning**?🔹 | <code>Array<string></code> | Path to file or list of files with license report(s).<br/>__*Optional*__
13282
+ **lsif**?🔹 | <code>Array<string></code> | Path to file or list of files containing code intelligence (Language Server Index Format).<br/>__*Optional*__
13283
+ **metrics**?🔹 | <code>Array<string></code> | Path to file or list of files with custom metrics report(s).<br/>__*Optional*__
13284
+ **performance**?🔹 | <code>Array<string></code> | Path to file or list of files with performance metrics report(s).<br/>__*Optional*__
13285
+ **requirements**?🔹 | <code>Array<string></code> | Path to file or list of files with requirements report(s).<br/>__*Optional*__
13286
+ **sast**?🔹 | <code>Array<string></code> | Path to file or list of files with SAST vulnerabilities report(s).<br/>__*Optional*__
13287
+ **secretDetection**?🔹 | <code>Array<string></code> | Path to file or list of files with secret detection report(s).<br/>__*Optional*__
13288
+ **terraform**?🔹 | <code>Array<string></code> | Path to file or list of files with terraform plan(s).<br/>__*Optional*__
13289
+
13290
+
13291
+
13292
+ ## struct Retry 🔹 <a id="projen-gitlab-retry"></a>
13293
+
13294
+
13295
+ How many times a job is retried if it fails.
13296
+
13297
+ If not defined, defaults to 0 and jobs do not retry.
13298
+
13299
+
13300
+
13301
+ Name | Type | Description
13302
+ -----|------|-------------
13303
+ **max**?🔹 | <code>number</code> | 0 (default), 1, or 2.<br/>__*Optional*__
13304
+ **when**?🔹 | <code>any</code> | Either a single or array of error types to trigger job retry.<br/>__*Optional*__
13305
+
13306
+
13307
+
13308
+ ## struct Secret 🔹 <a id="projen-gitlab-secret"></a>
13309
+
13310
+
13311
+ A CI/CD secret.
13312
+
13313
+
13314
+
13315
+ Name | Type | Description
13316
+ -----|------|-------------
13317
+ **vault**🔹 | <code>[gitlab.VaultConfig](#projen-gitlab-vaultconfig)</code> | <span></span>
13318
+
13319
+
13320
+
13321
+ ## struct Service 🔹 <a id="projen-gitlab-service"></a>
13322
+
13323
+
13324
+ Used to specify an additional Docker image to run scripts in.
13325
+
13326
+ The service image is linked to the image specified in the @Default image keyword.
13327
+
13328
+
13329
+
13330
+ Name | Type | Description
13331
+ -----|------|-------------
13332
+ **name**🔹 | <code>string</code> | Full name of the image that should be used.
13333
+ **alias**?🔹 | <code>string</code> | Additional alias that can be used to access the service from the job's container.<br/>__*Optional*__
13334
+ **command**?🔹 | <code>Array<string></code> | Command or script that should be used as the container's command.<br/>__*Optional*__
13335
+ **entrypoint**?🔹 | <code>Array<string></code> | Command or script that should be executed as the container's entrypoint.<br/>__*Optional*__
13336
+
13337
+
13338
+
13339
+ ## struct Trigger 🔹 <a id="projen-gitlab-trigger"></a>
13340
+
13341
+
13342
+ Trigger a multi-project or a child pipeline.
13343
+
13344
+ Read more:
13345
+
13346
+
13347
+
13348
+ Name | Type | Description
13349
+ -----|------|-------------
13350
+ **branch**?🔹 | <code>string</code> | The branch name that a downstream pipeline will use.<br/>__*Optional*__
13351
+ **include**?🔹 | <code>Array<[gitlab.TriggerInclude](#projen-gitlab-triggerinclude)></code> | A list of local files or artifacts from other jobs to define the pipeline.<br/>__*Optional*__
13352
+ **project**?🔹 | <code>string</code> | Path to the project, e.g. `group/project`, or `group/sub-group/project`.<br/>__*Optional*__
13353
+ **strategy**?🔹 | <code>[gitlab.Strategy](#projen-gitlab-strategy)</code> | You can mirror the pipeline status from the triggered pipeline to the source bridge job by using strategy: depend.<br/>__*Optional*__
13354
+
13355
+
13356
+
13357
+ ## struct TriggerInclude 🔹 <a id="projen-gitlab-triggerinclude"></a>
13358
+
13359
+
13360
+ References a local file or an artifact from another job to define the pipeline configuration.
13361
+
13362
+
13363
+
13364
+ Name | Type | Description
13365
+ -----|------|-------------
13366
+ **artifact**?🔹 | <code>string</code> | Relative path to the generated YAML file which is extracted from the artifacts and used as the configuration for triggering the child pipeline.<br/>__*Optional*__
13367
+ **file**?🔹 | <code>string</code> | Relative path from repository root (`/`) to the pipeline configuration YAML file.<br/>__*Optional*__
13368
+ **job**?🔹 | <code>string</code> | Job name which generates the artifact.<br/>__*Optional*__
13369
+ **local**?🔹 | <code>string</code> | Relative path from local repository root (`/`) to the local YAML file to define the pipeline configuration.<br/>__*Optional*__
13370
+ **project**?🔹 | <code>string</code> | Path to another private project under the same GitLab instance, like `group/project` or `group/sub-group/project`.<br/>__*Optional*__
13371
+ **ref**?🔹 | <code>string</code> | Branch/Tag/Commit hash for the target project.<br/>__*Optional*__
13372
+ **template**?🔹 | <code>string</code> | Name of the template YAML file to use in the pipeline configuration.<br/>__*Optional*__
13373
+
13374
+
13375
+
13376
+ ## struct VariableConfig 🔹 <a id="projen-gitlab-variableconfig"></a>
13377
+
13378
+
13379
+ Explains what the global variable is used for, what the acceptable values are.
13380
+
13381
+
13382
+
13383
+ Name | Type | Description
13384
+ -----|------|-------------
13385
+ **description**?🔹 | <code>string</code> | Define a global variable that is prefilled when running a pipeline manually.<br/>__*Optional*__
13386
+ **value**?🔹 | <code>string</code> | The variable value.<br/>__*Optional*__
13387
+
13388
+
13389
+
13390
+ ## struct VaultConfig 🔹 <a id="projen-gitlab-vaultconfig"></a>
13391
+
13392
+
13393
+ Specification for a secret provided by a HashiCorp Vault.
13394
+
13395
+
13396
+
13397
+ Name | Type | Description
13398
+ -----|------|-------------
13399
+ **engine**🔹 | <code>[gitlab.Engine](#projen-gitlab-engine)</code> | <span></span>
13400
+ **field**🔹 | <code>string</code> | <span></span>
13401
+ **path**🔹 | <code>string</code> | Path to the secret.
13402
+
13403
+
13404
+
13405
+ ## struct Workflow 🔹 <a id="projen-gitlab-workflow"></a>
13406
+
13407
+
13408
+ Used to control pipeline behavior.
13409
+
13410
+
13411
+
13412
+ Name | Type | Description
13413
+ -----|------|-------------
13414
+ **rules**?🔹 | <code>Array<[gitlab.WorkflowRule](#projen-gitlab-workflowrule)></code> | Used to control whether or not a whole pipeline is created.<br/>__*Optional*__
13415
+
13416
+
13417
+
13418
+ ## struct WorkflowRule 🔹 <a id="projen-gitlab-workflowrule"></a>
13419
+
13420
+
13421
+ Used to control whether or not a whole pipeline is created.
13422
+
13423
+
13424
+
13425
+ Name | Type | Description
13426
+ -----|------|-------------
13427
+ **changes**?🔹 | <code>Array<string></code> | __*Optional*__
13428
+ **exists**?🔹 | <code>Array<string></code> | __*Optional*__
13429
+ **if**?🔹 | <code>string</code> | __*Optional*__
13430
+ **variables**?🔹 | <code>Map<string, string &#124; number></code> | __*Optional*__
13431
+ **when**?🔹 | <code>[gitlab.JobWhen](#projen-gitlab-jobwhen)</code> | __*Optional*__
13432
+
13433
+
13434
+
13435
+ ## struct JavaProjectCommonOptions 🔹 <a id="projen-java-javaprojectcommonoptions"></a>
12482
13436
 
12483
13437
 
12484
13438
  Options for `JavaProject`.
@@ -12568,7 +13522,7 @@ Name | Type | Description
12568
13522
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
12569
13523
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
12570
13524
  **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
12571
- **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Optional*__
13525
+ **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Default*__: true
12572
13526
  **sampleJavaPackage**?🔹 | <code>string</code> | The java package to use for the code sample.<br/>__*Default*__: "org.acme"
12573
13527
  **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
12574
13528
  **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
@@ -15202,6 +16156,122 @@ Name | Description
15202
16156
  **INCREASE_IF_NECESSARY** 🔹|Increase the version requirement only when required by the new version.
15203
16157
 
15204
16158
 
16159
+ ## enum Action 🔹 <a id="projen-gitlab-action"></a>
16160
+
16161
+ Specifies what this job will do.
16162
+
16163
+ 'start' (default) indicates the job will start the
16164
+ deployment. 'prepare' indicates this will not affect the deployment. 'stop' indicates
16165
+ this will stop the deployment.
16166
+
16167
+ Name | Description
16168
+ -----|-----
16169
+ **PREPARE** 🔹|
16170
+ **START** 🔹|
16171
+ **STOP** 🔹|
16172
+
16173
+
16174
+ ## enum CacheWhen 🔹 <a id="projen-gitlab-cachewhen"></a>
16175
+
16176
+ Configure when artifacts are uploaded depended on job status.
16177
+
16178
+ Name | Description
16179
+ -----|-----
16180
+ **ALWAYS** 🔹|Upload artifacts regardless of job status.
16181
+ **ON_FAILURE** 🔹|Upload artifacts only when the job fails.
16182
+ **ON_SUCCESS** 🔹|Upload artifacts only when the job succeeds (this is the default).
16183
+
16184
+
16185
+ ## enum DefaultElement 🔹 <a id="projen-gitlab-defaultelement"></a>
16186
+
16187
+
16188
+
16189
+ Name | Description
16190
+ -----|-----
16191
+ **AFTER_SCRIPT** 🔹|
16192
+ **ARTIFACTS** 🔹|
16193
+ **BEFORE_SCRIPT** 🔹|
16194
+ **CACHE** 🔹|
16195
+ **IMAGE** 🔹|
16196
+ **INTERRUPTIBLE** 🔹|
16197
+ **RETRY** 🔹|
16198
+ **SERVICES** 🔹|
16199
+ **TAGS** 🔹|
16200
+ **TIMEOUT** 🔹|
16201
+
16202
+
16203
+ ## enum DeploymentTier 🔹 <a id="projen-gitlab-deploymenttier"></a>
16204
+
16205
+ Explicitly specifies the tier of the deployment environment if non-standard environment name is used.
16206
+
16207
+ Name | Description
16208
+ -----|-----
16209
+ **DEVELOPMENT** 🔹|
16210
+ **OTHER** 🔹|
16211
+ **PRODUCTION** 🔹|
16212
+ **STAGING** 🔹|
16213
+ **TESTING** 🔹|
16214
+
16215
+
16216
+ ## enum JobWhen 🔹 <a id="projen-gitlab-jobwhen"></a>
16217
+
16218
+ Describes the conditions for when to run the job.
16219
+
16220
+ Defaults to 'on_success'.
16221
+
16222
+ Name | Description
16223
+ -----|-----
16224
+ **ALWAYS** 🔹|
16225
+ **DELAYED** 🔹|
16226
+ **MANUAL** 🔹|
16227
+ **NEVER** 🔹|
16228
+ **ON_FAILURE** 🔹|
16229
+ **ON_SUCCESS** 🔹|
16230
+
16231
+
16232
+ ## enum KubernetesEnum 🔹 <a id="projen-gitlab-kubernetesenum"></a>
16233
+
16234
+ Filter job based on if Kubernetes integration is active.
16235
+
16236
+ Name | Description
16237
+ -----|-----
16238
+ **ACTIVE** 🔹|
16239
+
16240
+
16241
+ ## enum LinkType 🔹 <a id="projen-gitlab-linktype"></a>
16242
+
16243
+ The content kind of what users can download via url.
16244
+
16245
+ Name | Description
16246
+ -----|-----
16247
+ **IMAGE** 🔹|
16248
+ **OTHER** 🔹|
16249
+ **PACKAGE** 🔹|
16250
+ **RUNBOOK** 🔹|
16251
+
16252
+
16253
+ ## enum Strategy 🔹 <a id="projen-gitlab-strategy"></a>
16254
+
16255
+ You can mirror the pipeline status from the triggered pipeline to the source bridge job by using strategy: depend.
16256
+
16257
+ Name | Description
16258
+ -----|-----
16259
+ **DEPEND** 🔹|
16260
+
16261
+
16262
+ ## enum WorkflowWhen 🔹 <a id="projen-gitlab-workflowwhen"></a>
16263
+
16264
+ Describes the conditions for when to run the job.
16265
+
16266
+ Defaults to 'on_success'.
16267
+ The value can only be 'always' or 'never' when used with workflow.
16268
+
16269
+ Name | Description
16270
+ -----|-----
16271
+ **ALWAYS** 🔹|
16272
+ **NEVER** 🔹|
16273
+
16274
+
15205
16275
  ## enum ArrowParens 🔹 <a id="projen-javascript-arrowparens"></a>
15206
16276
 
15207
16277