예제 #1
0
def check_api(message):
    logger.info("command check api", extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
    if state.check_admins_id(message.from_user.id):
        answer = opstack.check_api()
        send_large_msg(message.chat.id, "".join(answer))
    else:
        bot.send_message(message.chat.id, "Access denied, if you need access /access")
        logger.warning(f"Access denied {message.from_user.id}",
                       extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
예제 #2
0
def cmd_server(message):
    logger.info("command server action", extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
    if state.check_admins_id(message.from_user.id):  # Check access
        st = state.get_state(message.from_user.id)
        if st == config.States.S_start.value or st not in locals():
            bot.send_message(message.chat.id, "Send me server ID")
            state.set_state(message.from_user.id, config.States.S_server.value)
        elif not st == config.States.S_start.value:
            bot.send_message(message.chat.id, "Complete previous action or reset active command /cancel")
        else:
            logger.error("error in cmd_server")
    else:
        bot.send_message(message.chat.id, "Access denied, if you need access /access")
        logger.warning(f"Access denied {message.from_user.id}",
                       extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
예제 #3
0
def cmd_hard_reboot_vm(message):
    logger.info("command reboot server", extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
    if state.check_admins_id(message.from_user.id):  # Check access
        st = state.get_state(message.from_user.id)
        if st == config.States.S_start.value or st is False:
            bot.send_message(message.chat.id, "Ok, i do it, give my server ID")
            state.set_state(message.from_user.id, config.States.S_server_retart.value)
        elif not st == config.States.S_start.value:
            bot.send_message(message.chat.id, "Complete previous action or reset active command /cancel")
        else:
            logger.error("error in cmd_show_vm")
    else:
        bot.send_message(message.chat.id, "Access denied, if you need access /access")
        logger.warning(f"Access denied {message.from_user.id}",
                       extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
예제 #4
0
def cmd_live_migrate(message):
    if state.check_admins_id(message.from_user.id): # Check access
        logger.info("command live migrate", extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
        st = state.get_state(message.from_user.id)
        if st == config.States.S_start.value or st is False:
            bot.send_message(message.chat.id, "Ok, i show it, give my ID VM")
            state.set_state(message.from_user.id, config.States.S_live_migrate.value)
        elif not st == config.States.S_start.value:
            bot.send_message(message.chat.id, "Complete previous action or reset active command /cancel")
        else:
            logger.error("error in cmd_live_migrate")
    else:
        bot.send_message(message.chat.id, "Access denied, if you need access /access")
        logger.warning(f"Access denied {message.from_user.id}",
                       extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
예제 #5
0
def get_id(message):
    logger.info("command create flavor", extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
    if state.check_admins_id(message.from_user.id):
        st = state.get_state(message.from_user.id)
        if st == config.States.S_start.value or st is False:
            send_large_msg(message.chat.id, f"get info about flavor, for exemple: i43,2,16")
            state.set_state(message.from_user.id, config.States.S_flavor_create.value)
        elif not st == config.States.S_start.value:
            bot.send_message(message.chat.id, "Complete previous action or reset active state /cancel")
        else:
            logger.error("error in get_id")
    else:
        bot.send_message(message.chat.id, "Access denied, if you need access /access")
        logger.warning(f"Access denied {message.from_user.id}",
                       extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
예제 #6
0
def get_id(message):
    logger.info("command show tenant id", extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
    if state.check_admins_id(message.from_user.id):
        st = state.get_state(message.from_user.id)
        if st == config.States.S_start.value or st is False:
            bot.send_message(message.chat.id, "Ok, send my `tenant/project name`", parse_mode="Markdown")
            state.set_state(message.from_user.id, config.States.S_get_tenant_id.value)
        elif not st == config.States.S_start.value:
            bot.send_message(message.chat.id, "Complete previous action or reset active state /cancel")
        else:
            logger.error("error in get_id")
    else:
        bot.send_message(message.chat.id, "Access denied, if you need access /access")
        logger.warning(f"Access denied {message.from_user.id}",
                       extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
예제 #7
0
def host_list(message):
    if state.check_admins_id(message.from_user.id):
        logger.info("command host list", extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})
        keyboard = types.InlineKeyboardMarkup(row_width=3)
        callback_button1 = types.InlineKeyboardButton(text="i01", callback_data=f"i01_host {message.from_user.id}")
        callback_button2 = types.InlineKeyboardButton(text="i02", callback_data=f"i02_host {message.from_user.id}")
        callback_button3 = types.InlineKeyboardButton(text="i03", callback_data=f"i03_host {message.from_user.id}")
        callback_button4 = types.InlineKeyboardButton(text="i04", callback_data=f"i04_host {message.from_user.id}")
        callback_button5 = types.InlineKeyboardButton(text="i05", callback_data=f"i05_host {message.from_user.id}")
        callback_button6 = types.InlineKeyboardButton(text="i06", callback_data=f"i06_host {message.from_user.id}")
        keyboard.add(callback_button1, callback_button2, callback_button3, callback_button4, callback_button5,
                     callback_button6)
        bot.send_message(message.chat.id, "choose action:", reply_markup=keyboard)
        state.set_state(message.from_user.id, config.States.S_start.value)
        logger.info("response keybord action server")
    else:
        bot.send_message(message.chat.id, "Access denied, if you need access /access")
        logger.warning(f"Access denied {message.from_user.id}",
                       extra={'bot': {'chat_id': message.chat.id, 'user_id': message.from_user.id}})