8000 Type 1: Virtual Connections REST API · Issue #1231 · tableau/server-client-python · GitHub
[go: up one dir, main page]

Skip to content

Type 1: Virtual Connections REST API #1231

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
pempey opened this issue May 10, 2023 · 7 comments
Closed

Type 1: Virtual Connections REST API #1231

pempey opened this issue May 10, 2023 · 7 comments

Comments

@pempey
Copy link
pempey commented May 10, 2023

Summary

A one line description of the request. Skip this if the title is already a good summary.

Add support all methods of the virtual connection endpoint of the REST API.

Request Type

If you know, say which of these types your request is in the title, and follow the suggestions for that type when writing your description.

Type 1: support a REST API:
If it is functionality that already exists in the REST API, example API calls are the clearest way to explain your request.

Type 2: add a REST API and support it in tsc.
If it is functionality that can be achieved somehow on Tableau Server but not through the REST API, describe the current way to do it. (e.g: functionality that is available in the Web UI, or by using the Hyper API). For UI, screenshots can be helpful.

Type 3: new functionality
Requests for totally new functionality will generally be passed to the relevant dev team, but we probably can't give any useful estimate of how or when it might be implemented. If it is a feature that is 'about' the API or programmable access, here might be the best place to suggest it, but generally feature requests will be more visible in the Tableau Community Ideas forum and should go there instead.

Description

A clear and concise description of what the feature request is. If you think that the value of this feature might not be obvious, include information like how often it is needed, amount of work saved, etc. If your feature request is related to a file or server in a specific state, describe the starting state when the feature can be used, and the end state after using it. If it involves modifying files, an example file may be helpful.

Having the ability to procedurally manage the connection details of virtual connections, like what is available for Data Sources, will allow for management of connections in a standard and unified way.

My specific use case is updating service account credentials in virtual connections.

@pempey pempey added enhancement needs investigation Issue needs to be looked at by Tableau labels May 10, 2023
@pempey
Copy link
Author
pempey commented May 15, 2023

I am taking a stab at implementing the changes that I need and I have a specific design choice that needs to be maid given the structure of the API. The way connections for a Virtual Connection are retuned are different than the Flows, Data Sources, and Workbooks and I can see a couple ways to handle it.

  1. Conform the results to match the other items output of populate_connections, a list of ConnectionItems in the connection property.
  2. Have the connection property of the Virtual Connection operate on a Pager like a users of a GroupItem

I lean toward option 1 but I am not sure if there is a right approach or design philosophy to follow.

@MauriceBrg
Copy link

Hey @pempey - did you make any progress on this?

Currently it looks like I'll be forced to talk to the REST-API directly and I'm not looking forward to that ;)

@pempey
Copy link
Author
pempey commented Jun 22, 2023

@MauriceBrg I have made some progress but I got blocked when testing the
Update methods. I am told that the API is incorrect and that Tableau is working to update the docs but I have not gotten a clear picture as to how long that would take. You can see what I have built so far in my fork.

Do you have a specific use case? I might be able to submit a PR for what is working if that can add value.

@MauriceBrg
Copy link

Thanks, we have a requirement to periodically replace our IAM User Credentials for an Athena Virtual Connection.

The Idea was to list all virtual connections, filter those with a certain naming pattern (client-side) and then update them with the new credentials. From what I understand in the thread it seems like the updating part won't work using the REST-API?

I guess plan B would be to at least create a notification listing the Virtual Connections that need to be updated. In this case we can't rotate the credentials as often as we'd like because it would be a manual process...

I'll try to see if my client can get in touch with their Tableau representative to try and get a timeline for the API support.

@pempey
Copy link
Author
pempey commented Jun 23, 2023

@MauriceBrg My use case is very similar and I have not been able to get the Update method of the API to work using Postman. I was planning to see what the status of the Update method because if felt incomplete with out it. But if the list command are useful I think I can get those changes ready for a Pull request.

@MauriceBrg
Copy link

My plan is to play around with the API a bit next week and see if I'll be more lucky ;-)

In the mean time I think adding the current state with the list-endpoint would already add value to the package. I really appreciate the effort you already put into that and I'm sure it will find other users as well.

I'm with you that it would feel more complete if the whole API is covered, but since that seems to be a moving target it may be something that can be added at a later point once the API is more stable.

@MauriceBrg
Copy link

Update: I won't be able to test it, just learned that our Tableau Server is not on the latest release :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants
0