First Commit
This commit is contained in:
33
config/settings.py
Normal file
33
config/settings.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import os
|
||||
from datetime import datetime, timedelta
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# 加载.env文件
|
||||
load_dotenv()
|
||||
|
||||
# ========== 基础配置 ==========
|
||||
# vCenter配置
|
||||
VCENTER_HOSTS = os.getenv('VCENTER_HOSTS', '').split(',')
|
||||
VCENTER_USER = os.getenv('VCENTER_USER', '')
|
||||
VCENTER_PASSWORD = os.getenv('VCENTER_PASSWORD', '')
|
||||
|
||||
# 快照策略配置
|
||||
SNAPSHOT_RETENTION_DAYS = int(os.getenv('SNAPSHOT_RETENTION_DAYS', 15))
|
||||
MAX_DELETE_CONCURRENT = int(os.getenv('MAX_DELETE_CONCURRENT', 4))
|
||||
|
||||
# 输出路径配置
|
||||
EXCEL_OUTPUT_PATH = os.getenv('EXCEL_OUTPUT_PATH', '/tmp/vm_snapshots_report.xlsx')
|
||||
LOG_FILE_PATH = os.getenv('LOG_FILE_PATH', '/var/log/vm_snapshot_cleanup.log')
|
||||
|
||||
# 计算快照过期时间(全局变量)
|
||||
EXPIRE_DATE = datetime.now() - timedelta(days=SNAPSHOT_RETENTION_DAYS)
|
||||
|
||||
# 验证必要配置
|
||||
def validate_config():
|
||||
"""验证配置是否完整"""
|
||||
required = [
|
||||
VCENTER_HOSTS, VCENTER_USER, VCENTER_PASSWORD,
|
||||
SNAPSHOT_RETENTION_DAYS, MAX_DELETE_CONCURRENT
|
||||
]
|
||||
if not all(required) or '' in VCENTER_HOSTS:
|
||||
raise ValueError("配置不完整,请检查.env文件中的vCenter信息和策略配置")
|
||||
Reference in New Issue
Block a user