-
Notifications
You must be signed in to change notification settings - Fork 447
Closed
Description
When trying to set the license_mode to onLogin on a GroupItem and call create_AD_group I receive the following error:
File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\request_factory.py", line 299, in create_ad_req
import_element.attrib['grantLicenseMode'] = group_item.license
AttributeError: 'GroupItem' object has no attribute 'license'
Looking at the request_factory.py file it appears there may be a typo in this method when setting the
grantLicenseMode attribute:
def create_ad_req(self, group_item):
xml_request = ET.Element('tsRequest')
group_element = ET.SubElement(xml_request, 'group')
group_element.attrib['name'] = group_item.name
import_element = ET.SubElement(group_element, 'import')
import_element.attrib['source'] = "ActiveDirectory"
if group_item.domain_name is None:
error = "Group Domain undefined."
raise ValueError(error)
import_element.attrib['domainName'] = group_item.domain_name
print(group_item.license_mode)
if group_item.license_mode is not None:
import_element.attrib['grantLicenseMode'] = group_item.license
if group_item.minimum_site_role is not None:
import_element.attrib['SiteRole'] = group_item.minimum_site_role
return ET.tostring(xml_request)
I'm working in Tabelau Server 2020.3 with API version 3.9
I did try modifying the package to reflect group_item.license_mode but then i receive an error:
File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 135, in wrapper
return func(self, *args, **kwargs)
File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\groups_endpoint.py", line 88, in create_AD_group
server_response = self.post_request(url, create_req)
File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 110, in post_request
content_type=content_type)
File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 53, in _make_request
self._check_status(server_response)
File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 68, in _check_status
raise ServerResponseError.from_response(server_response.content, self.parent_srv.namespace)
tableauserverclient.server.endpoint.exceptions.ServerResponseError:
400019: Bad Request
Malformed 'import' element in the request payload.
Metadata
Metadata
Assignees
Labels
No labels