Microsoft Azure Functions · Arazzo Workflow

Inspect a Function App and Issue an Admin Token

Version 1.0.0

Read a function app, list its functions, and issue a Functions admin token for the runtime API.

1 workflow 1 source API 1 provider
View Spec View on GitHub AzureCloudComputeEvent-DrivenMicrosoftServerlessArazzoWorkflows

Provider

microsoft-azure-functions

Workflows

inspect-app-and-issue-admin-token
Read the app, list its functions, and mint a Functions admin token.
Reads the function app, lists its functions, and issues a Functions admin token for use against the runtime admin API.
3 steps inputs: apiVersion, name, resourceGroupName, subscriptionId outputs: adminToken, appState, functions
1
getApp
WebApps_Get
Read the function app resource to confirm it exists and capture its state and default host name.
2
listFunctions
WebApps_ListFunctions
Enumerate the functions deployed into the app.
3
issueAdminToken
WebApps_GetFunctionsAdminToken
Issue a Functions admin token for use against the runtime admin API. The response body is the raw token string.

Source API Descriptions

Arazzo Workflow Specification

microsoft-azure-functions-inspect-app-and-issue-admin-token-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Inspect a Function App and Issue an Admin Token
  summary: Read a function app, list its functions, and issue a Functions admin token for the runtime API.
  description: >-
    A read-and-authorize flow for tooling that needs to call a function app's
    Kudu/admin runtime API. The workflow reads the function app resource to
    confirm it exists and is running, enumerates its functions so the caller
    knows what is deployed, and finally issues a short-lived Functions admin
    token that can be presented to the runtime admin endpoints. Every step spells
    out its ARM request inline — including the required api-version query
    parameter — so the flow can be read and executed without opening the
    underlying OpenAPI description. All requests are authorized with the
    azure_auth OAuth2 bearer token carried by the Azure Resource Manager
    endpoint.
  version: 1.0.0
sourceDescriptions:
- name: azureFunctionsApi
  url: ../openapi/azure-functions-management-api.json
  type: openapi
workflows:
- workflowId: inspect-app-and-issue-admin-token
  summary: Read the app, list its functions, and mint a Functions admin token.
  description: >-
    Reads the function app, lists its functions, and issues a Functions admin
    token for use against the runtime admin API.
  inputs:
    type: object
    required:
    - subscriptionId
    - resourceGroupName
    - name
    properties:
      subscriptionId:
        type: string
        description: The Azure subscription identifier (GUID).
      resourceGroupName:
        type: string
        description: The resource group that contains the function app.
      name:
        type: string
        description: The name of the function app.
      apiVersion:
        type: string
        description: The ARM api-version to use for all requests.
        default: "2024-11-01"
  steps:
  - stepId: getApp
    description: >-
      Read the function app resource to confirm it exists and capture its state
      and default host name.
    operationId: WebApps_Get
    parameters:
    - name: api-version
      in: query
      value: $inputs.apiVersion
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: name
      in: path
      value: $inputs.name
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      appState: $response.body#/properties/state
      defaultHostName: $response.body#/properties/defaultHostName
    onSuccess:
    - name: list
      type: goto
      stepId: listFunctions
  - stepId: listFunctions
    description: >-
      Enumerate the functions deployed into the app.
    operationId: WebApps_ListFunctions
    parameters:
    - name: api-version
      in: query
      value: $inputs.apiVersion
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: name
      in: path
      value: $inputs.name
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      functions: $response.body#/value
    onSuccess:
    - name: token
      type: goto
      stepId: issueAdminToken
  - stepId: issueAdminToken
    description: >-
      Issue a Functions admin token for use against the runtime admin API. The
      response body is the raw token string.
    operationId: WebApps_GetFunctionsAdminToken
    parameters:
    - name: api-version
      in: query
      value: $inputs.apiVersion
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: name
      in: path
      value: $inputs.name
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      adminToken: $response.body
  outputs:
    appState: $steps.getApp.outputs.appState
    functions: $steps.listFunctions.outputs.functions
    adminToken: $steps.issueAdminToken.outputs.adminToken