# vmm-manager
Script python que gerencia recursos no System Center Virtual Machine Manager (SCVMM), de forma declarativa, com base em um arquivo de configuração YAML.
[![License](https://img.shields.io/github/license/MP-ES/vmm_manager.svg)](LICENSE)
[![Integration](https://github.com/MP-ES/vmm_manager/workflows/Integration/badge.svg)](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3AIntegration)
[![Release](https://github.com/MP-ES/vmm_manager/workflows/Release/badge.svg)](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3ARelease)
[![Python](https://img.shields.io/pypi/pyversions/vmm-manager.svg)](https://pypi.python.org/pypi/vmm-manager)
[![PyPI](http://img.shields.io/pypi/v/vmm-manager.svg)](https://pypi.python.org/pypi/vmm-manager)
## Pré-requisitos
É necessário ter uma máquina Windows, que servirá como ponto de acesso ao SCVMM, com as seguintes ferramentas:
- OpenSSH
- Módulo PowerShell do SCVMM (**virtualmachinemanager**), instalado junto com o Console do Virtual Machine Manager (VMM). Você também pode obtê-lo em <https://github.com/MP-ES/VirtualMachineManager-PowerShellModule>
## Instalação
```shell
pip install -U vmm-manager
```
## Uso
Para consultar as funções e os parâmetros disponíveis, utilize o comando:
```shell
vmm_manager -h
```
### Exemplo de arquivo de inventário
[inventario_exemplo.yaml](inventario_exemplo.yaml)
## Desenvolvimento
### Instalação e configuração do python-poetry
Execute os comandos a seguir:
```shell
# instalar o poetry
curl -sSL https://install.python-poetry.org | python3 -
# Configurar autocomplete
# Bash
poetry completions bash >> ~/.bash_completion
```
### Variáveis de ambiente
Defina as variáveis de ambiente de acordo com as instruções do arquivo **.env.default**. Você pode criar um arquivo **.env** e executar o comando `export $(cat .env | xargs)` para defini-las antes da execução do script.
### Como executar
```shell
# Carregando envs (opcional)
export $(cat .env | xargs)
# Instalando dependências
poetry install --no-root
# Executando script
poetry run python -m vmm_manager -h
```
### Comandos úteis para DEV
```shell
# Habilitar shell
poetry shell
# Incluir uma dependência
poetry add <pacote> [--dev]
# Executar lint
pylint --load-plugins pylint_quotes tests/* vmm_manager/*
# Executar testes
python -m pytest -vv
# listar virtualenvs
poetry env list
# Remover um virtualenv
poetry env remove <nome>
```
## Referências
- [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": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "IaC,scvmm,vmm_manager",
"author": "Estev\u00e3o Costa",
"author_email": "ecosta@mpes.mp.br",
"download_url": "https://files.pythonhosted.org/packages/b4/d9/81946a49603bdb0ed81f88a650fab09052c53add533b0678185d89dab2de/vmm_manager-0.3.3.tar.gz",
"platform": null,
"description": "# vmm-manager\n\nScript python que gerencia recursos no System Center Virtual Machine Manager (SCVMM), de forma declarativa, com base em um arquivo de configura\u00e7\u00e3o YAML.\n\n[![License](https://img.shields.io/github/license/MP-ES/vmm_manager.svg)](LICENSE)\n[![Integration](https://github.com/MP-ES/vmm_manager/workflows/Integration/badge.svg)](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3AIntegration)\n[![Release](https://github.com/MP-ES/vmm_manager/workflows/Release/badge.svg)](https://github.com/MP-ES/vmm_manager/actions?query=workflow%3ARelease)\n[![Python](https://img.shields.io/pypi/pyversions/vmm-manager.svg)](https://pypi.python.org/pypi/vmm-manager)\n[![PyPI](http://img.shields.io/pypi/v/vmm-manager.svg)](https://pypi.python.org/pypi/vmm-manager)\n\n## Pr\u00e9-requisitos\n\n\u00c9 necess\u00e1rio ter uma m\u00e1quina Windows, que servir\u00e1 como ponto de acesso ao SCVMM, com as seguintes ferramentas:\n\n- OpenSSH\n- M\u00f3dulo PowerShell do SCVMM (**virtualmachinemanager**), instalado junto com o Console do Virtual Machine Manager (VMM). Voc\u00ea tamb\u00e9m pode obt\u00ea-lo em <https://github.com/MP-ES/VirtualMachineManager-PowerShellModule>\n\n## Instala\u00e7\u00e3o\n\n```shell\npip install -U vmm-manager\n```\n\n## Uso\n\nPara consultar as fun\u00e7\u00f5es e os par\u00e2metros dispon\u00edveis, utilize o comando:\n\n```shell\nvmm_manager -h\n```\n\n### Exemplo de arquivo de invent\u00e1rio\n\n[inventario_exemplo.yaml](inventario_exemplo.yaml)\n\n## Desenvolvimento\n\n### Instala\u00e7\u00e3o e configura\u00e7\u00e3o do python-poetry\n\nExecute os comandos a seguir:\n\n```shell\n# instalar o poetry\ncurl -sSL https://install.python-poetry.org | python3 -\n\n# Configurar autocomplete\n# Bash\npoetry completions bash >> ~/.bash_completion\n```\n\n### Vari\u00e1veis de ambiente\n\nDefina as vari\u00e1veis de ambiente de acordo com as instru\u00e7\u00f5es do arquivo **.env.default**. Voc\u00ea pode criar um arquivo **.env** e executar o comando `export $(cat .env | xargs)` para defini-las antes da execu\u00e7\u00e3o do script.\n\n### Como executar\n\n```shell\n# Carregando envs (opcional)\nexport $(cat .env | xargs)\n\n# Instalando depend\u00eancias\npoetry install --no-root\n\n# Executando script\npoetry run python -m vmm_manager -h\n```\n\n### Comandos \u00fateis para DEV\n\n```shell\n# Habilitar shell\npoetry shell\n\n# Incluir uma depend\u00eancia\npoetry add <pacote> [--dev]\n\n# Executar lint\npylint --load-plugins pylint_quotes tests/* vmm_manager/*\n\n# Executar testes\npython -m pytest -vv\n\n# listar virtualenvs\npoetry env list\n\n# Remover um virtualenv\npoetry env remove <nome>\n```\n\n## Refer\u00eancias\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": "0.3.3",
"split_keywords": [
"iac",
"scvmm",
"vmm_manager"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "83c8c14dd6ee453e4756fe4c7bc8e9848bd4a0881c243f1d844ef7ed56971577",
"md5": "0ba8da7857451231d7435d1bdaa1f0e0",
"sha256": "4f04433361b3467ca99c02ed3df21d7a03dd2793c61fb12fa13a89ed33cbd1f5"
},
"downloads": -1,
"filename": "vmm_manager-0.3.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0ba8da7857451231d7435d1bdaa1f0e0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 45008,
"upload_time": "2023-02-08T21:28:33",
"upload_time_iso_8601": "2023-02-08T21:28:33.242329Z",
"url": "https://files.pythonhosted.org/packages/83/c8/c14dd6ee453e4756fe4c7bc8e9848bd4a0881c243f1d844ef7ed56971577/vmm_manager-0.3.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4d981946a49603bdb0ed81f88a650fab09052c53add533b0678185d89dab2de",
"md5": "e0fb907203d7f8e83ecc83a6377ed03b",
"sha256": "dcfc19a6a0f6730113a3fc8ec7addfbb7e8df9ddedc4768b2f3c4ca9178357ab"
},
"downloads": -1,
"filename": "vmm_manager-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "e0fb907203d7f8e83ecc83a6377ed03b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 29159,
"upload_time": "2023-02-08T21:28:34",
"upload_time_iso_8601": "2023-02-08T21:28:34.828816Z",
"url": "https://files.pythonhosted.org/packages/b4/d9/81946a49603bdb0ed81f88a650fab09052c53add533b0678185d89dab2de/vmm_manager-0.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-08 21:28:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "MP-ES",
"github_project": "vmm_manager",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "vmm-manager"
}