Microsoft Azure · Arazzo Workflow

Microsoft Azure Create Resource Group and Verify

Version 1.0.0

Create a resource group then read it back to confirm it provisioned successfully.

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

create-resource-group-and-verify
Create a resource group and read it back to confirm it exists.
Creates or updates the resource group, then gets it and branches on the reported provisioning state.
2 steps inputs: accessToken, apiVersion, location, resourceGroupName, subscriptionId, tags outputs: location, provisioningState, resourceGroupId
1
createResourceGroup
ResourceGroups_CreateOrUpdate
Create or update the resource group in the requested location with optional tags.
2
verifyResourceGroup
ResourceGroups_Get
Read the resource group back and branch on its provisioning state, ending cleanly when it reports Succeeded.

Source API Descriptions

Arazzo Workflow Specification

microsoft-azure-create-resource-group-and-verify-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Azure Create Resource Group and Verify
  summary: Create a resource group then read it back to confirm it provisioned successfully.
  description: >-
    A minimal create-then-confirm flow. The workflow creates or updates a
    resource group in the target subscription and immediately gets it back,
    branching so that a Succeeded provisioning state ends cleanly while any other
    state is surfaced for the caller to retry. It is the smallest reusable unit
    behind larger provisioning flows. 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: create-resource-group-and-verify
  summary: Create a resource group and read it back to confirm it exists.
  description: >-
    Creates or updates the resource group, then gets it and branches on the
    reported provisioning state.
  inputs:
    type: object
    required:
    - accessToken
    - subscriptionId
    - resourceGroupName
    - location
    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 to create.
      location:
        type: string
        description: The Azure region for the resource group (e.g. eastus).
      tags:
        type: object
        description: Optional name/value tags to attach to the resource group.
      apiVersion:
        type: string
        description: The Azure Resource Manager API version.
        default: '2024-03-01'
  steps:
  - stepId: createResourceGroup
    description: Create or update the resource group in the requested location with optional tags.
    operationId: ResourceGroups_CreateOrUpdate
    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
    requestBody:
      contentType: application/json
      payload:
        location: $inputs.location
        tags: $inputs.tags
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      resourceGroupId: $response.body#/id
  - stepId: verifyResourceGroup
    description: >-
      Read the resource group back and branch on its provisioning state, ending
      cleanly when it reports Succeeded.
    operationId: ResourceGroups_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: api-version
      in: query
      value: $inputs.apiVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      provisioningState: $response.body#/properties/provisioningState
      location: $response.body#/location
    onSuccess:
    - name: provisioned
      type: end
      criteria:
      - context: $response.body
        condition: $.properties.provisioningState == "Succeeded"
        type: jsonpath
  outputs:
    resourceGroupId: $steps.createResourceGroup.outputs.resourceGroupId
    provisioningState: $steps.verifyResourceGroup.outputs.provisioningState
    location: $steps.verifyResourceGroup.outputs.location