Microsoft Azure · Arazzo Workflow

Microsoft Azure Deployment Status and Resulting Resources

Version 1.0.0

Get a deployment, confirm it succeeded, then list the resources in its resource group.

1 workflow 1 source API 1 provider
View Spec View on GitHub API ManagementCloudCloud ComputingEnterpriseInfrastructure as a ServicePlatform as a ServiceT1ArazzoWorkflows

Provider

microsoft-azure

Workflows

deployment-status-and-resources
Check a deployment's status and, if it succeeded, list the resulting resources.
Gets the deployment, branches on its provisioning state, and lists the resource group's resources when the deployment succeeded.
2 steps inputs: accessToken, apiVersion, deploymentName, resourceGroupName, subscriptionId outputs: deploymentOutputs, provisioningState, resources
1
getDeployment
Deployments_Get
Get the deployment and branch: list resources only when it reports Succeeded, otherwise end the flow.
2
listResourcesInGroup
Resources_ListByResourceGroup
List the resources in the resource group to confirm what the deployment created.

Source API Descriptions

Arazzo Workflow Specification

microsoft-azure-deployment-status-and-resource-list-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Azure Deployment Status and Resulting Resources
  summary: Get a deployment, confirm it succeeded, then list the resources in its resource group.
  description: >-
    A post-deployment verification flow. The workflow gets a named deployment at
    resource group scope and branches on its provisioning state: when the
    deployment has Succeeded it lists the resources in the resource group so the
    caller can confirm what was created, and when it has not it ends without
    listing. It is the read-side companion to the provisioning workflows. Every
    step spells out its request inline so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: azureResourceManager
  url: ../openapi/azure-resource-manager-openapi.yml
  type: openapi
workflows:
- workflowId: deployment-status-and-resources
  summary: Check a deployment's status and, if it succeeded, list the resulting resources.
  description: >-
    Gets the deployment, branches on its provisioning state, and lists the
    resource group's resources when the deployment succeeded.
  inputs:
    type: object
    required:
    - accessToken
    - subscriptionId
    - resourceGroupName
    - deploymentName
    properties:
      accessToken:
        type: string
        description: An Azure Resource Manager OAuth2 bearer access token.
      subscriptionId:
        type: string
        description: The ID of the target subscription.
      resourceGroupName:
        type: string
        description: The name of the resource group containing the deployment.
      deploymentName:
        type: string
        description: The name of the deployment to inspect.
      apiVersion:
        type: string
        description: The Azure Resource Manager API version.
        default: '2024-03-01'
  steps:
  - stepId: getDeployment
    description: >-
      Get the deployment and branch: list resources only when it reports
      Succeeded, otherwise end the flow.
    operationId: Deployments_Get
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: deploymentName
      in: path
      value: $inputs.deploymentName
    - name: api-version
      in: query
      value: $inputs.apiVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      provisioningState: $response.body#/properties/provisioningState
      deploymentOutputs: $response.body#/properties/outputs
    onSuccess:
    - name: deploymentSucceeded
      type: goto
      stepId: listResourcesInGroup
      criteria:
      - context: $response.body
        condition: $.properties.provisioningState == "Succeeded"
        type: jsonpath
    - name: deploymentNotSucceeded
      type: end
      criteria:
      - context: $response.body
        condition: $.properties.provisioningState != "Succeeded"
        type: jsonpath
  - stepId: listResourcesInGroup
    description: List the resources in the resource group to confirm what the deployment created.
    operationId: Resources_ListByResourceGroup
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: api-version
      in: query
      value: $inputs.apiVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      resources: $response.body#/value
  outputs:
    provisioningState: $steps.getDeployment.outputs.provisioningState
    deploymentOutputs: $steps.getDeployment.outputs.deploymentOutputs
    resources: $steps.listResourcesInGroup.outputs.resources