# vmm-manager
Python script that manages resources in the System Center Virtual Machine Manager (SCVMM), in a declarative way, based on a YAML configuration file.
[](LICENSE)
[](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3AIntegration)
[](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3ARelease)
[](https://pypi.python.org/pypi/vmm-manager)
[](https://pypi.python.org/pypi/vmm-manager)
## Breaking changes
### 1.0.0
- The inventory file schema has completely changed. See the [**inventory_example.yaml**](inventory_example.yaml) file for more details.
- The command parameters were renamed to be more consistent.
- The API and inventory schema are now stable.
## Prerequisites
You need a Windows machine, which will serve as the access point to SCVMM, with the following tools:
- OpenSSH
- SCVMM's PowerShell Module (**virtualmachinemanager**), installed with the Virtual Machine Manager (VMM) Console. You can also get it at <https://github.com/MP-ES/VirtualMachineManager-PowerShellModule>
## Installation
```shell
pip install -U vmm-manager
```
## How to use
Use the command below to see the available options:
```shell
vmm_manager -h
```
### Environment variables
You can set environment variables to avoid passing the same parameters every time you run the script. See an example in the [**.env.default**](.env.default) file.
### Example of a inventory file
[inventory_example.yaml](inventory_example.yaml)
## Development
### Install Poetry
Run the following commands to install Poetry:
```shell
# install
curl -sSL https://install.python-poetry.org | python3 -
# auto-completion
# Bash
poetry completions bash >> ~/.bash_completion
```
### Environment variables (optional)
Use the **.env.default** file as a template to create a **.env** file with the environment variables needed to run the script. You can load them by running the command `export $(cat .env | xargs)` before executing the script.
### How to run
```shell
# Loading environment variables (optional)
export $(cat .env | xargs)
# Install dependencies
poetry install --no-root
# Run
poetry run python -m vmm_manager -h
```
### Helpful commands
```shell
# Add a dependency
poetry add <pacote> [--dev]
# Update dependencies
poetry update
# Run linting
poetry run ./lint.sh
# Fix dependencies sorting
poetry run isort .
# Run tests
poetry run python -m pytest -vv
# List virtualenvs
poetry env list
# Remove a virtualenv
poetry env remove <name>
```
## References
- [Virtual Machine Manager](https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/?view=systemcenter-ps-2019)
- [Poetry](https://python-poetry.org/)
Raw data
{
"_id": null,
"home_page": "https://github.com/MP-ES/vmm_manager",
"name": "vmm_manager",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "IaC, scvmm, vmm_manager",
"author": "Estev\u00e3o Costa",
"author_email": "ecosta@mpes.mp.br",
"download_url": "https://files.pythonhosted.org/packages/da/4d/be790f6677f650dcf9bbbec9840b470eea971584ecd8a9387fbab1b6c6e8/vmm_manager-1.2.0.tar.gz",
"platform": null,
"description": "# vmm-manager\n\nPython script that manages resources in the System Center Virtual Machine Manager (SCVMM), in a declarative way, based on a YAML configuration file.\n\n[](LICENSE)\n[](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3AIntegration)\n[](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3ARelease)\n[](https://pypi.python.org/pypi/vmm-manager)\n[](https://pypi.python.org/pypi/vmm-manager)\n\n## Breaking changes\n\n### 1.0.0\n\n- The inventory file schema has completely changed. See the [**inventory_example.yaml**](inventory_example.yaml) file for more details.\n- The command parameters were renamed to be more consistent.\n- The API and inventory schema are now stable.\n\n## Prerequisites\n\nYou need a Windows machine, which will serve as the access point to SCVMM, with the following tools:\n\n- OpenSSH\n- SCVMM's PowerShell Module (**virtualmachinemanager**), installed with the Virtual Machine Manager (VMM) Console. You can also get it at <https://github.com/MP-ES/VirtualMachineManager-PowerShellModule>\n\n## Installation\n\n```shell\npip install -U vmm-manager\n```\n\n## How to use\n\nUse the command below to see the available options:\n\n```shell\nvmm_manager -h\n```\n\n### Environment variables\n\nYou can set environment variables to avoid passing the same parameters every time you run the script. See an example in the [**.env.default**](.env.default) file.\n\n### Example of a inventory file\n\n[inventory_example.yaml](inventory_example.yaml)\n\n## Development\n\n### Install Poetry\n\nRun the following commands to install Poetry:\n\n```shell\n# install\ncurl -sSL https://install.python-poetry.org | python3 -\n\n# auto-completion\n# Bash\npoetry completions bash >> ~/.bash_completion\n```\n\n### Environment variables (optional)\n\nUse the **.env.default** file as a template to create a **.env** file with the environment variables needed to run the script. You can load them by running the command `export $(cat .env | xargs)` before executing the script.\n\n### How to run\n\n```shell\n# Loading environment variables (optional)\nexport $(cat .env | xargs)\n\n# Install dependencies\npoetry install --no-root\n\n# Run\npoetry run python -m vmm_manager -h\n```\n\n### Helpful commands\n\n```shell\n# Add a dependency\npoetry add <pacote> [--dev]\n\n# Update dependencies\npoetry update\n\n# Run linting\npoetry run ./lint.sh\n\n# Fix dependencies sorting\npoetry run isort .\n\n# Run tests\npoetry run python -m pytest -vv\n\n# List virtualenvs\npoetry env list\n\n# Remove a virtualenv\npoetry env remove <name>\n```\n\n## References\n\n- [Virtual Machine Manager](https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/?view=systemcenter-ps-2019)\n- [Poetry](https://python-poetry.org/)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Management of resources on System Center Virtual Machine Manager (SCVMM) in a declarative way.",
"version": "1.2.0",
"project_urls": {
"Documentation": "https://github.com/MP-ES/vmm_manager",
"Homepage": "https://github.com/MP-ES/vmm_manager",
"Repository": "https://github.com/MP-ES/vmm_manager"
},
"split_keywords": [
"iac",
" scvmm",
" vmm_manager"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "80b37c489f9b9dc3e7ef331fe65b0bddc6645821bbeff55b805227c5b4ea4cd7",
"md5": "cf2df66b2bbc76fc7542bebbbc8a5360",
"sha256": "f6bcc81c7a32f48dedf63936986f2c9e956fef93fe8abf581a4fb29ce6783a2d"
},
"downloads": -1,
"filename": "vmm_manager-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cf2df66b2bbc76fc7542bebbbc8a5360",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 45473,
"upload_time": "2025-02-07T23:02:13",
"upload_time_iso_8601": "2025-02-07T23:02:13.768412Z",
"url": "https://files.pythonhosted.org/packages/80/b3/7c489f9b9dc3e7ef331fe65b0bddc6645821bbeff55b805227c5b4ea4cd7/vmm_manager-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "da4dbe790f6677f650dcf9bbbec9840b470eea971584ecd8a9387fbab1b6c6e8",
"md5": "7127ebab27c685e1e1a7fbac1b074802",
"sha256": "bc41cabd734e37c98c9cea3ea3ed31f6d4b6212602ad911812bc9d8fb71082de"
},
"downloads": -1,
"filename": "vmm_manager-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "7127ebab27c685e1e1a7fbac1b074802",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 28223,
"upload_time": "2025-02-07T23:02:14",
"upload_time_iso_8601": "2025-02-07T23:02:14.750681Z",
"url": "https://files.pythonhosted.org/packages/da/4d/be790f6677f650dcf9bbbec9840b470eea971584ecd8a9387fbab1b6c6e8/vmm_manager-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-07 23:02:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MP-ES",
"github_project": "vmm_manager",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "vmm_manager"
}