Amazon Well-Architected Tool · Arazzo Workflow

Amazon Well-Architected Tool Capture Milestone

Version 1.0.0

Record a milestone for a workload and read it back to confirm.

1 workflow 1 source API 1 provider
View Spec View on GitHub ArchitectureBest PracticesCloud GovernanceWell-ArchitectedWorkloadsArazzoWorkflows

Provider

amazon-well-architected-tool

Workflows

capture-milestone
Create a workload milestone and fetch it by number.
Creates a milestone for an existing workload using the supplied milestone name, then retrieves it by the returned milestone number to confirm the snapshot was recorded.
2 steps inputs: ClientRequestToken, MilestoneName, WorkloadId outputs: milestone, milestoneNumber
1
createMilestone
CreateMilestone
Create the milestone for the workload, snapshotting the current review state under the supplied name.
2
getMilestone
GetMilestone
Read the milestone back by its number to confirm the snapshot was recorded and to capture its details.

Source API Descriptions

Arazzo Workflow Specification

amazon-well-architected-tool-capture-milestone-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Well-Architected Tool Capture Milestone
  summary: Record a milestone for a workload and read it back to confirm.
  description: >-
    Snapshot the current state of a workload review by creating a named
    milestone and then retrieving it. The workflow creates the milestone with
    its required name, captures the milestone number returned, and reads the
    milestone back to confirm it was recorded. 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: wellArchitectedApi
  url: ../openapi/amazon-well-architected-tool-openapi-original.yaml
  type: openapi
workflows:
- workflowId: capture-milestone
  summary: Create a workload milestone and fetch it by number.
  description: >-
    Creates a milestone for an existing workload using the supplied milestone
    name, then retrieves it by the returned milestone number to confirm the
    snapshot was recorded.
  inputs:
    type: object
    required:
    - WorkloadId
    - MilestoneName
    - ClientRequestToken
    properties:
      WorkloadId:
        type: string
        description: The 32-character workload ID.
      MilestoneName:
        type: string
        description: The unique name of the milestone (3-100 characters).
      ClientRequestToken:
        type: string
        description: Idempotency token for the create request.
  steps:
  - stepId: createMilestone
    description: >-
      Create the milestone for the workload, snapshotting the current review
      state under the supplied name.
    operationId: CreateMilestone
    parameters:
    - name: WorkloadId
      in: path
      value: $inputs.WorkloadId
    requestBody:
      contentType: application/json
      payload:
        MilestoneName: $inputs.MilestoneName
        ClientRequestToken: $inputs.ClientRequestToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      milestoneNumber: $response.body#/MilestoneNumber
      workloadId: $response.body#/WorkloadId
  - stepId: getMilestone
    description: >-
      Read the milestone back by its number to confirm the snapshot was
      recorded and to capture its details.
    operationId: GetMilestone
    parameters:
    - name: WorkloadId
      in: path
      value: $inputs.WorkloadId
    - name: MilestoneNumber
      in: path
      value: $steps.createMilestone.outputs.milestoneNumber
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      milestone: $response.body#/Milestone
  outputs:
    milestoneNumber: $steps.createMilestone.outputs.milestoneNumber
    milestone: $steps.getMilestone.outputs.milestone