Как я могу отправить несколько запросов API PUT с функцией? - PullRequest
0 голосов
/ 23 октября 2019

Я ищу POST через API с функцией, чтобы я мог делать это столько раз, сколько необходимо. Это задача автоматизации.

До сих пор я пытался поместить сценарий, который уже работает, в функцию. Затем у меня есть аргументы, которые моя функция будет принимать и применять к сценарию из списка списков.

def mass_group_create(name, lower, upper):
    asset_api = rapid7vmconsole.AssetGroupApi(client)
    asset_group = rapid7vmconsole.AssetGroup(name=name, type='dynamic', description='Newly Created Asset Group', vulnerabilities='unknown', search_criteria={
        "filters":
            [{"field": "ip-address",
           "operator": "in-range",
           "lower": lower,
           "upper": upper},
             {"operator": "starts-with",
              "field": "custom-tag",
           "value": "CVE"},
           {"field": "custom-tag",
           "operator": "is-not",
           "value": "honeypot"}],
       "match": "all"},)
    created_group = asset_api.create_asset_group(asset_group=asset_group)
    print(created_group)


loc = (file)

wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
my_list = []
for row in range(1,sheet.nrows):
    my_list.append(sheet.row_values(row))
for i in my_list:
    mass_group_create(*i)

Что происходит, я получаю AttributeError: у объекта 'Configuration' нет атрибута 'auth settings'. Для справки 'auth_settings' настроен и настроен правильно. Если я запускаю этот же сценарий вне функции со всем заполненным, он работает хорошо, и я получаю успешный POST. Даже если я вручную введу аргументы вместо того, чтобы они передавались из my_list, он все равно выдаст ошибку аутентификации. Спасибо всем за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...