Bonjour à tous, Je me connect à l'API comme ceci : client = connection.Connection( project_id=creddict["project_id"], cloud=creddict["cloud"], region=creddict["region"], ak=creddict["access_key"], sk=creddict["secret_key"] ) Ensuite je fait un call à : Result = client.network.security_groups() Et la structure que je reçois est un générateur dont chaque éléments de ce type : For i in Result : Print(Result) L'affichage est le suivant : openstack.network.v2.security_group.SecurityGroup(id=XXX, name=SG_TEST, description=created on 2019/06/03 13:08:37.195 +0000, tenant_id=YYYY, security_group_rules=[{'id': ZZZZ', 'direction': 'ingress', 'protocol': 'tcp', 'ethertype': 'IPv4', 'description': '', 'remote_group_id': None, 'remote_ip_prefix': '0.0.0.0/0', 'tenant_id': 'TTTTT', 'port_range_max': 666, 'port_range_min': 666, 'security_group_id': GGGG', 'remote_address_group_id': None}, {'id': FFFFF', 'direction': 'egress', 'protocol': None, 'ethertype': 'IPv6', 'description': None, 'remote_group_id': None, 'remote_ip_prefix': None, 'tenant_id': 'AAAA', 'port_range_max': None, 'port_range_min': None, 'security_group_id': CCCCC', 'remote_address_group_id': None}, {'id': 'SSSSS', 'direction': 'egress', 'protocol': None, 'ethertype': 'IPv4', 'description': None, 'remote_group_id': None, 'remote_ip_prefix': None, 'tenant_id': 'LLLLL', 'port_range_max': None, 'port_range_min': None, 'security_group_id': 'FFFFFF', 'remote_address_group_id': None}], created_at=2019-06-03T13:08:38, updated_at=2019-06-03T13:08:38) Si je veux l'une des informations que je vois dans ce print, je suis « obligé » de fait le call par exemple : Result.description pour obtenir la description. Je voudrais en fait récupérer tout ce qu'il se trouve entre les parenthèses afin d'alimenter une liste. J'arrive pas à voir quelle astuce python me permettrait de faire ça, ni si j'utilise la bonne classe afin d'obtenir sous forme de liste les informations que je vois que je touche du doigt mais qui se trouve entre les parenthèses de openstack.network.v2.security_group.SecurityGroup Merci d'avance, Cordialement / Best Regards, Guillaume COMTE 3DEXPERIENCEforAll Office: +33 1 6162 5251 guillaume.comte@3ds.com<mailto:Guillaume.COMTE@3ds.com> [3DS Logo] 3DS.COM<http://www.3ds.com> Dassault Systèmes SE | 10, Rue Marcel Dassault, Paris Campus | 78140 Vélizy-Villacoublay | France Cordialement / Best Regards, Guillaume COMTE 3DEXPERIENCEforAll Office: +33 1 6162 5251 guillaume.comte@3ds.com<mailto:Guillaume.COMTE@3ds.com> [3DS Logo] 3DS.COM<http://www.3ds.com> Dassault Systèmes SE | 10, Rue Marcel Dassault, Paris Campus | 78140 Vélizy-Villacoublay | France This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer at 3DS.compliance-privacy@3ds.com<mailto:3DS.compliance-privacy@3ds.com> For other languages, go to https://www.3ds.com/terms/email-disclaimer