<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>Bonjour Guillaume,<br>
tu souhaites donc caster ton objet de type SecurityGroup vers
un dictionnaire python.</p>
<p>Tu dois pouvoir utiliser quelque chose comme cela (attention, non
testé) : <br>
</p>
<pre>liste = []
for i in results:
liste.append(vars(i))
</pre>
<p>Ou bien sa forme contracté :</p>
<pre>liste = [ vars(i) for i in results ]
</pre>
<p>Bonne journée,<br>
Tristan<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">Le 06/10/2020 à 17:38, COMTE Guillaume
a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:42addb29b64043b7816c682e1ae8d531@3ds.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span lang="FR">Bonjour à tous,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">Je me connect à l’API comme
ceci :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"> </span>client =
connection.Connection(<o:p></o:p></p>
<p class="MsoNormal">
project_id=creddict["project_id"],<o:p></o:p></p>
<p class="MsoNormal"> cloud=creddict[“cloud”],<o:p></o:p></p>
<p class="MsoNormal"> region=creddict["region"],<o:p></o:p></p>
<p class="MsoNormal"> ak=creddict["access_key"],<o:p></o:p></p>
<p class="MsoNormal"> sk=creddict["secret_key"]<o:p></o:p></p>
<p class="MsoNormal"> <span lang="FR">)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">Ensuite je fait un call à :
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal">Result = client.network.security_groups()<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="FR">Et la structure que je
reçois est un générateur dont chaque éléments de ce type :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal">For i in Result :<o:p></o:p></p>
<p class="MsoNormal"> Print(Result)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="FR">L’affichage est le
suivant :<o:p></o:p></span></p>
<p class="MsoNormal">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)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="FR">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.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">Je voudrais en fait
récupérer tout ce qu’il se trouve entre les parenthèses afin
d’alimenter une liste.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">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<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">Merci d’avance,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"
lang="FR">Cordialement / Best Regards,
</span></i><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif" lang="FR"><o:p></o:p></span></p>
<table class="MsoNormalTable" style="width:555.0pt" width="0"
cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr style="height:7.2pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:7.2pt"><br>
</td>
</tr>
<tr>
<td colspan="4" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">Guillaume
COMTE
<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td colspan="4" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">3DEXPERIENCEforAll<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:3.75pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:3.75pt"><br>
</td>
</tr>
<tr>
<td colspan="4" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif"><img
style="width:7.7083in;height:.0166in"
id="_x0000_i1025"
src="cid:part1.57622775.3B145E40@cnrs.fr" class=""
width="740" height="2"><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:3.75pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:3.75pt"><br>
</td>
</tr>
<tr>
<td style="width:230.25pt;padding:0cm 0cm 0cm 0cm"
width="307">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">Office:
+33 1 6162 5251<br>
<a href="mailto:Guillaume.COMTE@3ds.com"
moz-do-not-send="true"><span style="color:black">guillaume.comte@3ds.com</span></a><o:p></o:p></span></p>
</td>
<td rowspan="2" style="width:33.75pt;padding:0cm 0cm 0cm
0cm" width="45"><br>
</td>
<td rowspan="2" style="width:257.25pt;padding:0cm 0cm 0cm
0cm" width="343" valign="top">
<p class="MsoNormal"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif"><img
style="width:3.575in;height:.425in"
id="_x0000_i1026"
src="cid:part3.08182238.67E6BA5D@cnrs.fr" alt="3DS
Logo" class="" width="343" height="41" border="0"><o:p></o:p></span></p>
</td>
<td rowspan="2" style="width:33.75pt;padding:0cm 0cm 0cm
0cm" width="45"><br>
</td>
</tr>
<tr style="height:15.75pt">
<td style="width:230.25pt;padding:3.75pt 0cm 0cm
0cm;height:15.75pt" width="307">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"><a
href="http://www.3ds.com" target="_blank"
moz-do-not-send="true"><b><span
style="color:#005386;text-decoration:none">3DS.COM</span></b></a><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:6.0pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:6.0pt"><br>
</td>
</tr>
<tr style="height:12.0pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:12.0pt" valign="top">
<p class="MsoNormal"><i><span
style="font-size:7.0pt;font-family:"Arial",sans-serif;color:#005386"
lang="FR">Dassault Systèmes SE</span></i><span
style="font-size:7.0pt;font-family:"Arial",sans-serif;color:#005386"
lang="FR"> |
<i>10, Rue Marcel Dassault, Paris Campus</i> | <i>78140
Vélizy-Villacoublay</i> |
<i>France</i></span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif" lang="FR"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">Cordialement
/ Best Regards,
</span></i><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif"><o:p></o:p></span></p>
<table class="MsoNormalTable" style="width:555.0pt" width="0"
cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr style="height:7.2pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:7.2pt"><br>
</td>
</tr>
<tr>
<td colspan="4" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">Guillaume
COMTE
<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td colspan="4" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">3DEXPERIENCEforAll<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:3.75pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:3.75pt"><br>
</td>
</tr>
<tr>
<td colspan="4" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif"><img
style="width:7.7083in;height:.025in"
id="_x0000_i1028"
src="cid:part5.42ABEFD7.39ABDCD7@cnrs.fr" class=""
width="740" height="2" border="0"></span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif"><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:3.75pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:3.75pt"><br>
</td>
</tr>
<tr>
<td style="width:230.25pt;padding:0cm 0cm 0cm 0cm"
width="307">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">Office:
+33 1 6162 5251<br>
<a href="mailto:Guillaume.COMTE@3ds.com"
moz-do-not-send="true"><span style="color:black">guillaume.comte@3ds.com</span></a><o:p></o:p></span></p>
</td>
<td rowspan="2" style="width:33.75pt;padding:0cm 0cm 0cm
0cm" width="45"><br>
</td>
<td rowspan="2" style="width:257.25pt;padding:0cm 0cm 0cm
0cm" width="343" valign="top">
<p class="MsoNormal"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif"><img
style="width:3.575in;height:.425in"
id="_x0000_i1027"
src="cid:part3.08182238.67E6BA5D@cnrs.fr" alt="3DS
Logo" class="" width="343" height="41" border="0"></span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif"><o:p></o:p></span></p>
</td>
<td rowspan="2" style="width:33.75pt;padding:0cm 0cm 0cm
0cm" width="45"><br>
</td>
</tr>
<tr style="height:15.75pt">
<td style="width:230.25pt;padding:3.75pt 0cm 0cm
0cm;height:15.75pt" width="307">
<p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"><a
href="http://www.3ds.com" target="_blank"
moz-do-not-send="true"><b><span
style="color:#005386;text-decoration:none">3DS.COM</span></b></a><o:p></o:p></span></p>
</td>
</tr>
<tr style="height:6.0pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:6.0pt"><br>
</td>
</tr>
<tr style="height:12.0pt">
<td colspan="4" style="padding:0cm 0cm 0cm
0cm;height:12.0pt" valign="top">
<p class="MsoNormal"><i><span
style="font-size:7.0pt;font-family:"Arial",sans-serif;color:#005386"
lang="FR">Dassault Systèmes SE</span></i><span
style="font-size:7.0pt;font-family:"Arial",sans-serif;color:#005386"
lang="FR"> |
<i>10, Rue Marcel Dassault, Paris Campus</i> | <i>78140
Vélizy-Villacoublay</i> |
<i>France</i></span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif" lang="FR"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<p style="FONT-SIZE: 9pt; MARGIN: 0px 0px 0px 35.4pt; COLOR:
#9d9d9d; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica,
sans-serif">
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.</p>
<p style="FONT-SIZE: 9pt; MARGIN: 0px 0px 0px 35.4pt; COLOR:
#9d9d9d; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica,
sans-serif">
If you are not one of the named recipients or have received this
email in error, </p>
<p style="FONT-SIZE: 9pt; MARGIN: 0px 0px 0px 35.4pt; COLOR:
#9d9d9d; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica,
sans-serif">
(i) you should not read, disclose, or copy it,</p>
<p style="FONT-SIZE: 9pt; MARGIN: 0px 0px 0px 35.4pt; COLOR:
#9d9d9d; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica,
sans-serif">
(ii) please notify sender of your receipt by reply email and
delete this email and all attachments,</p>
<p style="FONT-SIZE: 9pt; MARGIN: 0px 0px 0px 35.4pt; COLOR:
#9d9d9d; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica,
sans-serif">
(iii) Dassault Systèmes does not accept or assume any liability
or responsibility for any use of or reliance on this email.</p>
<br>
<p style="FONT-SIZE: 9pt; MARGIN: 0px 0px 0px 35.4pt; COLOR:
#9d9d9d; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica,
sans-serif">
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
<a href="mailto:3DS.compliance-privacy@3ds.com"
moz-do-not-send="true">3DS.compliance-privacy@3ds.com</a></p>
<p style="FONT-STYLE: italic; MARGIN: 0px 0px 0px 35.4pt;
FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #9d9d9d;
FONT-SIZE: 9pt">
<br>
</p>
<p style="FONT-SIZE: 9pt; MARGIN: 0px 0px 0px 35.4pt; COLOR:
#9d9d9d; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica,
sans-serif">
For other languages, go to
<a class="moz-txt-link-freetext" href="https://www.3ds.com/terms/email-disclaimer">https://www.3ds.com/terms/email-disclaimer</a></p>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
OpenStack-fr mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-fr@lists.openstack.org">OpenStack-fr@lists.openstack.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-fr">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-fr</a>
</pre>
</blockquote>
</body>
</html>