Как сохранить идентификатор организационной единицы aws и идентификатор политики scp в переменной в python? - PullRequest
0 голосов
/ 24 октября 2018

Я работаю над организацией AWS: я создал подразделения организаций (OU) и политики с помощью скрипта Python отдельно ... Теперь я хочу прикрепить созданные политики к OU.

   response = client.attach_policy(
         PolicyId=policyID,
         TargetId=OUID
   )

Я могу получитьсписок политик и подразделений, которые имеют идентификатор организационной единицы и идентификатор политики

Я попытался, как показано ниже, сохранить значение идентификатора для использования в attach_policy, но получил ошибку:

      OUID=str(OUdetails['OrganizationalUnits']['Id'])
      policyID=str(listpolicy['Policies']['Id'])

пример идентификатора {'Id': 'ou-uwjh-radcf5d4'}

ошибка:

       OUID=str(OUdetails['OrganizationalUnits']['Id'])
       TypeError: list indices must be integers or slices, not str

       OUID=int(OUdetails['OrganizationalUnits']['Id'])
       TypeError: list indices must be integers or slices, not str

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Спасибо за вашу помощь. Теперь я могу сохранить оба значения в переменной:

                OUdetails = client.list_organizational_units_for_parent(
                      ParentId='', 
                     # NextToken='string',
                     # MaxResults=123 
                   )
                print(OUdetails)

                 for key in OUdetails ['OrganizationalUnits']:
                   ouid=key['Id']
                   print("\033[92m"+"OrganizationUnit's ID"+"\033[0m",ouid)
0 голосов
/ 25 октября 2018

Похоже, что OUID сохраняется как список, а не словарь.Поэтому, когда вы пытаетесь получить доступ к OUdetails позже, к Python вы пытаетесь извлечь элемент из списка, а не из словаря.

Попробуйте напечатать переменную OUdetails и посмотрите, отображается ли она в виде списка или словаря.

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