software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProject Maven / Gradle / Ivy
Show all versions of open-api-gateway Show documentation
package software.aws.awsprototypingsdk.openapigateway;
/**
* (deprecated) Synthesizes a Typescript Project with a Smithy model, generated clients, a CDK construct for deploying the API with API Gateway, and generated lambda handler wrappers for type-safe handling of requests.
*
* @deprecated Please use TypeSafeApiProject instead. This will be removed in the PDK GA 1.0 release.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.82.0 (build 2d2ddd7)", date = "2023-08-15T05:38:04.753Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
@software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.openapigateway.$Module.class, fqn = "@aws-prototyping-sdk/open-api-gateway.SmithyApiGatewayTsProject")
public class SmithyApiGatewayTsProject extends software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayTsProject {
protected SmithyApiGatewayTsProject(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected SmithyApiGatewayTsProject(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public SmithyApiGatewayTsProject(final @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProjectOptions options) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(options, "options is required") });
}
/**
* (deprecated) This method provides inheritors a chance to synthesize extra resources prior to those created by this project.
*
* Return any options you wish to change, other than typescript project options.
*
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
@Override
protected @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayTsProjectOptions preConstruct(final @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayTsProjectOptions options) {
return software.amazon.jsii.Kernel.call(this, "preConstruct", software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayTsProjectOptions.class), new Object[] { java.util.Objects.requireNonNull(options, "options is required") });
}
/**
* (deprecated) A fluent builder for {@link software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProject}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public static Builder create() {
return new Builder();
}
private final software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProjectOptions.Builder options;
private Builder() {
this.options = new software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProjectOptions.Builder();
}
/**
* (experimental) This is the name of your project.
*
* Default: $BASEDIR
*
* @return {@code this}
* @param name This is the name of your project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder name(final java.lang.String name) {
this.options.name(name);
return this;
}
/**
* (experimental) Whether to commit the managed files by default.
*
* Default: true
*
* @return {@code this}
* @param commitGenerated Whether to commit the managed files by default. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder commitGenerated(final java.lang.Boolean commitGenerated) {
this.options.commitGenerated(commitGenerated);
return this;
}
/**
* (experimental) Configuration options for .gitignore file.
*
* @return {@code this}
* @param gitIgnoreOptions Configuration options for .gitignore file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitIgnoreOptions(final io.github.cdklabs.projen.IgnoreFileOptions gitIgnoreOptions) {
this.options.gitIgnoreOptions(gitIgnoreOptions);
return this;
}
/**
* (experimental) Configuration options for git.
*
* @return {@code this}
* @param gitOptions Configuration options for git. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitOptions(final io.github.cdklabs.projen.GitOptions gitOptions) {
this.options.gitOptions(gitOptions);
return this;
}
/**
* (experimental) Configure logging options such as verbosity.
*
* Default: {}
*
* @return {@code this}
* @param logging Configure logging options such as verbosity. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder logging(final io.github.cdklabs.projen.LoggerOptions logging) {
this.options.logging(logging);
return this;
}
/**
* (experimental) The root directory of the project.
*
* Relative to this directory, all files are synthesized.
*
* If this project has a parent, this directory is relative to the parent
* directory and it cannot be the same as the parent or any of it's other
* sub-projects.
*
* Default: "."
*
* @return {@code this}
* @param outdir The root directory of the project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder outdir(final java.lang.String outdir) {
this.options.outdir(outdir);
return this;
}
/**
* (experimental) The parent project, if this project is part of a bigger project.
*
* @return {@code this}
* @param parent The parent project, if this project is part of a bigger project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder parent(final io.github.cdklabs.projen.Project parent) {
this.options.parent(parent);
return this;
}
/**
* (experimental) The shell command to use in order to run the projen CLI.
*
* Can be used to customize in special environments.
*
* Default: "npx projen"
*
* @return {@code this}
* @param projenCommand The shell command to use in order to run the projen CLI. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenCommand(final java.lang.String projenCommand) {
this.options.projenCommand(projenCommand);
return this;
}
/**
* (experimental) Generate (once) .projenrc.json (in JSON). Set to false
in order to disable .projenrc.json generation.
*
* Default: false
*
* @return {@code this}
* @param projenrcJson Generate (once) .projenrc.json (in JSON). Set to false
in order to disable .projenrc.json generation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJson(final java.lang.Boolean projenrcJson) {
this.options.projenrcJson(projenrcJson);
return this;
}
/**
* (experimental) Options for .projenrc.json.
*
* Default: - default options
*
* @return {@code this}
* @param projenrcJsonOptions Options for .projenrc.json. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJsonOptions(final io.github.cdklabs.projen.ProjenrcJsonOptions projenrcJsonOptions) {
this.options.projenrcJsonOptions(projenrcJsonOptions);
return this;
}
/**
* (experimental) Use renovatebot to handle dependency upgrades.
*
* Default: false
*
* @return {@code this}
* @param renovatebot Use renovatebot to handle dependency upgrades. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder renovatebot(final java.lang.Boolean renovatebot) {
this.options.renovatebot(renovatebot);
return this;
}
/**
* (experimental) Options for renovatebot.
*
* Default: - default options
*
* @return {@code this}
* @param renovatebotOptions Options for renovatebot. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder renovatebotOptions(final io.github.cdklabs.projen.RenovatebotOptions renovatebotOptions) {
this.options.renovatebotOptions(renovatebotOptions);
return this;
}
/**
* (experimental) Enable and configure the 'auto approve' workflow.
*
* Default: - auto approve is disabled
*
* @return {@code this}
* @param autoApproveOptions Enable and configure the 'auto approve' workflow. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoApproveOptions(final io.github.cdklabs.projen.github.AutoApproveOptions autoApproveOptions) {
this.options.autoApproveOptions(autoApproveOptions);
return this;
}
/**
* (experimental) Enable automatic merging on GitHub.
*
* Has no effect if github.mergify
* is set to false.
*
* Default: true
*
* @return {@code this}
* @param autoMerge Enable automatic merging on GitHub. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoMerge(final java.lang.Boolean autoMerge) {
this.options.autoMerge(autoMerge);
return this;
}
/**
* (experimental) Configure options for automatic merging on GitHub.
*
* Has no effect if
* github.mergify
or autoMerge
is set to false.
*
* Default: - see defaults in `AutoMergeOptions`
*
* @return {@code this}
* @param autoMergeOptions Configure options for automatic merging on GitHub. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoMergeOptions(final io.github.cdklabs.projen.github.AutoMergeOptions autoMergeOptions) {
this.options.autoMergeOptions(autoMergeOptions);
return this;
}
/**
* (experimental) Add a clobber
task which resets the repo to origin.
*
* Default: - true, but false for subprojects
*
* @return {@code this}
* @param clobber Add a clobber
task which resets the repo to origin. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clobber(final java.lang.Boolean clobber) {
this.options.clobber(clobber);
return this;
}
/**
* (experimental) Add a VSCode development environment (used for GitHub Codespaces).
*
* Default: false
*
* @return {@code this}
* @param devContainer Add a VSCode development environment (used for GitHub Codespaces). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder devContainer(final java.lang.Boolean devContainer) {
this.options.devContainer(devContainer);
return this;
}
/**
* (experimental) Enable GitHub integration.
*
* Enabled by default for root projects. Disabled for non-root projects.
*
* Default: true
*
* @return {@code this}
* @param github Enable GitHub integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder github(final java.lang.Boolean github) {
this.options.github(github);
return this;
}
/**
* (experimental) Options for GitHub integration.
*
* Default: - see GitHubOptions
*
* @return {@code this}
* @param githubOptions Options for GitHub integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder githubOptions(final io.github.cdklabs.projen.github.GitHubOptions githubOptions) {
this.options.githubOptions(githubOptions);
return this;
}
/**
* (experimental) Add a Gitpod development environment.
*
* Default: false
*
* @return {@code this}
* @param gitpod Add a Gitpod development environment. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitpod(final java.lang.Boolean gitpod) {
this.options.gitpod(gitpod);
return this;
}
/**
* (deprecated) Whether mergify should be enabled on this repository or not.
*
* Default: true
*
* @return {@code this}
* @deprecated use githubOptions.mergify
instead
* @param mergify Whether mergify should be enabled on this repository or not. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder mergify(final java.lang.Boolean mergify) {
this.options.mergify(mergify);
return this;
}
/**
* (deprecated) Options for mergify.
*
* Default: - default options
*
* @return {@code this}
* @deprecated use githubOptions.mergifyOptions
instead
* @param mergifyOptions Options for mergify. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder mergifyOptions(final io.github.cdklabs.projen.github.MergifyOptions mergifyOptions) {
this.options.mergifyOptions(mergifyOptions);
return this;
}
/**
* (deprecated) Which type of project this is (library/app).
*
* Default: ProjectType.UNKNOWN
*
* @return {@code this}
* @deprecated no longer supported at the base project level
* @param projectType Which type of project this is (library/app). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder projectType(final io.github.cdklabs.projen.ProjectType projectType) {
this.options.projectType(projectType);
return this;
}
/**
* (experimental) Choose a method of providing GitHub API access for projen workflows.
*
* Default: - use a personal access token named PROJEN_GITHUB_TOKEN
*
* @return {@code this}
* @param projenCredentials Choose a method of providing GitHub API access for projen workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenCredentials(final io.github.cdklabs.projen.github.GithubCredentials projenCredentials) {
this.options.projenCredentials(projenCredentials);
return this;
}
/**
* (deprecated) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
*
* This token needs to have the repo
, workflows
* and packages
scope.
*
* Default: "PROJEN_GITHUB_TOKEN"
*
* @return {@code this}
* @deprecated use projenCredentials
* @param projenTokenSecret The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder projenTokenSecret(final java.lang.String projenTokenSecret) {
this.options.projenTokenSecret(projenTokenSecret);
return this;
}
/**
* (experimental) The README setup.
*
* Default: - { filename: 'README.md', contents: '# replace this' }
*
* Example:
*
*
* "{ filename: 'readme.md', contents: '# title' }"
*
*
* @return {@code this}
* @param readme The README setup. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder readme(final io.github.cdklabs.projen.SampleReadmeProps readme) {
this.options.readme(readme);
return this;
}
/**
* (experimental) Auto-close of stale issues and pull request.
*
* See staleOptions
for options.
*
* Default: false
*
* @return {@code this}
* @param stale Auto-close of stale issues and pull request. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder stale(final java.lang.Boolean stale) {
this.options.stale(stale);
return this;
}
/**
* (experimental) Auto-close stale issues and pull requests.
*
* To disable set stale
to false
.
*
* Default: - see defaults in `StaleOptions`
*
* @return {@code this}
* @param staleOptions Auto-close stale issues and pull requests. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder staleOptions(final io.github.cdklabs.projen.github.StaleOptions staleOptions) {
this.options.staleOptions(staleOptions);
return this;
}
/**
* (experimental) Enable VSCode integration.
*
* Enabled by default for root projects. Disabled for non-root projects.
*
* Default: true
*
* @return {@code this}
* @param vscode Enable VSCode integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder vscode(final java.lang.Boolean vscode) {
this.options.vscode(vscode);
return this;
}
/**
* (experimental) Allow the project to include peerDependencies
and bundledDependencies
.
*
* This is normally only allowed for libraries. For apps, there's no meaning
* for specifying these.
*
* Default: true
*
* @return {@code this}
* @param allowLibraryDependencies Allow the project to include peerDependencies
and bundledDependencies
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder allowLibraryDependencies(final java.lang.Boolean allowLibraryDependencies) {
this.options.allowLibraryDependencies(allowLibraryDependencies);
return this;
}
/**
* (experimental) Author's e-mail.
*
* @return {@code this}
* @param authorEmail Author's e-mail. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorEmail(final java.lang.String authorEmail) {
this.options.authorEmail(authorEmail);
return this;
}
/**
* (experimental) Author's name.
*
* @return {@code this}
* @param authorName Author's name. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorName(final java.lang.String authorName) {
this.options.authorName(authorName);
return this;
}
/**
* (experimental) Is the author an organization.
*
* @return {@code this}
* @param authorOrganization Is the author an organization. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorOrganization(final java.lang.Boolean authorOrganization) {
this.options.authorOrganization(authorOrganization);
return this;
}
/**
* (experimental) Author's URL / Website.
*
* @return {@code this}
* @param authorUrl Author's URL / Website. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorUrl(final java.lang.String authorUrl) {
this.options.authorUrl(authorUrl);
return this;
}
/**
* (experimental) Automatically add all executables under the bin
directory to your package.json
file under the bin
section.
*
* Default: true
*
* @return {@code this}
* @param autoDetectBin Automatically add all executables under the bin
directory to your package.json
file under the bin
section. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoDetectBin(final java.lang.Boolean autoDetectBin) {
this.options.autoDetectBin(autoDetectBin);
return this;
}
/**
* (experimental) Binary programs vended with your module.
*
* You can use this option to add/customize how binaries are represented in
* your package.json
, but unless autoDetectBin
is false
, every
* executable file under bin
will automatically be added to this section.
*
* @return {@code this}
* @param bin Binary programs vended with your module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bin(final java.util.Map bin) {
this.options.bin(bin);
return this;
}
/**
* (experimental) The email address to which issues should be reported.
*
* @return {@code this}
* @param bugsEmail The email address to which issues should be reported. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bugsEmail(final java.lang.String bugsEmail) {
this.options.bugsEmail(bugsEmail);
return this;
}
/**
* (experimental) The url to your project's issue tracker.
*
* @return {@code this}
* @param bugsUrl The url to your project's issue tracker. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bugsUrl(final java.lang.String bugsUrl) {
this.options.bugsUrl(bugsUrl);
return this;
}
/**
* (experimental) List of dependencies to bundle into this module.
*
* These modules will be
* added both to the dependencies
section and bundledDependencies
section of
* your package.json
.
*
* The recommendation is to only specify the module name here (e.g.
* express
). This will behave similar to yarn add
or npm install
in the
* sense that it will add the module as a dependency to your package.json
* file with the latest version (^
). You can specify semver requirements in
* the same syntax passed to npm i
or yarn add
(e.g. express@^2
) and
* this will be what you package.json
will eventually include.
*
* @return {@code this}
* @param bundledDeps List of dependencies to bundle into this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bundledDeps(final java.util.List bundledDeps) {
this.options.bundledDeps(bundledDeps);
return this;
}
/**
* (experimental) Options for npm packages using AWS CodeArtifact.
*
* This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
*
* Default: - undefined
*
* @return {@code this}
* @param codeArtifactOptions Options for npm packages using AWS CodeArtifact. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder codeArtifactOptions(final io.github.cdklabs.projen.javascript.CodeArtifactOptions codeArtifactOptions) {
this.options.codeArtifactOptions(codeArtifactOptions);
return this;
}
/**
* (experimental) Runtime dependencies of this module.
*
* The recommendation is to only specify the module name here (e.g.
* express
). This will behave similar to yarn add
or npm install
in the
* sense that it will add the module as a dependency to your package.json
* file with the latest version (^
). You can specify semver requirements in
* the same syntax passed to npm i
or yarn add
(e.g. express@^2
) and
* this will be what you package.json
will eventually include.
*
* Default: []
*
* Example:
*
*
* [ 'express', 'lodash', 'foo@^2' ]
*
*
* @return {@code this}
* @param deps Runtime dependencies of this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder deps(final java.util.List deps) {
this.options.deps(deps);
return this;
}
/**
* (experimental) The description is just a string that helps people understand the purpose of the package.
*
* It can be used when searching for packages in a package manager as well.
* See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
*
* @return {@code this}
* @param description The description is just a string that helps people understand the purpose of the package. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder description(final java.lang.String description) {
this.options.description(description);
return this;
}
/**
* (experimental) Build dependencies for this module.
*
* These dependencies will only be
* available in your build environment but will not be fetched when this
* module is consumed.
*
* The recommendation is to only specify the module name here (e.g.
* express
). This will behave similar to yarn add
or npm install
in the
* sense that it will add the module as a dependency to your package.json
* file with the latest version (^
). You can specify semver requirements in
* the same syntax passed to npm i
or yarn add
(e.g. express@^2
) and
* this will be what you package.json
will eventually include.
*
* Default: []
*
* Example:
*
*
* [ 'typescript', '@types/express' ]
*
*
* @return {@code this}
* @param devDeps Build dependencies for this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder devDeps(final java.util.List devDeps) {
this.options.devDeps(devDeps);
return this;
}
/**
* (experimental) Module entrypoint (main
in package.json
).
*
* Set to an empty string to not include main
in your package.json
*
* Default: "lib/index.js"
*
* @return {@code this}
* @param entrypoint Module entrypoint (main
in package.json
). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder entrypoint(final java.lang.String entrypoint) {
this.options.entrypoint(entrypoint);
return this;
}
/**
* (experimental) Package's Homepage / Website.
*
* @return {@code this}
* @param homepage Package's Homepage / Website. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder homepage(final java.lang.String homepage) {
this.options.homepage(homepage);
return this;
}
/**
* (experimental) Keywords to include in package.json
.
*
* @return {@code this}
* @param keywords Keywords to include in package.json
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder keywords(final java.util.List keywords) {
this.options.keywords(keywords);
return this;
}
/**
* (experimental) License's SPDX identifier.
*
* See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses.
* Use the licensed
option if you want to no license to be specified.
*
* Default: "Apache-2.0"
*
* @return {@code this}
* @param license License's SPDX identifier. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder license(final java.lang.String license) {
this.options.license(license);
return this;
}
/**
* (experimental) Indicates if a license should be added.
*
* Default: true
*
* @return {@code this}
* @param licensed Indicates if a license should be added. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder licensed(final java.lang.Boolean licensed) {
this.options.licensed(licensed);
return this;
}
/**
* (experimental) Minimum node.js version to require via engines
(inclusive).
*
* Default: - no max
*
* @return {@code this}
* @param maxNodeVersion Minimum node.js version to require via engines
(inclusive). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder maxNodeVersion(final java.lang.String maxNodeVersion) {
this.options.maxNodeVersion(maxNodeVersion);
return this;
}
/**
* (experimental) Minimum Node.js version to require via package.json engines
(inclusive).
*
* Default: - no "engines" specified
*
* @return {@code this}
* @param minNodeVersion Minimum Node.js version to require via package.json engines
(inclusive). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder minNodeVersion(final java.lang.String minNodeVersion) {
this.options.minNodeVersion(minNodeVersion);
return this;
}
/**
* (experimental) Access level of the npm package.
*
* Default: - for scoped packages (e.g. `foo@bar`), the default is
* `NpmAccess.RESTRICTED`, for non-scoped packages, the default is
* `NpmAccess.PUBLIC`.
*
* @return {@code this}
* @param npmAccess Access level of the npm package. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmAccess(final io.github.cdklabs.projen.javascript.NpmAccess npmAccess) {
this.options.npmAccess(npmAccess);
return this;
}
/**
* (deprecated) The host name of the npm registry to publish to.
*
* Cannot be set together with npmRegistryUrl
.
*
* @return {@code this}
* @deprecated use npmRegistryUrl
instead
* @param npmRegistry The host name of the npm registry to publish to. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder npmRegistry(final java.lang.String npmRegistry) {
this.options.npmRegistry(npmRegistry);
return this;
}
/**
* (experimental) The base URL of the npm package registry.
*
* Must be a URL (e.g. start with "https://" or "http://")
*
* Default: "https://registry.npmjs.org"
*
* @return {@code this}
* @param npmRegistryUrl The base URL of the npm package registry. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmRegistryUrl(final java.lang.String npmRegistryUrl) {
this.options.npmRegistryUrl(npmRegistryUrl);
return this;
}
/**
* (experimental) GitHub secret which contains the NPM token to use when publishing packages.
*
* Default: "NPM_TOKEN"
*
* @return {@code this}
* @param npmTokenSecret GitHub secret which contains the NPM token to use when publishing packages. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmTokenSecret(final java.lang.String npmTokenSecret) {
this.options.npmTokenSecret(npmTokenSecret);
return this;
}
/**
* (experimental) The Node Package Manager used to execute scripts.
*
* Default: NodePackageManager.YARN
*
* @return {@code this}
* @param packageManager The Node Package Manager used to execute scripts. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packageManager(final io.github.cdklabs.projen.javascript.NodePackageManager packageManager) {
this.options.packageManager(packageManager);
return this;
}
/**
* (experimental) The "name" in package.json.
*
* Default: - defaults to project name
*
* @return {@code this}
* @param packageName The "name" in package.json. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packageName(final java.lang.String packageName) {
this.options.packageName(packageName);
return this;
}
/**
* (experimental) Options for peerDeps
.
*
* @return {@code this}
* @param peerDependencyOptions Options for peerDeps
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder peerDependencyOptions(final io.github.cdklabs.projen.javascript.PeerDependencyOptions peerDependencyOptions) {
this.options.peerDependencyOptions(peerDependencyOptions);
return this;
}
/**
* (experimental) Peer dependencies for this module.
*
* Dependencies listed here are required to
* be installed (and satisfied) by the consumer of this library. Using peer
* dependencies allows you to ensure that only a single module of a certain
* library exists in the node_modules
tree of your consumers.
*
* Note that prior to npm@7, peer dependencies are not automatically
* installed, which means that adding peer dependencies to a library will be a
* breaking change for your customers.
*
* Unless peerDependencyOptions.pinnedDevDependency
is disabled (it is
* enabled by default), projen will automatically add a dev dependency with a
* pinned version for each peer dependency. This will ensure that you build &
* test your module against the lowest peer version required.
*
* Default: []
*
* @return {@code this}
* @param peerDeps Peer dependencies for this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder peerDeps(final java.util.List peerDeps) {
this.options.peerDeps(peerDeps);
return this;
}
/**
* (experimental) The version of PNPM to use if using PNPM as a package manager.
*
* Default: "7"
*
* @return {@code this}
* @param pnpmVersion The version of PNPM to use if using PNPM as a package manager. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder pnpmVersion(final java.lang.String pnpmVersion) {
this.options.pnpmVersion(pnpmVersion);
return this;
}
/**
* (experimental) The repository is the location where the actual code for your package lives.
*
* See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
*
* @return {@code this}
* @param repository The repository is the location where the actual code for your package lives. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder repository(final java.lang.String repository) {
this.options.repository(repository);
return this;
}
/**
* (experimental) If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.
*
* @return {@code this}
* @param repositoryDirectory If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder repositoryDirectory(final java.lang.String repositoryDirectory) {
this.options.repositoryDirectory(repositoryDirectory);
return this;
}
/**
* (experimental) Options for privately hosted scoped packages.
*
* Default: - fetch all scoped packages from the public npm registry
*
* @return {@code this}
* @param scopedPackagesOptions Options for privately hosted scoped packages. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder scopedPackagesOptions(final java.util.List extends io.github.cdklabs.projen.javascript.ScopedPackagesOptions> scopedPackagesOptions) {
this.options.scopedPackagesOptions(scopedPackagesOptions);
return this;
}
/**
* (deprecated) npm scripts to include.
*
* If a script has the same name as a standard script,
* the standard script will be overwritten.
* Also adds the script as a task.
*
* Default: {}
*
* @return {@code this}
* @deprecated use project.addTask()
or package.setScript()
* @param scripts npm scripts to include. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder scripts(final java.util.Map scripts) {
this.options.scripts(scripts);
return this;
}
/**
* (experimental) Package's Stability.
*
* @return {@code this}
* @param stability Package's Stability. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder stability(final java.lang.String stability) {
this.options.stability(stability);
return this;
}
/**
* (experimental) Version requirement of publib
which is used to publish modules to npm.
*
* Default: "latest"
*
* @return {@code this}
* @param jsiiReleaseVersion Version requirement of publib
which is used to publish modules to npm. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder jsiiReleaseVersion(final java.lang.String jsiiReleaseVersion) {
this.options.jsiiReleaseVersion(jsiiReleaseVersion);
return this;
}
/**
* (experimental) Major version to release from the default branch.
*
* If this is specified, we bump the latest version of this major version line.
* If not specified, we bump the global latest version.
*
* Default: - Major version is not enforced.
*
* @return {@code this}
* @param majorVersion Major version to release from the default branch. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder majorVersion(final java.lang.Number majorVersion) {
this.options.majorVersion(majorVersion);
return this;
}
/**
* (experimental) Minimal Major version to release.
*
* This can be useful to set to 1, as breaking changes before the 1.x major
* release are not incrementing the major version number.
*
* Can not be set together with majorVersion
.
*
* Default: - No minimum version is being enforced
*
* @return {@code this}
* @param minMajorVersion Minimal Major version to release. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder minMajorVersion(final java.lang.Number minMajorVersion) {
this.options.minMajorVersion(minMajorVersion);
return this;
}
/**
* (experimental) The npmDistTag to use when publishing from the default branch.
*
* To set the npm dist-tag for release branches, set the npmDistTag
property
* for each branch.
*
* Default: "latest"
*
* @return {@code this}
* @param npmDistTag The npmDistTag to use when publishing from the default branch. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmDistTag(final java.lang.String npmDistTag) {
this.options.npmDistTag(npmDistTag);
return this;
}
/**
* (experimental) Steps to execute after build as part of the release workflow.
*
* Default: []
*
* @return {@code this}
* @param postBuildSteps Steps to execute after build as part of the release workflow. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder postBuildSteps(final java.util.List extends io.github.cdklabs.projen.github.workflows.JobStep> postBuildSteps) {
this.options.postBuildSteps(postBuildSteps);
return this;
}
/**
* (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
*
* Default: - normal semantic versions
*
* @return {@code this}
* @param prerelease Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder prerelease(final java.lang.String prerelease) {
this.options.prerelease(prerelease);
return this;
}
/**
* (experimental) Instead of actually publishing to package managers, just print the publishing command.
*
* Default: false
*
* @return {@code this}
* @param publishDryRun Instead of actually publishing to package managers, just print the publishing command. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder publishDryRun(final java.lang.Boolean publishDryRun) {
this.options.publishDryRun(publishDryRun);
return this;
}
/**
* (experimental) Define publishing tasks that can be executed manually as well as workflows.
*
* Normally, publishing only happens within automated workflows. Enable this
* in order to create a publishing task for each publishing activity.
*
* Default: false
*
* @return {@code this}
* @param publishTasks Define publishing tasks that can be executed manually as well as workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder publishTasks(final java.lang.Boolean publishTasks) {
this.options.publishTasks(publishTasks);
return this;
}
/**
* (experimental) Defines additional release branches.
*
* A workflow will be created for each
* release branch which will publish releases from commits in this branch.
* Each release branch must be assigned a major version number which is used
* to enforce that versions published from that branch always use that major
* version. If multiple branches are used, the majorVersion
field must also
* be provided for the default branch.
*
* Default: - no additional branches are used for release. you can use
* `addBranch()` to add additional branches.
*
* @return {@code this}
* @param releaseBranches Defines additional release branches. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseBranches(final java.util.Map releaseBranches) {
this.options.releaseBranches(releaseBranches);
return this;
}
/**
* (deprecated) Automatically release new versions every commit to one of branches in releaseBranches
.
*
* Default: true
*
* @return {@code this}
* @deprecated Use releaseTrigger: ReleaseTrigger.continuous()
instead
* @param releaseEveryCommit Automatically release new versions every commit to one of branches in releaseBranches
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder releaseEveryCommit(final java.lang.Boolean releaseEveryCommit) {
this.options.releaseEveryCommit(releaseEveryCommit);
return this;
}
/**
* (experimental) Create a github issue on every failed publishing task.
*
* Default: false
*
* @return {@code this}
* @param releaseFailureIssue Create a github issue on every failed publishing task. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseFailureIssue(final java.lang.Boolean releaseFailureIssue) {
this.options.releaseFailureIssue(releaseFailureIssue);
return this;
}
/**
* (experimental) The label to apply to issues indicating publish failures.
*
* Only applies if releaseFailureIssue
is true.
*
* Default: "failed-release"
*
* @return {@code this}
* @param releaseFailureIssueLabel The label to apply to issues indicating publish failures. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseFailureIssueLabel(final java.lang.String releaseFailureIssueLabel) {
this.options.releaseFailureIssueLabel(releaseFailureIssueLabel);
return this;
}
/**
* (deprecated) CRON schedule to trigger new releases.
*
* Default: - no scheduled releases
*
* @return {@code this}
* @deprecated Use releaseTrigger: ReleaseTrigger.scheduled()
instead
* @param releaseSchedule CRON schedule to trigger new releases. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder releaseSchedule(final java.lang.String releaseSchedule) {
this.options.releaseSchedule(releaseSchedule);
return this;
}
/**
* (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers.
*
* Note: this prefix is used to detect the latest tagged version
* when bumping, so if you change this on a project with an existing version
* history, you may need to manually tag your latest release
* with the new prefix.
*
* Default: "v"
*
* @return {@code this}
* @param releaseTagPrefix Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseTagPrefix(final java.lang.String releaseTagPrefix) {
this.options.releaseTagPrefix(releaseTagPrefix);
return this;
}
/**
* (experimental) The release trigger to use.
*
* Default: - Continuous releases (`ReleaseTrigger.continuous()`)
*
* @return {@code this}
* @param releaseTrigger The release trigger to use. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseTrigger(final io.github.cdklabs.projen.release.ReleaseTrigger releaseTrigger) {
this.options.releaseTrigger(releaseTrigger);
return this;
}
/**
* (experimental) The name of the default release workflow.
*
* Default: "Release"
*
* @return {@code this}
* @param releaseWorkflowName The name of the default release workflow. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseWorkflowName(final java.lang.String releaseWorkflowName) {
this.options.releaseWorkflowName(releaseWorkflowName);
return this;
}
/**
* (experimental) A set of workflow steps to execute in order to setup the workflow container.
*
* @return {@code this}
* @param releaseWorkflowSetupSteps A set of workflow steps to execute in order to setup the workflow container. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseWorkflowSetupSteps(final java.util.List extends io.github.cdklabs.projen.github.workflows.JobStep> releaseWorkflowSetupSteps) {
this.options.releaseWorkflowSetupSteps(releaseWorkflowSetupSteps);
return this;
}
/**
* (experimental) Custom configuration used when creating changelog with standard-version package.
*
* Given values either append to default configuration or overwrite values in it.
*
* Default: - standard configuration applicable for GitHub repositories
*
* @return {@code this}
* @param versionrcOptions Custom configuration used when creating changelog with standard-version package. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder versionrcOptions(final java.util.Map versionrcOptions) {
this.options.versionrcOptions(versionrcOptions);
return this;
}
/**
* (experimental) Container image to use for GitHub workflows.
*
* Default: - default image
*
* @return {@code this}
* @param workflowContainerImage Container image to use for GitHub workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowContainerImage(final java.lang.String workflowContainerImage) {
this.options.workflowContainerImage(workflowContainerImage);
return this;
}
/**
* (experimental) Github Runner selection labels.
*
* Default: ["ubuntu-latest"]
*
* @return {@code this}
* @param workflowRunsOn Github Runner selection labels. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowRunsOn(final java.util.List workflowRunsOn) {
this.options.workflowRunsOn(workflowRunsOn);
return this;
}
/**
* (experimental) The name of the main release branch.
*
* Default: "main"
*
* @return {@code this}
* @param defaultReleaseBranch The name of the main release branch. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder defaultReleaseBranch(final java.lang.String defaultReleaseBranch) {
this.options.defaultReleaseBranch(defaultReleaseBranch);
return this;
}
/**
* (experimental) A directory which will contain build artifacts.
*
* Default: "dist"
*
* @return {@code this}
* @param artifactsDirectory A directory which will contain build artifacts. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder artifactsDirectory(final java.lang.String artifactsDirectory) {
this.options.artifactsDirectory(artifactsDirectory);
return this;
}
/**
* (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
*
* Throw if set to true but autoApproveOptions
are not defined.
*
* Default: - true
*
* @return {@code this}
* @param autoApproveUpgrades Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoApproveUpgrades(final java.lang.Boolean autoApproveUpgrades) {
this.options.autoApproveUpgrades(autoApproveUpgrades);
return this;
}
/**
* (experimental) Define a GitHub workflow for building PRs.
*
* Default: - true if not a subproject
*
* @return {@code this}
* @param buildWorkflow Define a GitHub workflow for building PRs. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder buildWorkflow(final java.lang.Boolean buildWorkflow) {
this.options.buildWorkflow(buildWorkflow);
return this;
}
/**
* (experimental) Build workflow triggers.
*
* Default: "{ pullRequest: {}, workflowDispatch: {} }"
*
* @return {@code this}
* @param buildWorkflowTriggers Build workflow triggers. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder buildWorkflowTriggers(final io.github.cdklabs.projen.github.workflows.Triggers buildWorkflowTriggers) {
this.options.buildWorkflowTriggers(buildWorkflowTriggers);
return this;
}
/**
* (experimental) Options for Bundler
.
*
* @return {@code this}
* @param bundlerOptions Options for Bundler
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bundlerOptions(final io.github.cdklabs.projen.javascript.BundlerOptions bundlerOptions) {
this.options.bundlerOptions(bundlerOptions);
return this;
}
/**
* (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with @codeCovTokenSecret
.
*
* Default: false
*
* @return {@code this}
* @param codeCov Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with @codeCovTokenSecret
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder codeCov(final java.lang.Boolean codeCov) {
this.options.codeCov(codeCov);
return this;
}
/**
* (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
*
* Default: - if this option is not specified, only public repositories are supported
*
* @return {@code this}
* @param codeCovTokenSecret Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder codeCovTokenSecret(final java.lang.String codeCovTokenSecret) {
this.options.codeCovTokenSecret(codeCovTokenSecret);
return this;
}
/**
* (experimental) License copyright owner.
*
* Default: - defaults to the value of authorName or "" if `authorName` is undefined.
*
* @return {@code this}
* @param copyrightOwner License copyright owner. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder copyrightOwner(final java.lang.String copyrightOwner) {
this.options.copyrightOwner(copyrightOwner);
return this;
}
/**
* (experimental) The copyright years to put in the LICENSE file.
*
* Default: - current year
*
* @return {@code this}
* @param copyrightPeriod The copyright years to put in the LICENSE file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder copyrightPeriod(final java.lang.String copyrightPeriod) {
this.options.copyrightPeriod(copyrightPeriod);
return this;
}
/**
* (experimental) Use dependabot to handle dependency upgrades.
*
* Cannot be used in conjunction with depsUpgrade
.
*
* Default: false
*
* @return {@code this}
* @param dependabot Use dependabot to handle dependency upgrades. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder dependabot(final java.lang.Boolean dependabot) {
this.options.dependabot(dependabot);
return this;
}
/**
* (experimental) Options for dependabot.
*
* Default: - default options
*
* @return {@code this}
* @param dependabotOptions Options for dependabot. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder dependabotOptions(final io.github.cdklabs.projen.github.DependabotOptions dependabotOptions) {
this.options.dependabotOptions(dependabotOptions);
return this;
}
/**
* (experimental) Use github workflows to handle dependency upgrades.
*
* Cannot be used in conjunction with dependabot
.
*
* Default: true
*
* @return {@code this}
* @param depsUpgrade Use github workflows to handle dependency upgrades. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder depsUpgrade(final java.lang.Boolean depsUpgrade) {
this.options.depsUpgrade(depsUpgrade);
return this;
}
/**
* (experimental) Options for UpgradeDependencies
.
*
* Default: - default options
*
* @return {@code this}
* @param depsUpgradeOptions Options for UpgradeDependencies
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder depsUpgradeOptions(final io.github.cdklabs.projen.javascript.UpgradeDependenciesOptions depsUpgradeOptions) {
this.options.depsUpgradeOptions(depsUpgradeOptions);
return this;
}
/**
* (experimental) Additional entries to .gitignore.
*
* @return {@code this}
* @param gitignore Additional entries to .gitignore. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitignore(final java.util.List gitignore) {
this.options.gitignore(gitignore);
return this;
}
/**
* (experimental) Setup jest unit tests.
*
* Default: true
*
* @return {@code this}
* @param jest Setup jest unit tests. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder jest(final java.lang.Boolean jest) {
this.options.jest(jest);
return this;
}
/**
* (experimental) Jest options.
*
* Default: - default options
*
* @return {@code this}
* @param jestOptions Jest options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder jestOptions(final io.github.cdklabs.projen.javascript.JestOptions jestOptions) {
this.options.jestOptions(jestOptions);
return this;
}
/**
* (experimental) Automatically update files modified during builds to pull-request branches.
*
* This means
* that any files synthesized by projen or e.g. test snapshots will always be up-to-date
* before a PR is merged.
*
* Implies that PR builds do not have anti-tamper checks.
*
* Default: true
*
* @return {@code this}
* @param mutableBuild Automatically update files modified during builds to pull-request branches. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder mutableBuild(final java.lang.Boolean mutableBuild) {
this.options.mutableBuild(mutableBuild);
return this;
}
/**
* (deprecated) Additional entries to .npmignore.
*
* @return {@code this}
* @deprecated
* - use
project.addPackageIgnore
*
* @param npmignore Additional entries to .npmignore. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder npmignore(final java.util.List npmignore) {
this.options.npmignore(npmignore);
return this;
}
/**
* (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
*
* Default: true
*
* @return {@code this}
* @param npmignoreEnabled Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmignoreEnabled(final java.lang.Boolean npmignoreEnabled) {
this.options.npmignoreEnabled(npmignoreEnabled);
return this;
}
/**
* (experimental) Configuration options for .npmignore file.
*
* @return {@code this}
* @param npmIgnoreOptions Configuration options for .npmignore file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmIgnoreOptions(final io.github.cdklabs.projen.IgnoreFileOptions npmIgnoreOptions) {
this.options.npmIgnoreOptions(npmIgnoreOptions);
return this;
}
/**
* (experimental) Defines a package
task that will produce an npm tarball under the artifacts directory (e.g. dist
).
*
* Default: true
*
* @return {@code this}
* @param packageValue Defines a package
task that will produce an npm tarball under the artifacts directory (e.g. dist
). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packageValue(final java.lang.Boolean packageValue) {
this.options.packageValue(packageValue);
return this;
}
/**
* (experimental) Setup prettier.
*
* Default: false
*
* @return {@code this}
* @param prettier Setup prettier. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder prettier(final java.lang.Boolean prettier) {
this.options.prettier(prettier);
return this;
}
/**
* (experimental) Prettier options.
*
* Default: - default options
*
* @return {@code this}
* @param prettierOptions Prettier options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder prettierOptions(final io.github.cdklabs.projen.javascript.PrettierOptions prettierOptions) {
this.options.prettierOptions(prettierOptions);
return this;
}
/**
* (experimental) Indicates of "projen" should be installed as a devDependency.
*
* Default: true
*
* @return {@code this}
* @param projenDevDependency Indicates of "projen" should be installed as a devDependency. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenDevDependency(final java.lang.Boolean projenDevDependency) {
this.options.projenDevDependency(projenDevDependency);
return this;
}
/**
* (experimental) Generate (once) .projenrc.js (in JavaScript). Set to false
in order to disable .projenrc.js generation.
*
* Default: - true if projenrcJson is false
*
* @return {@code this}
* @param projenrcJs Generate (once) .projenrc.js (in JavaScript). Set to false
in order to disable .projenrc.js generation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJs(final java.lang.Boolean projenrcJs) {
this.options.projenrcJs(projenrcJs);
return this;
}
/**
* (experimental) Options for .projenrc.js.
*
* Default: - default options
*
* @return {@code this}
* @param projenrcJsOptions Options for .projenrc.js. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJsOptions(final io.github.cdklabs.projen.javascript.ProjenrcOptions projenrcJsOptions) {
this.options.projenrcJsOptions(projenrcJsOptions);
return this;
}
/**
* (experimental) Version of projen to install.
*
* Default: - Defaults to the latest version.
*
* @return {@code this}
* @param projenVersion Version of projen to install. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenVersion(final java.lang.String projenVersion) {
this.options.projenVersion(projenVersion);
return this;
}
/**
* (experimental) Include a GitHub pull request template.
*
* Default: true
*
* @return {@code this}
* @param pullRequestTemplate Include a GitHub pull request template. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder pullRequestTemplate(final java.lang.Boolean pullRequestTemplate) {
this.options.pullRequestTemplate(pullRequestTemplate);
return this;
}
/**
* (experimental) The contents of the pull request template.
*
* Default: - default content
*
* @return {@code this}
* @param pullRequestTemplateContents The contents of the pull request template. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder pullRequestTemplateContents(final java.util.List pullRequestTemplateContents) {
this.options.pullRequestTemplateContents(pullRequestTemplateContents);
return this;
}
/**
* (experimental) Add release management to this project.
*
* Default: - true (false for subprojects)
*
* @return {@code this}
* @param release Add release management to this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder release(final java.lang.Boolean release) {
this.options.release(release);
return this;
}
/**
* (experimental) Automatically release to npm when new versions are introduced.
*
* Default: false
*
* @return {@code this}
* @param releaseToNpm Automatically release to npm when new versions are introduced. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseToNpm(final java.lang.Boolean releaseToNpm) {
this.options.releaseToNpm(releaseToNpm);
return this;
}
/**
* (deprecated) DEPRECATED: renamed to release
.
*
* Default: - true if not a subproject
*
* @return {@code this}
* @deprecated see release
.
* @param releaseWorkflow DEPRECATED: renamed to release
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder releaseWorkflow(final java.lang.Boolean releaseWorkflow) {
this.options.releaseWorkflow(releaseWorkflow);
return this;
}
/**
* (experimental) Workflow steps to use in order to bootstrap this repo.
*
* Default: "yarn install --frozen-lockfile && yarn projen"
*
* @return {@code this}
* @param workflowBootstrapSteps Workflow steps to use in order to bootstrap this repo. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowBootstrapSteps(final java.util.List extends io.github.cdklabs.projen.github.workflows.JobStep> workflowBootstrapSteps) {
this.options.workflowBootstrapSteps(workflowBootstrapSteps);
return this;
}
/**
* (experimental) The git identity to use in workflows.
*
* Default: - GitHub Actions
*
* @return {@code this}
* @param workflowGitIdentity The git identity to use in workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowGitIdentity(final io.github.cdklabs.projen.github.GitIdentity workflowGitIdentity) {
this.options.workflowGitIdentity(workflowGitIdentity);
return this;
}
/**
* (experimental) The node version to use in GitHub workflows.
*
* Default: - same as `minNodeVersion`
*
* @return {@code this}
* @param workflowNodeVersion The node version to use in GitHub workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowNodeVersion(final java.lang.String workflowNodeVersion) {
this.options.workflowNodeVersion(workflowNodeVersion);
return this;
}
/**
* (experimental) Enable Node.js package cache in GitHub workflows.
*
* Default: false
*
* @return {@code this}
* @param workflowPackageCache Enable Node.js package cache in GitHub workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowPackageCache(final java.lang.Boolean workflowPackageCache) {
this.options.workflowPackageCache(workflowPackageCache);
return this;
}
/**
* (experimental) Do not generate a tsconfig.json
file (used by jsii projects since tsconfig.json is generated by the jsii compiler).
*
* Default: false
*
* @return {@code this}
* @param disableTsconfig Do not generate a tsconfig.json
file (used by jsii projects since tsconfig.json is generated by the jsii compiler). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder disableTsconfig(final java.lang.Boolean disableTsconfig) {
this.options.disableTsconfig(disableTsconfig);
return this;
}
/**
* (experimental) Do not generate a tsconfig.dev.json
file.
*
* Default: false
*
* @return {@code this}
* @param disableTsconfigDev Do not generate a tsconfig.dev.json
file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder disableTsconfigDev(final java.lang.Boolean disableTsconfigDev) {
this.options.disableTsconfigDev(disableTsconfigDev);
return this;
}
/**
* (experimental) Docgen by Typedoc.
*
* Default: false
*
* @return {@code this}
* @param docgen Docgen by Typedoc. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder docgen(final java.lang.Boolean docgen) {
this.options.docgen(docgen);
return this;
}
/**
* (experimental) Docs directory.
*
* Default: "docs"
*
* @return {@code this}
* @param docsDirectory Docs directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder docsDirectory(final java.lang.String docsDirectory) {
this.options.docsDirectory(docsDirectory);
return this;
}
/**
* (experimental) The .d.ts file that includes the type declarations for this module.
*
* Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
*
* @return {@code this}
* @param entrypointTypes The .d.ts file that includes the type declarations for this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder entrypointTypes(final java.lang.String entrypointTypes) {
this.options.entrypointTypes(entrypointTypes);
return this;
}
/**
* (experimental) Setup eslint.
*
* Default: true
*
* @return {@code this}
* @param eslint Setup eslint. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder eslint(final java.lang.Boolean eslint) {
this.options.eslint(eslint);
return this;
}
/**
* (experimental) Eslint options.
*
* Default: - opinionated default options
*
* @return {@code this}
* @param eslintOptions Eslint options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder eslintOptions(final io.github.cdklabs.projen.javascript.EslintOptions eslintOptions) {
this.options.eslintOptions(eslintOptions);
return this;
}
/**
* (experimental) Typescript artifacts output directory.
*
* Default: "lib"
*
* @return {@code this}
* @param libdir Typescript artifacts output directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder libdir(final java.lang.String libdir) {
this.options.libdir(libdir);
return this;
}
/**
* (experimental) Use TypeScript for your projenrc file (.projenrc.ts
).
*
* Default: false
*
* @return {@code this}
* @param projenrcTs Use TypeScript for your projenrc file (.projenrc.ts
). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcTs(final java.lang.Boolean projenrcTs) {
this.options.projenrcTs(projenrcTs);
return this;
}
/**
* (experimental) Options for .projenrc.ts.
*
* @return {@code this}
* @param projenrcTsOptions Options for .projenrc.ts. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcTsOptions(final io.github.cdklabs.projen.typescript.ProjenrcOptions projenrcTsOptions) {
this.options.projenrcTsOptions(projenrcTsOptions);
return this;
}
/**
* (experimental) Generate one-time sample in src/
and test/
if there are no files there.
*
* Default: true
*
* @return {@code this}
* @param sampleCode Generate one-time sample in src/
and test/
if there are no files there. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder sampleCode(final java.lang.Boolean sampleCode) {
this.options.sampleCode(sampleCode);
return this;
}
/**
* (experimental) Typescript sources directory.
*
* Default: "src"
*
* @return {@code this}
* @param srcdir Typescript sources directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder srcdir(final java.lang.String srcdir) {
this.options.srcdir(srcdir);
return this;
}
/**
* (experimental) Jest tests directory. Tests files should be named xxx.test.ts
.
*
* If this directory is under srcdir
(e.g. src/test
, src/__tests__
),
* then tests are going to be compiled into lib/
and executed as javascript.
* If the test directory is outside of src
, then we configure jest to
* compile the code in-memory.
*
* Default: "test"
*
* @return {@code this}
* @param testdir Jest tests directory. Tests files should be named xxx.test.ts
. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder testdir(final java.lang.String testdir) {
this.options.testdir(testdir);
return this;
}
/**
* (experimental) Custom TSConfig.
*
* Default: - default options
*
* @return {@code this}
* @param tsconfig Custom TSConfig. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder tsconfig(final io.github.cdklabs.projen.javascript.TypescriptConfigOptions tsconfig) {
this.options.tsconfig(tsconfig);
return this;
}
/**
* (experimental) Custom tsconfig options for the development tsconfig.json file (used for testing).
*
* Default: - use the production tsconfig options
*
* @return {@code this}
* @param tsconfigDev Custom tsconfig options for the development tsconfig.json file (used for testing). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder tsconfigDev(final io.github.cdklabs.projen.javascript.TypescriptConfigOptions tsconfigDev) {
this.options.tsconfigDev(tsconfigDev);
return this;
}
/**
* (experimental) The name of the development tsconfig.json file.
*
* Default: "tsconfig.dev.json"
*
* @return {@code this}
* @param tsconfigDevFile The name of the development tsconfig.json file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder tsconfigDevFile(final java.lang.String tsconfigDevFile) {
this.options.tsconfigDevFile(tsconfigDevFile);
return this;
}
/**
* (experimental) TypeScript version to use.
*
* NOTE: Typescript is not semantically versioned and should remain on the
* same minor, so we recommend using a ~
dependency (e.g. ~1.2.3
).
*
* Default: "latest"
*
* @return {@code this}
* @param typescriptVersion TypeScript version to use. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder typescriptVersion(final java.lang.String typescriptVersion) {
this.options.typescriptVersion(typescriptVersion);
return this;
}
/**
* (experimental) The list of languages for which clients will be generated.
*
* A typescript client will always be generated.
*
* @return {@code this}
* @param clientLanguages The list of languages for which clients will be generated. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clientLanguages(final java.util.List extends software.aws.awsprototypingsdk.openapigateway.ClientLanguage> clientLanguages) {
this.options.clientLanguages(clientLanguages);
return this;
}
/**
* (experimental) The directory in which the api generated code will reside, relative to the project srcdir.
*
* @return {@code this}
* @param apiSrcDir The directory in which the api generated code will reside, relative to the project srcdir. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder apiSrcDir(final java.lang.String apiSrcDir) {
this.options.apiSrcDir(apiSrcDir);
return this;
}
/**
* (experimental) Formats to generate documentation in.
*
* @return {@code this}
* @param documentationFormats Formats to generate documentation in. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder documentationFormats(final java.util.List extends software.aws.awsprototypingsdk.openapigateway.DocumentationFormat> documentationFormats) {
this.options.documentationFormats(documentationFormats);
return this;
}
/**
* (experimental) Force to generate code and docs even if there were no changes in spec.
*
* Default: "false"
*
* @return {@code this}
* @param forceGenerateCodeAndDocs Force to generate code and docs even if there were no changes in spec. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder forceGenerateCodeAndDocs(final java.lang.Boolean forceGenerateCodeAndDocs) {
this.options.forceGenerateCodeAndDocs(forceGenerateCodeAndDocs);
return this;
}
/**
* (experimental) The directory in which generated client code will be generated, relative to the outdir of this project.
*
* Default: "generated"
*
* @return {@code this}
* @param generatedCodeDir The directory in which generated client code will be generated, relative to the outdir of this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder generatedCodeDir(final java.lang.String generatedCodeDir) {
this.options.generatedCodeDir(generatedCodeDir);
return this;
}
/**
* (experimental) Options for the generated java client (if specified in clientLanguages).
*
* These override the default inferred options.
*
* @return {@code this}
* @param javaClientOptions Options for the generated java client (if specified in clientLanguages). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder javaClientOptions(final io.github.cdklabs.projen.java.JavaProjectOptions javaClientOptions) {
this.options.javaClientOptions(javaClientOptions);
return this;
}
/**
* (experimental) The name of the output parsed OpenAPI specification file.
*
* Must end with .json.
*
* Default: ".parsed-spec.json"
*
* @return {@code this}
* @param parsedSpecFileName The name of the output parsed OpenAPI specification file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder parsedSpecFileName(final java.lang.String parsedSpecFileName) {
this.options.parsedSpecFileName(parsedSpecFileName);
return this;
}
/**
* (experimental) Options for the generated python client (if specified in clientLanguages).
*
* These override the default inferred options.
*
* @return {@code this}
* @param pythonClientOptions Options for the generated python client (if specified in clientLanguages). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder pythonClientOptions(final io.github.cdklabs.projen.python.PythonProjectOptions pythonClientOptions) {
this.options.pythonClientOptions(pythonClientOptions);
return this;
}
/**
* (experimental) Options for the generated typescript client.
*
* These override the default inferred options.
*
* @return {@code this}
* @param typescriptClientOptions Options for the generated typescript client. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder typescriptClientOptions(final io.github.cdklabs.projen.typescript.TypeScriptProjectOptions typescriptClientOptions) {
this.options.typescriptClientOptions(typescriptClientOptions);
return this;
}
/**
* (experimental) The name of the Smithy service from your model which will be targeted for deployment and client generation.
*
* On initial project synthesis this service name will be written to the sample "hello world" model. If you change
* this value after initial synthesis you will need to manually update your Smithy models to match, unless you delete
* the "model" directory. Likewise, if you change the namespace or service name in your Smithy models you will need to
* update this value to ensure your service can be found.
*
* Default: "example.hello#Hello"
*
* @return {@code this}
* @param serviceName The name of the Smithy service from your model which will be targeted for deployment and client generation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder serviceName(final software.aws.awsprototypingsdk.openapigateway.SmithyServiceName serviceName) {
this.options.serviceName(serviceName);
return this;
}
/**
* (experimental) Set to false if you would like to check in your gradle wrapper.
*
* Do so if you would like to use a different version
* of gradle to the one provided by default
*
* Default: true
*
* @return {@code this}
* @param ignoreGradleWrapper Set to false if you would like to check in your gradle wrapper. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder ignoreGradleWrapper(final java.lang.Boolean ignoreGradleWrapper) {
this.options.ignoreGradleWrapper(ignoreGradleWrapper);
return this;
}
/**
* (experimental) Set to false if you would like to check in your smithy build output or have more fine-grained control over what is checked in, eg if you add other projections to the smithy-build.json file.
*
* Default: true
*
* @return {@code this}
* @param ignoreSmithyBuildOutput Set to false if you would like to check in your smithy build output or have more fine-grained control over what is checked in, eg if you add other projections to the smithy-build.json file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder ignoreSmithyBuildOutput(final java.lang.Boolean ignoreSmithyBuildOutput) {
this.options.ignoreSmithyBuildOutput(ignoreSmithyBuildOutput);
return this;
}
/**
* (experimental) The path to the Smithy model directory, relative to the project source directory (srcdir).
*
* Default: "model"
*
* @return {@code this}
* @param modelDir The path to the Smithy model directory, relative to the project source directory (srcdir). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder modelDir(final java.lang.String modelDir) {
this.options.modelDir(modelDir);
return this;
}
/**
* (experimental) Any additional properties you'd like to add your smithy-build.json. The smithy-build.json will automatically include the "openapi" plugin, but you can add extra configuration for that via this option if you like.
*
* @return {@code this}
* @see https://awslabs.github.io/smithy/2.0/guides/converting-to-openapi.html#openapi-configuration-settings
* @param smithyBuildOptions Any additional properties you'd like to add your smithy-build.json. The smithy-build.json will automatically include the "openapi" plugin, but you can add extra configuration for that via this option if you like. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder smithyBuildOptions(final software.aws.awsprototypingsdk.openapigateway.SmithyBuildOptions smithyBuildOptions) {
this.options.smithyBuildOptions(smithyBuildOptions);
return this;
}
/**
* @return a newly built instance of {@link software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProject}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
@Override
public software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProject build() {
return new software.aws.awsprototypingsdk.openapigateway.SmithyApiGatewayTsProject(
this.options.build()
);
}
}
}