Python Pulumi: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 42: Line 42:
==<tt>__main__.py</tt>==
==<tt>__main__.py</tt>==
<code>__main__.py</code> is the Pulumi Python [[Pulumi_Concepts#Program|program]] that defines the stack resources.
<code>__main__.py</code> is the Pulumi Python [[Pulumi_Concepts#Program|program]] that defines the stack resources.
=AWS=
* [[Python Pulumi AWS SSM Parameter|SSM Parameter]]

Revision as of 21:41, 11 January 2022

External

Internal

Pulumi Python SDK

https://www.pulumi.com/docs/reference/pkg/python/pulumi/

The SDK is available as a pip package.

Python Pulumi and Virtual Environments

A new Python project created with pulumi new will have a virtual environment created in a venv directory with required dependencies from requirements.txt installed in it. This behavior is controlled by the virtualenv runtime option in Pulumi.yaml:

runtime:
  name: python
  options:
    virtualenv: venv

virtualenv is the path, relative to the project directory, to the virtual environment to use.

Pulumi Python Packges

https://www.pulumi.com/docs/reference/pkg/

Adding a New Dependency

To install a new dependency in the virtual environment, add the entry to requirements.txt and run in the project directory:

venv/bin/pip install -r requirements.txt

Project Layout

 my-project
  │
  ├─ README.md
  ├─ Pulumi.yaml
  ├─ Pulumi.my-stack.yaml
  ├─ __main__.py
  ├─ requirements.txt
  └─ venv
      ├─ bin
      │   ├─ pip
      │   └─ python
      ├─ include
      ├─ lib
      └─ pyvenv.cfg

Also see Pulumi Concepts | Project Layout.

__main__.py

__main__.py is the Pulumi Python program that defines the stack resources.

AWS