<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic api data extract initiator-name in Software Development Kit (SDK) and API Discussions</title>
    <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/api-data-extract-initiator-name/m-p/158099#M3073</link>
    <description>&lt;P&gt;i've followed a previous article :&amp;nbsp;&lt;A href="https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/How-to-get-result-from-NMSDK-in-json-format-or-set-content-type-to-application/td-p/145302" target="_blank"&gt;https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/How-to-get-result-from-NMSDK-in-json-format-or-set-content-type-to-application/td-p/145302&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;with a great example posted by gaurav_verma&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In my case i'd like to extract igroup XML metadata , which is returned from the ontap cluster after running&amp;nbsp;&lt;/P&gt;
&lt;P&gt;api = NaElement("igroup-get-iter") ( see below)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;initiator-group-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-alua-enabled&amp;gt;true&amp;lt;/initiator-group-alua-enabled&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-name&amp;gt;v0101&amp;lt;/initiator-group-name&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-os-type&amp;gt;hyper_v&amp;lt;/initiator-group-os-type&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-throttle-borrow&amp;gt;false&amp;lt;/initiator-group-throttle-borrow&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-throttle-reserve&amp;gt;0&amp;lt;/initiator-group-throttle-reserve&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-type&amp;gt;iscsi&amp;lt;/initiator-group-type&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-use-partner&amp;gt;true&amp;lt;/initiator-group-use-partner&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-uuid&amp;gt;8f3a4fb8-2c64-11e9-aa39-00a098321792&amp;lt;/initiator-group-uuid&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-vsa-enabled&amp;gt;false&amp;lt;/initiator-group-vsa-enabled&amp;gt;&lt;BR /&gt;&amp;lt;initiators&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:wshv0101n01&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n02&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n03&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n04&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n05&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n06&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n07&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n08&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n09&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;/initiators&amp;gt;&lt;BR /&gt;&amp;lt;vserver&amp;gt;testv99&amp;lt;/vserver&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i cant seem to extract each initiator name entry&amp;nbsp; ie ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n09&amp;lt;/initiator-name&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;as you can see there are multiple entries...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is what i have so far...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;api = NaElement("igroup-get-iter")&lt;BR /&gt;xi = NaElement("desired-attributes")&lt;BR /&gt;api.child_add(xi)&lt;BR /&gt;xi1 = NaElement("initiator-group-info")&lt;BR /&gt;xi.child_add(xi1)&lt;BR /&gt;xi1.child_add_string("initiator-group-alua-enabled","&amp;lt;initiator-group-alua-enabled&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-name","&amp;lt;initiator-group-name&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-os-type","&amp;lt;initiator-group-os-type&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-portset-name","&amp;lt;initiator-group-portset-name&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-throttle-borrow","&amp;lt;initiator-group-throttle-borrow&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-throttle-reserve","&amp;lt;initiator-group-throttle-reserve&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-type","&amp;lt;initiator-group-type&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-use-partner","&amp;lt;initiator-group-use-partner&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-uuid","&amp;lt;initiator-group-uuid&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-vsa-enabled","&amp;lt;initiator-group-vsa-enabled&amp;gt;")&lt;BR /&gt;xi2 = NaElement("initiators")&lt;BR /&gt;xi1.child_add(xi2)&lt;BR /&gt;xi3 = NaElement("initiator-info")&lt;BR /&gt;xi2.child_add(xi3)&lt;BR /&gt;xi3.child_add_string("initiator-name","&amp;lt;initiator-name&amp;gt;")&lt;BR /&gt;xi1.child_add_string("lun-id","&amp;lt;lun-id&amp;gt;")&lt;BR /&gt;xi1.child_add_string("vserver","&amp;lt;vserver&amp;gt;")&lt;BR /&gt;api.child_add_string("max-records","99999")&lt;BR /&gt;xo = epicclustername.invoke_elem(api)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;my_xml_initiator_group=xo.sprintf()&lt;BR /&gt;my_initiator_group_dictionary = xmltodict.parse(my_xml_initiator_group)&lt;BR /&gt;print ("Convert to json.dumps.....")&lt;BR /&gt;jasondump_ig=json.dumps(my_initiator_group_dictionary)&lt;BR /&gt;jasonload_ig=json.loads(jasondump_ig)&lt;/P&gt;
&lt;P&gt;global igdata&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;igdata = []&lt;BR /&gt;for ig in jasonload_ig["results"]["attributes-list"]["initiator-group-info"]:&lt;BR /&gt;# print ("-----------------------------------------------------------------")&lt;BR /&gt;# lets extract ALL metadata - lots will not be used - but easier to use in the future - if needed.&lt;BR /&gt;initiatorgroupaluaenabled=(ig["initiator-group-alua-enabled"])&lt;BR /&gt;initiatorgroupname=(ig["initiator-group-name"])&lt;BR /&gt;initiatorgroupostype=(ig["initiator-group-os-type"])&lt;BR /&gt;initiatorgroupthrottleborrow=(ig["initiator-group-throttle-borrow"])&lt;BR /&gt;initiatorgroupthrottlereserve=(ig["initiator-group-throttle-reserve"])&lt;BR /&gt;initiatorgrouptype=(ig["initiator-group-type"])&lt;BR /&gt;initiatorgroupusepartner=(ig["initiator-group-use-partner"])&lt;BR /&gt;initiatorgroupuuid=(ig["initiator-group-uuid"])&lt;BR /&gt;initiatorgroupvsaenabled=(ig["initiator-group-vsa-enabled"])&lt;/P&gt;
&lt;P&gt;# initiatorname=(ig["initiators"]["initiator-info"]["initiator-name"])&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;igdata.append((initiatorgroupaluaenabled,initiatorgroupname,initiatorgroupostype,initiatorgroupthrottleborrow,initiatorgroupthrottlereserve,initiatorgrouptype,initiatorgroupusepartner,initiatorgroupuuid,initiatorgroupvsaenabled))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for i in igdata:&lt;BR /&gt;print ("I have : {}".format(i))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;tail of the python file on execution shows...&lt;/P&gt;
&lt;P&gt;I have : (u'true', u'igroup_md0004', u'linux', u'false', u'0', u'iscsi', u'true', u'fa9acae7-125d-11e6-978a-123478563412', u'false',)&lt;BR /&gt;I have : (u'true', u'igroup_md6369', u'windows', u'false', u'0', u'iscsi', u'true', u'2cdee44a-2e10-11e6-8345-00a098321792', u'false')&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;however if i unhash the line in the loop ....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;initiatorname=(ig["initiators"]["initiator-info"]["initiator-name"])&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and add this var in the append , if fails.... with&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;KeyError: 'initiators'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;so,,, how do i extract sub elements from the original xml format ?&lt;/P&gt;
&lt;P&gt;ie&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;["initiators"]["initiator-info"]["initiator-name"]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Maybe there is a alternative solution that i'm unaware of....&lt;/P&gt;
&lt;P&gt;any help, much appreciated ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 04 Jun 2025 10:59:00 GMT</pubDate>
    <dc:creator>raffs</dc:creator>
    <dc:date>2025-06-04T10:59:00Z</dc:date>
    <item>
      <title>api data extract initiator-name</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/api-data-extract-initiator-name/m-p/158099#M3073</link>
      <description>&lt;P&gt;i've followed a previous article :&amp;nbsp;&lt;A href="https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/How-to-get-result-from-NMSDK-in-json-format-or-set-content-type-to-application/td-p/145302" target="_blank"&gt;https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/How-to-get-result-from-NMSDK-in-json-format-or-set-content-type-to-application/td-p/145302&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;with a great example posted by gaurav_verma&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In my case i'd like to extract igroup XML metadata , which is returned from the ontap cluster after running&amp;nbsp;&lt;/P&gt;
&lt;P&gt;api = NaElement("igroup-get-iter") ( see below)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;initiator-group-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-alua-enabled&amp;gt;true&amp;lt;/initiator-group-alua-enabled&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-name&amp;gt;v0101&amp;lt;/initiator-group-name&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-os-type&amp;gt;hyper_v&amp;lt;/initiator-group-os-type&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-throttle-borrow&amp;gt;false&amp;lt;/initiator-group-throttle-borrow&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-throttle-reserve&amp;gt;0&amp;lt;/initiator-group-throttle-reserve&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-type&amp;gt;iscsi&amp;lt;/initiator-group-type&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-use-partner&amp;gt;true&amp;lt;/initiator-group-use-partner&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-uuid&amp;gt;8f3a4fb8-2c64-11e9-aa39-00a098321792&amp;lt;/initiator-group-uuid&amp;gt;&lt;BR /&gt;&amp;lt;initiator-group-vsa-enabled&amp;gt;false&amp;lt;/initiator-group-vsa-enabled&amp;gt;&lt;BR /&gt;&amp;lt;initiators&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:wshv0101n01&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n02&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n03&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n04&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n05&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n06&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n07&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n08&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n09&amp;lt;/initiator-name&amp;gt;&lt;BR /&gt;&amp;lt;/initiator-info&amp;gt;&lt;BR /&gt;&amp;lt;/initiators&amp;gt;&lt;BR /&gt;&amp;lt;vserver&amp;gt;testv99&amp;lt;/vserver&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i cant seem to extract each initiator name entry&amp;nbsp; ie ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;initiator-name&amp;gt;iqn.1991-05.com.microsoft:v0101n09&amp;lt;/initiator-name&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;as you can see there are multiple entries...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is what i have so far...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;api = NaElement("igroup-get-iter")&lt;BR /&gt;xi = NaElement("desired-attributes")&lt;BR /&gt;api.child_add(xi)&lt;BR /&gt;xi1 = NaElement("initiator-group-info")&lt;BR /&gt;xi.child_add(xi1)&lt;BR /&gt;xi1.child_add_string("initiator-group-alua-enabled","&amp;lt;initiator-group-alua-enabled&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-name","&amp;lt;initiator-group-name&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-os-type","&amp;lt;initiator-group-os-type&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-portset-name","&amp;lt;initiator-group-portset-name&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-throttle-borrow","&amp;lt;initiator-group-throttle-borrow&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-throttle-reserve","&amp;lt;initiator-group-throttle-reserve&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-type","&amp;lt;initiator-group-type&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-use-partner","&amp;lt;initiator-group-use-partner&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-uuid","&amp;lt;initiator-group-uuid&amp;gt;")&lt;BR /&gt;xi1.child_add_string("initiator-group-vsa-enabled","&amp;lt;initiator-group-vsa-enabled&amp;gt;")&lt;BR /&gt;xi2 = NaElement("initiators")&lt;BR /&gt;xi1.child_add(xi2)&lt;BR /&gt;xi3 = NaElement("initiator-info")&lt;BR /&gt;xi2.child_add(xi3)&lt;BR /&gt;xi3.child_add_string("initiator-name","&amp;lt;initiator-name&amp;gt;")&lt;BR /&gt;xi1.child_add_string("lun-id","&amp;lt;lun-id&amp;gt;")&lt;BR /&gt;xi1.child_add_string("vserver","&amp;lt;vserver&amp;gt;")&lt;BR /&gt;api.child_add_string("max-records","99999")&lt;BR /&gt;xo = epicclustername.invoke_elem(api)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;my_xml_initiator_group=xo.sprintf()&lt;BR /&gt;my_initiator_group_dictionary = xmltodict.parse(my_xml_initiator_group)&lt;BR /&gt;print ("Convert to json.dumps.....")&lt;BR /&gt;jasondump_ig=json.dumps(my_initiator_group_dictionary)&lt;BR /&gt;jasonload_ig=json.loads(jasondump_ig)&lt;/P&gt;
&lt;P&gt;global igdata&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;igdata = []&lt;BR /&gt;for ig in jasonload_ig["results"]["attributes-list"]["initiator-group-info"]:&lt;BR /&gt;# print ("-----------------------------------------------------------------")&lt;BR /&gt;# lets extract ALL metadata - lots will not be used - but easier to use in the future - if needed.&lt;BR /&gt;initiatorgroupaluaenabled=(ig["initiator-group-alua-enabled"])&lt;BR /&gt;initiatorgroupname=(ig["initiator-group-name"])&lt;BR /&gt;initiatorgroupostype=(ig["initiator-group-os-type"])&lt;BR /&gt;initiatorgroupthrottleborrow=(ig["initiator-group-throttle-borrow"])&lt;BR /&gt;initiatorgroupthrottlereserve=(ig["initiator-group-throttle-reserve"])&lt;BR /&gt;initiatorgrouptype=(ig["initiator-group-type"])&lt;BR /&gt;initiatorgroupusepartner=(ig["initiator-group-use-partner"])&lt;BR /&gt;initiatorgroupuuid=(ig["initiator-group-uuid"])&lt;BR /&gt;initiatorgroupvsaenabled=(ig["initiator-group-vsa-enabled"])&lt;/P&gt;
&lt;P&gt;# initiatorname=(ig["initiators"]["initiator-info"]["initiator-name"])&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;igdata.append((initiatorgroupaluaenabled,initiatorgroupname,initiatorgroupostype,initiatorgroupthrottleborrow,initiatorgroupthrottlereserve,initiatorgrouptype,initiatorgroupusepartner,initiatorgroupuuid,initiatorgroupvsaenabled))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for i in igdata:&lt;BR /&gt;print ("I have : {}".format(i))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;tail of the python file on execution shows...&lt;/P&gt;
&lt;P&gt;I have : (u'true', u'igroup_md0004', u'linux', u'false', u'0', u'iscsi', u'true', u'fa9acae7-125d-11e6-978a-123478563412', u'false',)&lt;BR /&gt;I have : (u'true', u'igroup_md6369', u'windows', u'false', u'0', u'iscsi', u'true', u'2cdee44a-2e10-11e6-8345-00a098321792', u'false')&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;however if i unhash the line in the loop ....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;initiatorname=(ig["initiators"]["initiator-info"]["initiator-name"])&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and add this var in the append , if fails.... with&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;KeyError: 'initiators'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;so,,, how do i extract sub elements from the original xml format ?&lt;/P&gt;
&lt;P&gt;ie&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;["initiators"]["initiator-info"]["initiator-name"]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Maybe there is a alternative solution that i'm unaware of....&lt;/P&gt;
&lt;P&gt;any help, much appreciated ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jun 2025 10:59:00 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/api-data-extract-initiator-name/m-p/158099#M3073</guid>
      <dc:creator>raffs</dc:creator>
      <dc:date>2025-06-04T10:59:00Z</dc:date>
    </item>
  </channel>
</rss>

