An example Pulumi program that deploys an instance of Azure API Management with the following resources:
- API which is linked to an Azure Function App backend
- Operation and operation policy with URL rewrite and caching rules
- A product, a user, and a subscription to enable access to the API
-
Create a new stack:
$ pulumi stack init dev
-
Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):
$ az login
-
Restore NPM dependencies:
$ npm install
-
Configure Azure location:
$ pulumi config set azure:location <location>
-
Run
pulumi up
to preview and deploy changes:$ pulumi up Previewing update (dev): ... Updating (dev): ... Resources: + 12 created Duration: 34m54s
-
Check the deployed function endpoint:
$ pulumi stack output endpoint https://greeting-service12345678.azure-api.net/hello/Pulumi $ curl --header "Ocp-Apim-Subscription-Key: $(pulumi stack output key)" $(pulumi stack output endpoint) {"time":"2019-06-17T15:16:08.227Z","greeting":"Hello Pulumi!"} ...
-
Verify that API caches the response for 30 seconds - the same time should be returned for subsequent queries:
$ curl --header "Ocp-Apim-Subscription-Key: $(pulumi stack output key)" $(pulumi stack output endpoint) {"time":"2019-06-17T15:16:08.227Z","greeting":"Hello Pulumi!"} ...