How to split proxy to a new proxy with few endpoints and provide access to existing developers

I'm new to Apigee and currently our Production Apigee [On Premises setup with version 4.17] setup as below

API Proxy A with

  • Endpoint 1
  • Endpoint 2
  • Endpoint 3

Product A contains

API Proxy A

Developer 1...Developer N has access to Product A (say there are 150 developers who uses this).

Now I need to create a new Product B with new API Proxy B that includes Endpoint 2 [need to remove Endpoint 2 from Proxy A] - Proxy B base path will be changing but will remain same as existing URL for end clients. This part seems be doable quickly but any suggestions are welcome.

But how to provide access to all existing developers to this new Product B without adding one by one manually from Management UI. Is there any API which can do quickly? like bulk access provider. This is already in Production we don't want end users notice downtime due to this change [end users still uses same URL to call Endpoint 2]. any easy way to achieve this ?

thanks in advance. @Dino-at-Google @Anil Sagar @ Google

Solved Solved
0 2 124
1 ACCEPTED SOLUTION

Thanks for the detailed question.

I am not clear on this part:

Proxy B base path will be changing but will remain same as existing URL for end clients. This part seems be doable quickly but any suggestions are welcome.

It sounds like a basepath will change and also will not change. I am not clear on what you're intending there. Maybe you could clarify.

how to provide access to all existing developers to this new Product B without adding one by one manually from Management UI.

If I were doing this, I'd write a script. It would:

  • find all Apps authorized for Product A
  • for each app, for each credential in the app, add authorization for Product B

This will be easy and will take 1-2 minutes. No clicking ! But you'll have to write the sceript to do it.

You could do it in Powershell if that's your thing. Or bash using curl. I myself favor nodejs for building such tools.

This example

https://github.com/DinoChiesa/apigee-edge-js-examples/blob/master/findAppForApiProduct.js

...does the first step. It finds apps authorized for a particular API product.

This example:

https://github.com/DinoChiesa/apigee-edge-js-examples/blob/master/addProductToApp.js

...does the 2nd step. It adds a product to each credential in an app.

You'd just need to combine them.

View solution in original post

2 REPLIES 2

Thanks for the detailed question.

I am not clear on this part:

Proxy B base path will be changing but will remain same as existing URL for end clients. This part seems be doable quickly but any suggestions are welcome.

It sounds like a basepath will change and also will not change. I am not clear on what you're intending there. Maybe you could clarify.

how to provide access to all existing developers to this new Product B without adding one by one manually from Management UI.

If I were doing this, I'd write a script. It would:

  • find all Apps authorized for Product A
  • for each app, for each credential in the app, add authorization for Product B

This will be easy and will take 1-2 minutes. No clicking ! But you'll have to write the sceript to do it.

You could do it in Powershell if that's your thing. Or bash using curl. I myself favor nodejs for building such tools.

This example

https://github.com/DinoChiesa/apigee-edge-js-examples/blob/master/findAppForApiProduct.js

...does the first step. It finds apps authorized for a particular API product.

This example:

https://github.com/DinoChiesa/apigee-edge-js-examples/blob/master/addProductToApp.js

...does the 2nd step. It adds a product to each credential in an app.

You'd just need to combine them.

Thanks Dino-at-Google. will take script approach to find the apps and to authorize the new product. Thanks again @Dino-at-Google