Package io.github.cdklabs.projen.awscdk
Class AwsCdkPythonAppOptions.Builder
- java.lang.Object
-
- io.github.cdklabs.projen.awscdk.AwsCdkPythonAppOptions.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<AwsCdkPythonAppOptions>
- Enclosing interface:
- AwsCdkPythonAppOptions
@Stability(Experimental) public static final class AwsCdkPythonAppOptions.Builder extends Object implements software.amazon.jsii.Builder<AwsCdkPythonAppOptions>
A builder forAwsCdkPythonAppOptions
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
appEntrypoint
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder appEntrypoint(String appEntrypoint)
Sets the value ofAwsCdkPythonAppOptions.getAppEntrypoint()- Parameters:
appEntrypoint- The CDK app's entrypoint (relative to the source directory, which is "src" by default).- Returns:
this
-
testdir
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder testdir(String testdir)
Sets the value ofAwsCdkPythonAppOptions.getTestdir()- Parameters:
testdir- Python sources directory.- Returns:
this
-
moduleName
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder moduleName(String moduleName)
Sets the value ofPythonProjectOptions.getModuleName()- Parameters:
moduleName- Name of the python package as used in imports and filenames. This parameter is required. Must only consist of alphanumeric characters and underscores.- Returns:
this
-
deps
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder deps(List<String> deps)
Sets the value ofPythonProjectOptions.getDeps()- Parameters:
deps- List of runtime dependencies for this project. Dependencies use the format:<module>@<semver>Additional dependencies can be added via
project.addDependency().- Returns:
this
-
devDeps
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder devDeps(List<String> devDeps)
Sets the value ofPythonProjectOptions.getDevDeps()- Parameters:
devDeps- List of dev dependencies for this project. Dependencies use the format:<module>@<semver>Additional dependencies can be added via
project.addDevDependency().- Returns:
this
-
pip
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder pip(Boolean pip)
Sets the value ofPythonProjectOptions.getPip()- Parameters:
pip- Use pip with a requirements.txt file to track project dependencies.- Returns:
this
-
poetry
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder poetry(Boolean poetry)
Sets the value ofPythonProjectOptions.getPoetry()- Parameters:
poetry- Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing. This feature is incompatible with pip, setuptools, or venv. If you set this option totrue, then pip, setuptools, and venv must be set tofalse.- Returns:
this
-
projenrcJs
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcJs(Boolean projenrcJs)
Sets the value ofPythonProjectOptions.getProjenrcJs()- Parameters:
projenrcJs- Use projenrc in javascript. This will installprojenas a JavaScript dependency and add asynthtask which will run.projenrc.js.- Returns:
this
-
projenrcJsOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcJsOptions(ProjenrcOptions projenrcJsOptions)
Sets the value ofPythonProjectOptions.getProjenrcJsOptions()- Parameters:
projenrcJsOptions- Options related to projenrc in JavaScript.- Returns:
this
-
projenrcPython
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcPython(Boolean projenrcPython)
Sets the value ofPythonProjectOptions.getProjenrcPython()- Parameters:
projenrcPython- Use projenrc in Python. This will installprojenas a Python dependency and add asynthtask which will run.projenrc.py.- Returns:
this
-
projenrcPythonOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcPythonOptions(ProjenrcOptions projenrcPythonOptions)
Sets the value ofPythonProjectOptions.getProjenrcPythonOptions()- Parameters:
projenrcPythonOptions- Options related to projenrc in python.- Returns:
this
-
projenrcTs
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcTs(Boolean projenrcTs)
Sets the value ofPythonProjectOptions.getProjenrcTs()- Parameters:
projenrcTs- Use projenrc in TypeScript. This will create a tsconfig file (default:tsconfig.projen.json) and usets-nodein the default task to parse the project source files.- Returns:
this
-
projenrcTsOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcTsOptions(ProjenrcTsOptions projenrcTsOptions)
Sets the value ofPythonProjectOptions.getProjenrcTsOptions()- Parameters:
projenrcTsOptions- Options related to projenrc in TypeScript.- Returns:
this
-
pytest
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder pytest(Boolean pytest)
Sets the value ofPythonProjectOptions.getPytest()- Parameters:
pytest- Include pytest tests.- Returns:
this
-
pytestOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder pytestOptions(PytestOptions pytestOptions)
Sets the value ofPythonProjectOptions.getPytestOptions()- Parameters:
pytestOptions- pytest options.- Returns:
this
-
sample
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder sample(Boolean sample)
Sets the value ofPythonProjectOptions.getSample()- Parameters:
sample- Include sample code and test if the relevant directories don't exist.- Returns:
this
-
setuptools
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder setuptools(Boolean setuptools)
Sets the value ofPythonProjectOptions.getSetuptools()- Parameters:
setuptools- Use setuptools with a setup.py script for packaging and publishing.- Returns:
this
-
venv
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder venv(Boolean venv)
Sets the value ofPythonProjectOptions.getVenv()- Parameters:
venv- Use venv to manage a virtual environment for installing dependencies inside.- Returns:
this
-
venvOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder venvOptions(VenvOptions venvOptions)
Sets the value ofPythonProjectOptions.getVenvOptions()- Parameters:
venvOptions- Venv options.- Returns:
this
-
autoApproveOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder autoApproveOptions(AutoApproveOptions autoApproveOptions)
Sets the value ofGitHubProjectOptions.getAutoApproveOptions()- Parameters:
autoApproveOptions- Enable and configure the 'auto approve' workflow.- Returns:
this
-
autoMerge
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder autoMerge(Boolean autoMerge)
Sets the value ofGitHubProjectOptions.getAutoMerge()- Parameters:
autoMerge- Enable automatic merging on GitHub. Has no effect ifgithub.mergifyis set to false.- Returns:
this
-
autoMergeOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder autoMergeOptions(AutoMergeOptions autoMergeOptions)
Sets the value ofGitHubProjectOptions.getAutoMergeOptions()- Parameters:
autoMergeOptions- Configure options for automatic merging on GitHub. Has no effect ifgithub.mergifyorautoMergeis set to false.- Returns:
this
-
clobber
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder clobber(Boolean clobber)
Sets the value ofGitHubProjectOptions.getClobber()- Parameters:
clobber- Add aclobbertask which resets the repo to origin.- Returns:
this
-
devContainer
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder devContainer(Boolean devContainer)
Sets the value ofGitHubProjectOptions.getDevContainer()- Parameters:
devContainer- Add a VSCode development environment (used for GitHub Codespaces).- Returns:
this
-
github
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder github(Boolean github)
Sets the value ofGitHubProjectOptions.getGithub()- Parameters:
github- Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects.- Returns:
this
-
githubOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder githubOptions(GitHubOptions githubOptions)
Sets the value ofGitHubProjectOptions.getGithubOptions()- Parameters:
githubOptions- Options for GitHub integration.- Returns:
this
-
gitpod
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder gitpod(Boolean gitpod)
Sets the value ofGitHubProjectOptions.getGitpod()- Parameters:
gitpod- Add a Gitpod development environment.- Returns:
this
-
mergify
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder mergify(Boolean mergify)
Deprecated.use `githubOptions.mergify` insteadSets the value ofGitHubProjectOptions.getMergify()- Parameters:
mergify- Whether mergify should be enabled on this repository or not.- Returns:
this
-
mergifyOptions
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder mergifyOptions(MergifyOptions mergifyOptions)
Deprecated.use `githubOptions.mergifyOptions` insteadSets the value ofGitHubProjectOptions.getMergifyOptions()- Parameters:
mergifyOptions- Options for mergify.- Returns:
this
-
projectType
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder projectType(ProjectType projectType)
Deprecated.no longer supported at the base project levelSets the value ofGitHubProjectOptions.getProjectType()- Parameters:
projectType- Which type of project this is (library/app).- Returns:
this
-
projenCredentials
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenCredentials(GithubCredentials projenCredentials)
Sets the value ofGitHubProjectOptions.getProjenCredentials()- Parameters:
projenCredentials- Choose a method of providing GitHub API access for projen workflows.- Returns:
this
-
projenTokenSecret
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder projenTokenSecret(String projenTokenSecret)
Deprecated.use `projenCredentials`Sets the value ofGitHubProjectOptions.getProjenTokenSecret()- Parameters:
projenTokenSecret- The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This token needs to have therepo,workflowsandpackagesscope.- Returns:
this
-
readme
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder readme(SampleReadmeProps readme)
Sets the value ofGitHubProjectOptions.getReadme()- Parameters:
readme- The README setup.- Returns:
this
-
stale
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder stale(Boolean stale)
Sets the value ofGitHubProjectOptions.getStale()- Parameters:
stale- Auto-close of stale issues and pull request. SeestaleOptionsfor options.- Returns:
this
-
staleOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder staleOptions(StaleOptions staleOptions)
Sets the value ofGitHubProjectOptions.getStaleOptions()- Parameters:
staleOptions- Auto-close stale issues and pull requests. To disable setstaletofalse.- Returns:
this
-
vscode
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder vscode(Boolean vscode)
Sets the value ofGitHubProjectOptions.getVscode()- Parameters:
vscode- Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects.- Returns:
this
-
name
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder name(String name)
Sets the value ofProjectOptions.getName()- Parameters:
name- This is the name of your project. This parameter is required.- Returns:
this
-
commitGenerated
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder commitGenerated(Boolean commitGenerated)
Sets the value ofProjectOptions.getCommitGenerated()- Parameters:
commitGenerated- Whether to commit the managed files by default.- Returns:
this
-
gitIgnoreOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder gitIgnoreOptions(IgnoreFileOptions gitIgnoreOptions)
Sets the value ofProjectOptions.getGitIgnoreOptions()- Parameters:
gitIgnoreOptions- Configuration options for .gitignore file.- Returns:
this
-
gitOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder gitOptions(GitOptions gitOptions)
Sets the value ofProjectOptions.getGitOptions()- Parameters:
gitOptions- Configuration options for git.- Returns:
this
-
logging
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder logging(LoggerOptions logging)
Sets the value ofProjectOptions.getLogging()- Parameters:
logging- Configure logging options such as verbosity.- Returns:
this
-
outdir
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder outdir(String outdir)
Sets the value ofProjectOptions.getOutdir()- Parameters:
outdir- 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 subprojects.
- Returns:
this
-
parent
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder parent(Project parent)
Sets the value ofProjectOptions.getParent()- Parameters:
parent- The parent project, if this project is part of a bigger project.- Returns:
this
-
projenCommand
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenCommand(String projenCommand)
Sets the value ofProjectOptions.getProjenCommand()- Parameters:
projenCommand- The shell command to use in order to run the projen CLI. Can be used to customize in special environments.- Returns:
this
-
projenrcJson
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcJson(Boolean projenrcJson)
Sets the value ofProjectOptions.getProjenrcJson()- Parameters:
projenrcJson- Generate (once) .projenrc.json (in JSON). Set tofalsein order to disable .projenrc.json generation.- Returns:
this
-
projenrcJsonOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder projenrcJsonOptions(ProjenrcJsonOptions projenrcJsonOptions)
Sets the value ofProjectOptions.getProjenrcJsonOptions()- Parameters:
projenrcJsonOptions- Options for .projenrc.json.- Returns:
this
-
renovatebot
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder renovatebot(Boolean renovatebot)
Sets the value ofProjectOptions.getRenovatebot()- Parameters:
renovatebot- Use renovatebot to handle dependency upgrades.- Returns:
this
-
renovatebotOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder renovatebotOptions(RenovatebotOptions renovatebotOptions)
Sets the value ofProjectOptions.getRenovatebotOptions()- Parameters:
renovatebotOptions- Options for renovatebot.- Returns:
this
-
authorEmail
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder authorEmail(String authorEmail)
Sets the value ofPythonPackagingOptions.getAuthorEmail()- Parameters:
authorEmail- Author's e-mail. This parameter is required.- Returns:
this
-
authorName
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder authorName(String authorName)
Sets the value ofPythonPackagingOptions.getAuthorName()- Parameters:
authorName- Author's name. This parameter is required.- Returns:
this
-
version
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder version(String version)
Sets the value ofPythonPackagingOptions.getVersion()- Parameters:
version- Version of the package. This parameter is required.- Returns:
this
-
classifiers
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder classifiers(List<String> classifiers)
Sets the value ofPythonPackagingOptions.getClassifiers()- Parameters:
classifiers- A list of PyPI trove classifiers that describe the project.- Returns:
this
-
description
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder description(String description)
Sets the value ofPythonPackagingOptions.getDescription()- Parameters:
description- A short description of the package.- Returns:
this
-
homepage
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder homepage(String homepage)
Sets the value ofPythonPackagingOptions.getHomepage()- Parameters:
homepage- A URL to the website of the project.- Returns:
this
-
license
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder license(String license)
Sets the value ofPythonPackagingOptions.getLicense()- Parameters:
license- License of this package as an SPDX identifier.- Returns:
this
-
packageName
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder packageName(String packageName)
Sets the value ofPythonPackagingOptions.getPackageName()- Parameters:
packageName- Package name.- Returns:
this
-
poetryOptions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder poetryOptions(PoetryPyprojectOptionsWithoutDeps poetryOptions)
Sets the value ofPythonPackagingOptions.getPoetryOptions()- Parameters:
poetryOptions- Additional options to set for poetry if using poetry.- Returns:
this
-
setupConfig
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder setupConfig(Map<String,? extends Object> setupConfig)
Sets the value ofPythonPackagingOptions.getSetupConfig()- Parameters:
setupConfig- Additional fields to pass in the setup() function if using setuptools.- Returns:
this
-
pythonExec
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder pythonExec(String pythonExec)
Sets the value ofPythonExecutableOptions.getPythonExec()- Parameters:
pythonExec- Path to the python executable to use.- Returns:
this
-
buildCommand
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder buildCommand(String buildCommand)
Sets the value ofCdkConfigCommonOptions.getBuildCommand()- Parameters:
buildCommand- A command to execute before synthesis. This command will be called when runningcdk synthor whencdk watchidentifies a change in your source code before redeployment.- Returns:
this
-
cdkout
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder cdkout(String cdkout)
Sets the value ofCdkConfigCommonOptions.getCdkout()- Parameters:
cdkout- cdk.out directory.- Returns:
this
-
context
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder context(Map<String,? extends Object> context)
Sets the value ofCdkConfigCommonOptions.getContext()- Parameters:
context- Additional context to include incdk.json.- Returns:
this
-
featureFlags
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder featureFlags(Boolean featureFlags)
Sets the value ofCdkConfigCommonOptions.getFeatureFlags()- Parameters:
featureFlags- Include all feature flags in cdk.json.- Returns:
this
-
requireApproval
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder requireApproval(ApprovalLevel requireApproval)
Sets the value ofCdkConfigCommonOptions.getRequireApproval()- Parameters:
requireApproval- 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.- Returns:
this
-
watchExcludes
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder watchExcludes(List<String> watchExcludes)
Sets the value ofCdkConfigCommonOptions.getWatchExcludes()- Parameters:
watchExcludes- Glob patterns to exclude fromcdk watch.- Returns:
this
-
watchIncludes
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder watchIncludes(List<String> watchIncludes)
Sets the value ofCdkConfigCommonOptions.getWatchIncludes()- Parameters:
watchIncludes- Glob patterns to include incdk watch.- Returns:
this
-
cdkVersion
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder cdkVersion(String cdkVersion)
Sets the value ofAwsCdkDepsCommonOptions.getCdkVersion()- Parameters:
cdkVersion- Minimum version of the AWS CDK to depend on. This parameter is required.- Returns:
this
-
cdkAssert
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder cdkAssert(Boolean cdkAssert)
Deprecated.TheSets the value ofAwsCdkDepsCommonOptions.getCdkAssert()- Parameters:
cdkAssert- Warning: NodeJS only. Install the- Returns:
this
-
cdkAssertions
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder cdkAssertions(Boolean cdkAssertions)
Sets the value ofAwsCdkDepsCommonOptions.getCdkAssertions()- Parameters:
cdkAssertions- Install the assertions library?. Only needed for CDK 1.x. If using CDK 2.x then assertions is already included in 'aws-cdk-lib'- Returns:
this
-
cdkDependencies
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder cdkDependencies(List<String> cdkDependencies)
Deprecated.For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library)Sets the value ofAwsCdkDepsCommonOptions.getCdkDependencies()- Parameters:
cdkDependencies- Which AWS CDKv1 modules this project requires.- Returns:
this
-
cdkDependenciesAsDeps
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder cdkDependenciesAsDeps(Boolean cdkDependenciesAsDeps)
Deprecated.Not supported in CDK v2.Sets the value ofAwsCdkDepsCommonOptions.getCdkDependenciesAsDeps()- Parameters:
cdkDependenciesAsDeps- If this is enabled (default), all modules declared incdkDependencieswill be also added as normaldependencies(as well aspeerDependencies). This is to ensure that downstream consumers actually have your CDK dependencies installed when using npm < 7 or yarn, where peer dependencies are not automatically installed. If this is disabled,cdkDependencieswill be added todevDependenciesto ensure they are present during development.Note: this setting only applies to construct library projects
- Returns:
this
-
cdkTestDependencies
@Stability(Deprecated) @Deprecated public AwsCdkPythonAppOptions.Builder cdkTestDependencies(List<String> cdkTestDependencies)
Deprecated.For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) insteadSets the value ofAwsCdkDepsCommonOptions.getCdkTestDependencies()- Parameters:
cdkTestDependencies- AWS CDK modules required for testing.- Returns:
this
-
cdkVersionPinning
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder cdkVersionPinning(Boolean cdkVersionPinning)
Sets the value ofAwsCdkDepsCommonOptions.getCdkVersionPinning()- Parameters:
cdkVersionPinning- Use pinned version instead of caret version for CDK. You can use this to prevent mixed versions for your CDK dependencies and to prevent auto-updates. If you use experimental features this will let you define the moment you include breaking changes.- Returns:
this
-
constructsVersion
@Stability(Experimental) public AwsCdkPythonAppOptions.Builder constructsVersion(String constructsVersion)
Sets the value ofAwsCdkDepsCommonOptions.getConstructsVersion()- Parameters:
constructsVersion- Minimum version of theconstructslibrary to depend on.- Returns:
this
-
build
@Stability(Experimental) public AwsCdkPythonAppOptions build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<AwsCdkPythonAppOptions>- Returns:
- a new instance of
AwsCdkPythonAppOptions - Throws:
NullPointerException- if any required attribute was not provided
-
-