AWS CloudFormation · Arazzo Workflow

CloudFormation Deploy a Stack Set

Version 1.0.0

Create a stack set, roll out an instance to an account and region, then poll the instance until CURRENT.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AutomationCloud ResourcesIaCInfrastructure as CodeStack ManagementArazzoWorkflows

Provider

cloudformation

Workflows

deploy-stack-set
Create a stack set and roll out an instance to a target account and region.
Creates a stack set, creates a stack instance in the supplied account and region, and waits for that instance to reach CURRENT.
3 steps inputs: account, capability, region, stackSetName, templateBody outputs: instanceStackId, instanceStatus, operationId, stackSetId
1
createStackSet
Create the stack set from the supplied template using the self-managed permission model.
2
createInstance
Create a stack instance for the stack set in the target account and region, capturing the operation ID.
3
pollInstance
Poll DescribeStackInstance until the instance reaches CURRENT. Branch to a failure end if the instance becomes INOPERABLE.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: CloudFormation Deploy a Stack Set
  summary: Create a stack set, roll out an instance to an account and region, then poll the instance until CURRENT.
  description: >-
    Stack sets let a single template be provisioned across many accounts and
    regions. This workflow creates a stack set from a template, creates a stack
    instance in a target account and region, and then polls
    DescribeStackInstance until the instance reaches the CURRENT status —
    branching to a failure end if the instance lands in INOPERABLE. Every step
    spells out its request inline using the AWS query protocol so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-600.50
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-600.50
      capability_name: IT Infrastructure Management
      spec: cloudformation-stack-sets-api-openapi.yml
      confidence: 0.8
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: stackInstancesApi
  url: ../openapi/cloudformation-stack-instances-api-openapi.yml
  type: openapi
- name: stackSetsApi
  url: ../openapi/cloudformation-stack-sets-api-openapi.yml
  type: openapi
workflows:
- workflowId: deploy-stack-set
  summary: Create a stack set and roll out an instance to a target account and region.
  description: >-
    Creates a stack set, creates a stack instance in the supplied account and
    region, and waits for that instance to reach CURRENT.
  inputs:
    type: object
    required:
    - stackSetName
    - templateBody
    - account
    - region
    properties:
      stackSetName:
        type: string
        description: The name to assign to the new stack set.
      templateBody:
        type: string
        description: The CloudFormation template body for the stack set.
      account:
        type: string
        description: The target AWS account ID to create the stack instance in.
      region:
        type: string
        description: The target AWS region to create the stack instance in.
      capability:
        type: string
        description: An optional capability to acknowledge (e.g. CAPABILITY_IAM).
  steps:
  - stepId: createStackSet
    description: >-
      Create the stack set from the supplied template using the self-managed
      permission model.
    operationId: createStackSet
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        StackSetName: $inputs.stackSetName
        TemplateBody: $inputs.templateBody
        PermissionModel: SELF_MANAGED
        Capabilities:
        - $inputs.capability
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      stackSetId: $response.body#/CreateStackSetResult/StackSetId
  - stepId: createInstance
    description: >-
      Create a stack instance for the stack set in the target account and
      region, capturing the operation ID.
    operationId: createStackInstances
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        StackSetName: $inputs.stackSetName
        Accounts:
        - $inputs.account
        Regions:
        - $inputs.region
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      operationId: $response.body#/CreateStackInstancesResult/OperationId
  - stepId: pollInstance
    description: >-
      Poll DescribeStackInstance until the instance reaches CURRENT. Branch to a
      failure end if the instance becomes INOPERABLE.
    operationId: describeStackInstance
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        StackSetName: $inputs.stackSetName
        StackInstanceAccount: $inputs.account
        StackInstanceRegion: $inputs.region
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      instanceStatus: $response.body#/DescribeStackInstanceResult/StackInstance/Status
      instanceStackId: $response.body#/DescribeStackInstanceResult/StackInstance/StackId
    onSuccess:
    - name: instanceReady
      type: end
      criteria:
      - context: $response.body
        condition: $.DescribeStackInstanceResult.StackInstance.Status == "CURRENT"
        type: jsonpath
    - name: instanceInoperable
      type: end
      criteria:
      - context: $response.body
        condition: $.DescribeStackInstanceResult.StackInstance.Status == "INOPERABLE"
        type: jsonpath
    - name: instancePending
      type: goto
      stepId: pollInstance
      criteria:
      - context: $response.body
        condition: $.DescribeStackInstanceResult.StackInstance.Status == "OUTDATED"
        type: jsonpath
  outputs:
    stackSetId: $steps.createStackSet.outputs.stackSetId
    operationId: $steps.createInstance.outputs.operationId
    instanceStatus: $steps.pollInstance.outputs.instanceStatus
    instanceStackId: $steps.pollInstance.outputs.instanceStackId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/cloudformation-deploy-stack-set-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.