Code Monkey home page Code Monkey logo

Comments (8)

nilshedstrom avatar nilshedstrom commented on August 19, 2024

I have never used the APIFilters parameter so I do not know how to use it.

I use Write-APIManagementTemplates with ApiStandalone=true. The result is that I have one master.template.json that will deploy the service, products, groups etc (but no APIs).

For each version set I get a separate directory (api-Calculator) and in that directory there is a api-Calculator.master.template.json that will deploy all the versions of the Calculator.

So I can already deploy all versions of an API without deploying anything else.

from apimanagementarmtemplatecreator.

joeyeng avatar joeyeng commented on August 19, 2024

Hm, if you're able to relate each API version back to the parent version set I wonder if it's possible to pull a single version set with all its versions and avoiding pulling down all version sets. Does that make sense?

from apimanagementarmtemplatecreator.

joeyeng avatar joeyeng commented on August 19, 2024

Btw, Write-APIManagementTemplates is awesome. I love the way it organizes everything!

from apimanagementarmtemplatecreator.

nilshedstrom avatar nilshedstrom commented on August 19, 2024

Can you explain the problem more: Do you have so many different api-version-sets that it takes to long to generate arm templates for all of them?
Or is the problem that you want to be able to deploy the different api-versions-sets separately?

from apimanagementarmtemplatecreator.

joeyeng avatar joeyeng commented on August 19, 2024

Yes, we have many APIs and many developers. We want everyone to be able to generate their ARM templates quickly and in isolation from the rest of the APIs. So the answer is yes to both questions.

from apimanagementarmtemplatecreator.

MLogdberg avatar MLogdberg commented on August 19, 2024

So let's see how this works.

Getting things from the REST API is based on retrieving API's and not version sets. The version set is fetched after the API and added to the template.

By default all API's matching the APIFilters is collected from the API.

Example using APIVersion to only generate template for Orders API in the Sales domain.
-APIFilters "path eq 'sales/orders'"
Will collect all API's that has the path sales/orders, this could potentially bee 2-3 verions of this API and all is collected.

If you then want to have even more granular filtering you could us the APIVersion, this filters out so that only the provided version is added to the template.

Example only collect v2 of the API.
-ApiVersion v2

Could that help?

from apimanagementarmtemplatecreator.

joeyeng avatar joeyeng commented on August 19, 2024

Thanks, I will try that. Is 'path' the URL suffix? Or the operation path? Or both?

from apimanagementarmtemplatecreator.

joeyeng avatar joeyeng commented on August 19, 2024

@MLogdberg I did "path eq '{url suffix}'" and that did the trick - pulled down all versions for the version set. The URL suffix will need to be the same for all versions of course. Previously I was using "name" instead of "path" which only pulled down a single version. Thanks! @nilshedstrom I think this method could probably be used with Write-APIManagementTemplates if you just want to generate templates for a single API. Thanks again.

from apimanagementarmtemplatecreator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.