Class PDKPipelinePyProjectOptions.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • appEntrypoint

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder appEntrypoint​(String appEntrypoint)
        Sets the value of AwsCdkPythonAppOptions.getAppEntrypoint()
        Parameters:
        appEntrypoint - The CDK app's entrypoint (relative to the source directory, which is "src" by default).
        Returns:
        this
      • testdir

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder testdir​(String testdir)
        Sets the value of AwsCdkPythonAppOptions.getTestdir()
        Parameters:
        testdir - Python sources directory.
        Returns:
        this
      • moduleName

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder moduleName​(String moduleName)
        Sets the value of PythonProjectOptions.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 PDKPipelinePyProjectOptions.Builder deps​(List<String> deps)
        Sets the value of PythonProjectOptions.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 PDKPipelinePyProjectOptions.Builder devDeps​(List<String> devDeps)
        Sets the value of PythonProjectOptions.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 PDKPipelinePyProjectOptions.Builder pip​(Boolean pip)
        Sets the value of PythonProjectOptions.getPip()
        Parameters:
        pip - Use pip with a requirements.txt file to track project dependencies.
        Returns:
        this
      • poetry

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder poetry​(Boolean poetry)
        Sets the value of PythonProjectOptions.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 to true, then pip, setuptools, and venv must be set to false.
        Returns:
        this
      • projenrcJs

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder projenrcJs​(Boolean projenrcJs)
        Sets the value of PythonProjectOptions.getProjenrcJs()
        Parameters:
        projenrcJs - Use projenrc in javascript. This will install projen as a JavaScript dependency and add a synth task which will run .projenrc.js.
        Returns:
        this
      • projenrcJsOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder projenrcJsOptions​(io.github.cdklabs.projen.javascript.ProjenrcOptions projenrcJsOptions)
        Sets the value of PythonProjectOptions.getProjenrcJsOptions()
        Parameters:
        projenrcJsOptions - Options related to projenrc in JavaScript.
        Returns:
        this
      • projenrcPython

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder projenrcPython​(Boolean projenrcPython)
        Sets the value of PythonProjectOptions.getProjenrcPython()
        Parameters:
        projenrcPython - Use projenrc in Python. This will install projen as a Python dependency and add a synth task which will run .projenrc.py.
        Returns:
        this
      • projenrcPythonOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder projenrcPythonOptions​(io.github.cdklabs.projen.python.ProjenrcOptions projenrcPythonOptions)
        Sets the value of PythonProjectOptions.getProjenrcPythonOptions()
        Parameters:
        projenrcPythonOptions - Options related to projenrc in python.
        Returns:
        this
      • pytest

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder pytest​(Boolean pytest)
        Sets the value of PythonProjectOptions.getPytest()
        Parameters:
        pytest - Include pytest tests.
        Returns:
        this
      • pytestOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder pytestOptions​(io.github.cdklabs.projen.python.PytestOptions pytestOptions)
        Sets the value of PythonProjectOptions.getPytestOptions()
        Parameters:
        pytestOptions - pytest options.
        Returns:
        this
      • sample

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder sample​(Boolean sample)
        Sets the value of PythonProjectOptions.getSample()
        Parameters:
        sample - Include sample code and test if the relevant directories don't exist.
        Returns:
        this
      • setuptools

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder setuptools​(Boolean setuptools)
        Sets the value of PythonProjectOptions.getSetuptools()
        Parameters:
        setuptools - Use setuptools with a setup.py script for packaging and publishing.
        Returns:
        this
      • venv

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder venv​(Boolean venv)
        Sets the value of PythonProjectOptions.getVenv()
        Parameters:
        venv - Use venv to manage a virtual environment for installing dependencies inside.
        Returns:
        this
      • venvOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder venvOptions​(io.github.cdklabs.projen.python.VenvOptions venvOptions)
        Sets the value of PythonProjectOptions.getVenvOptions()
        Parameters:
        venvOptions - Venv options.
        Returns:
        this
      • autoApproveOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder autoApproveOptions​(io.github.cdklabs.projen.github.AutoApproveOptions autoApproveOptions)
        Sets the value of GitHubProjectOptions.getAutoApproveOptions()
        Parameters:
        autoApproveOptions - Enable and configure the 'auto approve' workflow.
        Returns:
        this
      • autoMerge

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder autoMerge​(Boolean autoMerge)
        Sets the value of GitHubProjectOptions.getAutoMerge()
        Parameters:
        autoMerge - Enable automatic merging on GitHub. Has no effect if github.mergify is set to false.
        Returns:
        this
      • autoMergeOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder autoMergeOptions​(io.github.cdklabs.projen.github.AutoMergeOptions autoMergeOptions)
        Sets the value of GitHubProjectOptions.getAutoMergeOptions()
        Parameters:
        autoMergeOptions - Configure options for automatic merging on GitHub. Has no effect if github.mergify or autoMerge is set to false.
        Returns:
        this
      • clobber

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder clobber​(Boolean clobber)
        Sets the value of GitHubProjectOptions.getClobber()
        Parameters:
        clobber - Add a `clobber` task which resets the repo to origin.
        Returns:
        this
      • devContainer

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder devContainer​(Boolean devContainer)
        Sets the value of GitHubProjectOptions.getDevContainer()
        Parameters:
        devContainer - Add a VSCode development environment (used for GitHub Codespaces).
        Returns:
        this
      • github

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder github​(Boolean github)
        Sets the value of GitHubProjectOptions.getGithub()
        Parameters:
        github - Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects.
        Returns:
        this
      • githubOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder githubOptions​(io.github.cdklabs.projen.github.GitHubOptions githubOptions)
        Sets the value of GitHubProjectOptions.getGithubOptions()
        Parameters:
        githubOptions - Options for GitHub integration.
        Returns:
        this
      • gitpod

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder gitpod​(Boolean gitpod)
        Sets the value of GitHubProjectOptions.getGitpod()
        Parameters:
        gitpod - Add a Gitpod development environment.
        Returns:
        this
      • mergify

        @Stability(Deprecated)
        @Deprecated
        public PDKPipelinePyProjectOptions.Builder mergify​(Boolean mergify)
        Deprecated.
        use `githubOptions.mergify` instead
        Sets the value of GitHubProjectOptions.getMergify()
        Parameters:
        mergify - Whether mergify should be enabled on this repository or not.
        Returns:
        this
      • mergifyOptions

        @Stability(Deprecated)
        @Deprecated
        public PDKPipelinePyProjectOptions.Builder mergifyOptions​(io.github.cdklabs.projen.github.MergifyOptions mergifyOptions)
        Deprecated.
        use `githubOptions.mergifyOptions` instead
        Sets the value of GitHubProjectOptions.getMergifyOptions()
        Parameters:
        mergifyOptions - Options for mergify.
        Returns:
        this
      • projectType

        @Stability(Deprecated)
        @Deprecated
        public PDKPipelinePyProjectOptions.Builder projectType​(io.github.cdklabs.projen.ProjectType projectType)
        Deprecated.
        no longer supported at the base project level
        Sets the value of GitHubProjectOptions.getProjectType()
        Parameters:
        projectType - Which type of project this is (library/app).
        Returns:
        this
      • projenCredentials

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder projenCredentials​(io.github.cdklabs.projen.github.GithubCredentials projenCredentials)
        Sets the value of GitHubProjectOptions.getProjenCredentials()
        Parameters:
        projenCredentials - Choose a method of providing GitHub API access for projen workflows.
        Returns:
        this
      • projenTokenSecret

        @Stability(Deprecated)
        @Deprecated
        public PDKPipelinePyProjectOptions.Builder projenTokenSecret​(String projenTokenSecret)
        Deprecated.
        use `projenCredentials`
        Sets the value of GitHubProjectOptions.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 the repo, workflows and packages scope.
        Returns:
        this
      • readme

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder readme​(io.github.cdklabs.projen.SampleReadmeProps readme)
        Sets the value of GitHubProjectOptions.getReadme()
        Parameters:
        readme - The README setup.
        Returns:
        this
      • stale

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder stale​(Boolean stale)
        Sets the value of GitHubProjectOptions.getStale()
        Parameters:
        stale - Auto-close of stale issues and pull request. See staleOptions for options.
        Returns:
        this
      • staleOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder staleOptions​(io.github.cdklabs.projen.github.StaleOptions staleOptions)
        Sets the value of GitHubProjectOptions.getStaleOptions()
        Parameters:
        staleOptions - Auto-close stale issues and pull requests. To disable set stale to false.
        Returns:
        this
      • vscode

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder vscode​(Boolean vscode)
        Sets the value of GitHubProjectOptions.getVscode()
        Parameters:
        vscode - Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects.
        Returns:
        this
      • name

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder name​(String name)
        Sets the value of ProjectOptions.getName()
        Parameters:
        name - This is the name of your project. This parameter is required.
        Returns:
        this
      • commitGenerated

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder commitGenerated​(Boolean commitGenerated)
        Sets the value of ProjectOptions.getCommitGenerated()
        Parameters:
        commitGenerated - Whether to commit the managed files by default.
        Returns:
        this
      • logging

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder logging​(io.github.cdklabs.projen.LoggerOptions logging)
        Sets the value of ProjectOptions.getLogging()
        Parameters:
        logging - Configure logging options such as verbosity.
        Returns:
        this
      • outdir

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder outdir​(String outdir)
        Sets the value of ProjectOptions.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 sub-projects.

        Returns:
        this
      • parent

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder parent​(io.github.cdklabs.projen.Project parent)
        Sets the value of ProjectOptions.getParent()
        Parameters:
        parent - The parent project, if this project is part of a bigger project.
        Returns:
        this
      • projenCommand

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder projenCommand​(String projenCommand)
        Sets the value of ProjectOptions.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 PDKPipelinePyProjectOptions.Builder projenrcJson​(Boolean projenrcJson)
        Sets the value of ProjectOptions.getProjenrcJson()
        Parameters:
        projenrcJson - Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
        Returns:
        this
      • projenrcJsonOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder projenrcJsonOptions​(io.github.cdklabs.projen.ProjenrcOptions projenrcJsonOptions)
        Sets the value of ProjectOptions.getProjenrcJsonOptions()
        Parameters:
        projenrcJsonOptions - Options for .projenrc.json.
        Returns:
        this
      • renovatebot

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder renovatebot​(Boolean renovatebot)
        Sets the value of ProjectOptions.getRenovatebot()
        Parameters:
        renovatebot - Use renovatebot to handle dependency upgrades.
        Returns:
        this
      • renovatebotOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder renovatebotOptions​(io.github.cdklabs.projen.RenovatebotOptions renovatebotOptions)
        Sets the value of ProjectOptions.getRenovatebotOptions()
        Parameters:
        renovatebotOptions - Options for renovatebot.
        Returns:
        this
      • authorEmail

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder authorEmail​(String authorEmail)
        Sets the value of PythonPackagingOptions.getAuthorEmail()
        Parameters:
        authorEmail - Author's e-mail. This parameter is required.
        Returns:
        this
      • authorName

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder authorName​(String authorName)
        Sets the value of PythonPackagingOptions.getAuthorName()
        Parameters:
        authorName - Author's name. This parameter is required.
        Returns:
        this
      • version

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder version​(String version)
        Sets the value of PythonPackagingOptions.getVersion()
        Parameters:
        version - Version of the package. This parameter is required.
        Returns:
        this
      • classifiers

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder classifiers​(List<String> classifiers)
        Sets the value of PythonPackagingOptions.getClassifiers()
        Parameters:
        classifiers - A list of PyPI trove classifiers that describe the project.
        Returns:
        this
      • description

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder description​(String description)
        Sets the value of PythonPackagingOptions.getDescription()
        Parameters:
        description - A short description of the package.
        Returns:
        this
      • homepage

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder homepage​(String homepage)
        Sets the value of PythonPackagingOptions.getHomepage()
        Parameters:
        homepage - A URL to the website of the project.
        Returns:
        this
      • license

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder license​(String license)
        Sets the value of PythonPackagingOptions.getLicense()
        Parameters:
        license - License of this package as an SPDX identifier.
        Returns:
        this
      • packageName

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder packageName​(String packageName)
        Sets the value of PythonPackagingOptions.getPackageName()
        Parameters:
        packageName - Package name.
        Returns:
        this
      • poetryOptions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder poetryOptions​(io.github.cdklabs.projen.python.PoetryPyprojectOptionsWithoutDeps poetryOptions)
        Sets the value of PythonPackagingOptions.getPoetryOptions()
        Parameters:
        poetryOptions - Additional options to set for poetry if using poetry.
        Returns:
        this
      • setupConfig

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder setupConfig​(Map<String,​? extends Object> setupConfig)
        Sets the value of PythonPackagingOptions.getSetupConfig()
        Parameters:
        setupConfig - Additional fields to pass in the setup() function if using setuptools.
        Returns:
        this
      • buildCommand

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder buildCommand​(String buildCommand)
        Sets the value of CdkConfigCommonOptions.getBuildCommand()
        Parameters:
        buildCommand - A command to execute before synthesis. This command will be called when running cdk synth or when cdk watch identifies a change in your source code before redeployment.
        Returns:
        this
      • cdkout

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder cdkout​(String cdkout)
        Sets the value of CdkConfigCommonOptions.getCdkout()
        Parameters:
        cdkout - cdk.out directory.
        Returns:
        this
      • context

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder context​(Map<String,​? extends Object> context)
        Sets the value of CdkConfigCommonOptions.getContext()
        Parameters:
        context - Additional context to include in `cdk.json`.
        Returns:
        this
      • featureFlags

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder featureFlags​(Boolean featureFlags)
        Sets the value of CdkConfigCommonOptions.getFeatureFlags()
        Parameters:
        featureFlags - Include all feature flags in cdk.json.
        Returns:
        this
      • requireApproval

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder requireApproval​(io.github.cdklabs.projen.awscdk.ApprovalLevel requireApproval)
        Sets the value of CdkConfigCommonOptions.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 PDKPipelinePyProjectOptions.Builder watchExcludes​(List<String> watchExcludes)
        Sets the value of CdkConfigCommonOptions.getWatchExcludes()
        Parameters:
        watchExcludes - Glob patterns to exclude from `cdk watch`.
        Returns:
        this
      • watchIncludes

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder watchIncludes​(List<String> watchIncludes)
        Sets the value of CdkConfigCommonOptions.getWatchIncludes()
        Parameters:
        watchIncludes - Glob patterns to include in `cdk watch`.
        Returns:
        this
      • cdkVersion

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder cdkVersion​(String cdkVersion)
        Sets the value of AwsCdkDepsCommonOptions.getCdkVersion()
        Parameters:
        cdkVersion - Minimum version of the AWS CDK to depend on. This parameter is required.
        Returns:
        this
      • cdkAssert

        @Stability(Deprecated)
        @Deprecated
        public PDKPipelinePyProjectOptions.Builder cdkAssert​(Boolean cdkAssert)
        Deprecated.
        The
        Sets the value of AwsCdkDepsCommonOptions.getCdkAssert()
        Parameters:
        cdkAssert - Warning: NodeJS only. Install the @aws-cdk/assert library?
        Returns:
        this
      • cdkAssertions

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder cdkAssertions​(Boolean cdkAssertions)
        Sets the value of AwsCdkDepsCommonOptions.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 PDKPipelinePyProjectOptions.Builder cdkDependencies​(List<String> cdkDependencies)
        Deprecated.
        For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library)
        Sets the value of AwsCdkDepsCommonOptions.getCdkDependencies()
        Parameters:
        cdkDependencies - Which AWS CDKv1 modules this project requires.
        Returns:
        this
      • cdkDependenciesAsDeps

        @Stability(Deprecated)
        @Deprecated
        public PDKPipelinePyProjectOptions.Builder cdkDependenciesAsDeps​(Boolean cdkDependenciesAsDeps)
        Deprecated.
        Not supported in CDK v2.
        Sets the value of AwsCdkDepsCommonOptions.getCdkDependenciesAsDeps()
        Parameters:
        cdkDependenciesAsDeps - If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). 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, cdkDependencies will be added to devDependencies to ensure they are present during development.

        Note: this setting only applies to construct library projects

        Returns:
        this
      • cdkTestDependencies

        @Stability(Deprecated)
        @Deprecated
        public PDKPipelinePyProjectOptions.Builder cdkTestDependencies​(List<String> cdkTestDependencies)
        Deprecated.
        For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) instead
        Sets the value of AwsCdkDepsCommonOptions.getCdkTestDependencies()
        Parameters:
        cdkTestDependencies - AWS CDK modules required for testing.
        Returns:
        this
      • cdkVersionPinning

        @Stability(Experimental)
        public PDKPipelinePyProjectOptions.Builder cdkVersionPinning​(Boolean cdkVersionPinning)
        Sets the value of AwsCdkDepsCommonOptions.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 PDKPipelinePyProjectOptions.Builder constructsVersion​(String constructsVersion)
        Sets the value of AwsCdkDepsCommonOptions.getConstructsVersion()
        Parameters:
        constructsVersion - Minimum version of the `constructs` library to depend on.
        Returns:
        this