FIX: cloud getVM()

This commit is contained in:
Сергей Филимонов 2025-02-06 10:26:54 +07:00
parent 3f8b1fadd3
commit 0dbbae7260
5 changed files with 29 additions and 29 deletions

27
app.py
View File

@ -1,16 +1,17 @@
import yaml import yaml
#import cloud import cloud
y = yaml.safe_load(open("config.yaml", "r"))
print(dict(y[0]).keys())
for config in y:
print(config["SITE"])
# c = cloud.cloud(config.API_TOKEN)
# print(c.getVMList())
# Загрузка конфигурации из файла config.yaml
for config in yaml.safe_load(open("config.yaml", "r")):
# Создание объекта cloud с параметрами из конфигурации
c = cloud.cloud(
config['API_TOKEN'],
config['API_VERSION'],
config['SITE'],
config['TENANT'])
# Получение списка виртуальных машин
for vm in c.getVMList():
sep = ";"
# Вывод информации о виртуальных машинах в формате "name;OS;ipAddress;status"
print(sep.join(vm.values()))

View File

@ -2,13 +2,13 @@ import requests
import xml.dom.minidom import xml.dom.minidom
class cloud: class cloud:
def __init__(self, API_KEY: str, API_VERSION: str, SITE: str, TENANT: str): def __init__(self, API_TOKEN: str, API_VERSION: str, SITE: str, TENANT: str):
''' '''
Запрос списка машин с перечнем атрибутов: Имя, ОС, IP-адрес, Состояние Запрос списка машин с перечнем атрибутов: Имя, ОС, IP-адрес, Состояние
На входе нужен Access Token получить который можно при помощи функции getAccessToken(API Token) На входе нужен Access Token получить который можно при помощи функции getAccessToken(API Token)
''' '''
self.API_KEY = API_KEY self.API_TOKEN = API_TOKEN
self.API_VERSION = API_VERSION self.API_VERSION = API_VERSION
self.SITE = SITE self.SITE = SITE
self.TENANT = TENANT self.TENANT = TENANT

View File

@ -1,9 +0,0 @@
API_TOKEN = "YOU TOKEN"
API_VERSION = "38.1"
SITE = "SITE NAME"
TENANT = "TENANT NAME"
AD_SERVER = "x.x.x.x"
AD_USERNAME = "UserLogin@domain.name"
AD_PASSWORD = "VeeeeryStrongPassword"
AD_BASE_DN = "OU=Super,OU=Users,dc=consto,dc=com"

8
config.yaml-example Normal file
View File

@ -0,0 +1,8 @@
- API_TOKEN: "new_token_value_1"
API_VERSION: "new_version_value_1"
SITE: "new_site_value_1"
TENANT: "new_tenant_value_1"
- API_TOKEN: "new_token_value_2"
API_VERSION: "new_version_value_2"
SITE: "new_site_value_2"
TENANT: "new_tenant_value_2"

View File

@ -2,10 +2,10 @@
Набор инструментов дял получения данных из cloud.ru Набор инструментов дял получения данных из cloud.ru
## Что нужно для запуска ## Что нужно для запуска
1. Установить библиотеку ldap3 1. Установить библиотеку ldap3 (опционально)
2. Для запуска необхдоимо получить API-токен на cloud.ru (инструкция находится в pdf-файле) 2. Для запуска необхдоимо получить API-токен на cloud.ru (инструкция находится в pdf-файле)
3. Переименовать файл config.py-example в config.py 3. Переименовать файл config.yaml-example в config.yaml
4. Заполнить содержимое config.py актуальными данными. 4. Заполнить содержимое config.yaml актуальными данными.
## Структура ## Структура
@ -18,5 +18,5 @@
#### ./cloudad.py #### ./cloudad.py
Описание класса для взаимодействия с ActiveDirectory Описание класса для взаимодействия с ActiveDirectory
#### ./config.py #### ./config.yaml
Конфигурационный файл с описанием глобальных переменных. Конфигурационный файл с описанием глобальных переменных.