FIX: cloud getVM()
This commit is contained in:
		
							parent
							
								
									3f8b1fadd3
								
							
						
					
					
						commit
						0dbbae7260
					
				
							
								
								
									
										27
									
								
								app.py
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								app.py
									
									
									
									
									
								
							@ -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()))
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								cloud.py
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								cloud.py
									
									
									
									
									
								
							@ -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
 | 
				
			||||||
 | 
				
			|||||||
@ -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
									
								
							
							
						
						
									
										8
									
								
								config.yaml-example
									
									
									
									
									
										Normal 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"
 | 
				
			||||||
@ -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
 | 
				
			||||||
Конфигурационный файл с описанием глобальных переменных.
 | 
					Конфигурационный файл с описанием глобальных переменных.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user