def list_zones(self):
        schema_params = SCHEMA_BUILDER_MAP.get('list_zones')
        attributes = schema_params.get('attributes')
        schema = api_schema_builder(schema_params.get('urn_nid'),
                                    schema_params.get('method'),
                                    attributes)
        params = {'apiuser': self.key, 'apikey': self.secret}
        urn = schema.getchildren()[0]
        for child in urn:
            key = child.tag.split(':')[2]
            if key in attributes:
                child.text = str(params.get(key))
        req_data = tostring(schema)
        action = '/services/dns/listZones.php'
        params = {}
        headers = {"SOAPAction": "urn:listZoneswsdl#listZones"}
        response = self.connection.request(action=action, params=params,
                                           data=req_data, method="POST",
                                           headers=headers)
        # listZones method doens't return full data in zones as getZone
        # method does.
        zones = []
        for data in response.objects:
            zone = self.get_zone(data.get('id'))
            zones.append(zone)
        return zones
Given a dict of input dataPackets, return a list of commandline arguments
dataset/ETHPy150Open apache/libcloud/libcloud/dns/drivers/durabledns.py/DurableDNSDriver.list_zones--crossover with--dataset/ETHPy150Open andrew-gardner/dependsworkflow/depends/depends_node.py/DagNode.executeList