MuleSoft · Arazzo Workflow

MuleSoft Decommission Application

Version 1.0.0

Confirm an application exists, delete it, then verify it is gone.

1 workflow 1 source API 1 provider
View Spec View on GitHub API GatewayAPI ManagementEnterpriseIntegrationArazzoWorkflows

Provider

mulesoft

Workflows

decommission-app
Delete a CloudHub application and confirm its removal.
Verifies an application exists, deletes it, and lists applications to confirm the domain is no longer present.
3 steps inputs: appDomain, bearerToken, environmentId, orgId outputs: deletedDomain, deletedStatusCode, remainingApplications
1
getApplication
getApplication
Confirm the application exists and capture its current status before deleting it.
2
deleteApplication
deleteApplication
Delete the application and stop all running workers, releasing the domain.
3
confirmRemoval
listApplications
List the applications in the environment to verify the deleted domain is no longer present.

Source API Descriptions

Arazzo Workflow Specification

mulesoft-decommission-app-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: MuleSoft Decommission Application
  summary: Confirm an application exists, delete it, then verify it is gone.
  description: >-
    Safely retires a CloudHub application. The workflow first fetches the
    application to confirm it exists and capture its current status, deletes the
    application to stop all running workers, and then lists the remaining
    applications in the environment to verify the domain has been released. 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: anypointPlatformApi
  url: ../openapi/mulesoft-anypoint-platform-openapi.yml
  type: openapi
workflows:
- workflowId: decommission-app
  summary: Delete a CloudHub application and confirm its removal.
  description: >-
    Verifies an application exists, deletes it, and lists applications to confirm
    the domain is no longer present.
  inputs:
    type: object
    required:
    - bearerToken
    - orgId
    - environmentId
    - appDomain
    properties:
      bearerToken:
        type: string
        description: Anypoint Platform bearer access token.
      orgId:
        type: string
        description: The organization id that owns the application.
      environmentId:
        type: string
        description: The environment id the application is deployed in.
      appDomain:
        type: string
        description: The CloudHub domain of the application to decommission.
  steps:
  - stepId: getApplication
    description: >-
      Confirm the application exists and capture its current status before
      deleting it.
    operationId: getApplication
    parameters:
    - name: domain
      in: path
      value: $inputs.appDomain
    - name: Authorization
      in: header
      value: "Bearer $inputs.bearerToken"
    - name: X-ANYPNT-ORG-ID
      in: header
      value: $inputs.orgId
    - name: X-ANYPNT-ENV-ID
      in: header
      value: $inputs.environmentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      domain: $response.body#/domain
      status: $response.body#/status
  - stepId: deleteApplication
    description: >-
      Delete the application and stop all running workers, releasing the domain.
    operationId: deleteApplication
    parameters:
    - name: domain
      in: path
      value: $steps.getApplication.outputs.domain
    - name: Authorization
      in: header
      value: "Bearer $inputs.bearerToken"
    - name: X-ANYPNT-ORG-ID
      in: header
      value: $inputs.orgId
    - name: X-ANYPNT-ENV-ID
      in: header
      value: $inputs.environmentId
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deletedStatusCode: $statusCode
  - stepId: confirmRemoval
    description: >-
      List the applications in the environment to verify the deleted domain is
      no longer present.
    operationId: listApplications
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.bearerToken"
    - name: X-ANYPNT-ORG-ID
      in: header
      value: $inputs.orgId
    - name: X-ANYPNT-ENV-ID
      in: header
      value: $inputs.environmentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      remainingApplications: $response.body
  outputs:
    deletedDomain: $steps.getApplication.outputs.domain
    deletedStatusCode: $steps.deleteApplication.outputs.deletedStatusCode
    remainingApplications: $steps.confirmRemoval.outputs.remainingApplications