Amazon Control Tower · Arazzo Workflow

AWS Control Tower Update Enabled Control and Confirm

Version 1.0.0

Reconfigure an already enabled control, poll the async operation, then read back the updated control.

1 workflow 1 source API 1 provider
View Spec View on GitHub ComplianceGovernanceLanding ZoneMulti-AccountSecurityControlsArazzoWorkflows

Provider

amazon-control-tower

Workflows

update-enabled-control
Update an enabled control's parameters and wait for the operation to succeed.
Calls updateEnabledControl, then repeatedly checks getControlOperation until the operation status is no longer IN_PROGRESS, branching to getEnabledControl on success.
3 steps inputs: enabledControlIdentifier, parameters outputs: enabledControl, operationIdentifier, operationStatus
1
updateEnabledControl
Start the asynchronous update of the enabled control's parameters and capture the operation identifier used for polling.
2
pollControlOperation
Check the status of the update operation. Repeats while the operation is still IN_PROGRESS, and proceeds to read the enabled control once it has SUCCEEDED.
3
getEnabledControl
Retrieve the enabled control's refreshed details, including its status summary, now that the update operation has completed.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: AWS Control Tower Update Enabled Control and Confirm
  summary: Reconfigure an already enabled control, poll the async operation, then read back the updated control.
  description: >-
    Updates the parameters of an already enabled control, then waits for the
    asynchronous operation to finish before reading the control back. The
    workflow calls updateEnabledControl, captures the returned operation
    identifier, polls getControlOperation until it leaves the IN_PROGRESS state,
    and on success retrieves the enabled control so the caller sees its refreshed
    status. Each 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: controlsApi
  url: ../openapi/amazon-control-tower-controls-api-openapi.yml
  type: openapi
workflows:
- workflowId: update-enabled-control
  summary: Update an enabled control's parameters and wait for the operation to succeed.
  description: >-
    Calls updateEnabledControl, then repeatedly checks getControlOperation until
    the operation status is no longer IN_PROGRESS, branching to getEnabledControl
    on success.
  inputs:
    type: object
    required:
    - enabledControlIdentifier
    - parameters
    properties:
      enabledControlIdentifier:
        type: string
        description: The ARN of the enabled control to reconfigure.
      parameters:
        type: array
        description: The list of input parameter values to apply to the enabled control.
        items:
          type: object
          properties:
            key:
              type: string
            value: {}
  steps:
  - stepId: updateEnabledControl
    description: >-
      Start the asynchronous update of the enabled control's parameters and
      capture the operation identifier used for polling.
    operationId: updateEnabledControl
    requestBody:
      contentType: application/json
      payload:
        enabledControlIdentifier: $inputs.enabledControlIdentifier
        parameters: $inputs.parameters
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      operationIdentifier: $response.body#/operationIdentifier
  - stepId: pollControlOperation
    description: >-
      Check the status of the update operation. Repeats while the operation is
      still IN_PROGRESS, and proceeds to read the enabled control once it has
      SUCCEEDED.
    operationId: getControlOperation
    requestBody:
      contentType: application/json
      payload:
        operationIdentifier: $steps.updateEnabledControl.outputs.operationIdentifier
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/controlOperation/status
    onSuccess:
    - name: stillRunning
      type: goto
      stepId: pollControlOperation
      criteria:
      - context: $response.body
        condition: $.controlOperation.status == "IN_PROGRESS"
        type: jsonpath
    - name: operationDone
      type: goto
      stepId: getEnabledControl
      criteria:
      - context: $response.body
        condition: $.controlOperation.status == "SUCCEEDED"
        type: jsonpath
  - stepId: getEnabledControl
    description: >-
      Retrieve the enabled control's refreshed details, including its status
      summary, now that the update operation has completed.
    operationId: getEnabledControl
    requestBody:
      contentType: application/json
      payload:
        enabledControlIdentifier: $inputs.enabledControlIdentifier
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      enabledControl: $response.body#/enabledControl
      status: $response.body#/enabledControl/statusSummary/status
  outputs:
    operationIdentifier: $steps.updateEnabledControl.outputs.operationIdentifier
    operationStatus: $steps.pollControlOperation.outputs.status
    enabledControl: $steps.getEnabledControl.outputs.enabledControl

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/amazon-control-tower-update-enabled-control-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.