globus/globus-sdk-python

Add support for get shared endpoint list

Closed this issue · 2 comments

GET /endpoint/<endpoint_xid>/shared_endpoint_list

Preliminary doc is here:
https://github.com/globusonline/koa/blob/master/doc/manual/endpoint.adoc#get_shared_endpoint_list2

Will require a new pagination method.

Karl has also pointed out that pagination is more likely to hit rate limiting errors, but maybe that should be a separate issue since I feel like it makes the most sense to address rate limiting in the BaseClient?

I'm fine with tacking on a new pagination method to address this. And yes, I think rate limiting and automatic retries are an item for us to discuss under the BaseClient.

I think under very specific conditions we can consider auto-retries safe. Kind of like how we have specialized handling for 401s. We just need to be able to opt-out of that behavior. All of this for a separate discussion.

@aaschaer, do you want to take a crack at this with the new pagination toolchain? (I'll create additional tracking in case that helps.)

You might need to create a new paginator class, but because we won't be modifying the PaginatedResource monster, it's not as big of a deal as it was in the past. And items_key supports exactly the use-case here, of a non-"DATA" key for the items.