Amazon EC2 · Arazzo Workflow

Amazon EC2 Deregister an AMI After Confirmation

Version 1.0.0

Confirm an AMI exists, deregister it, then verify it is gone.

1 workflow 1 source API 1 provider
View Spec View on GitHub Cloud ComputingComputeIaaSInfrastructureVirtual MachinesArazzoWorkflows

Provider

amazon-ec2

Workflows

deregister-image-and-cleanup
Confirm, deregister, and re-verify an AMI.
Chains DescribeImages, DeregisterImage, and a second DescribeImages so an AMI is verified present, removed, and confirmed gone.
3 steps inputs: imageId outputs: deregisterStatus, verifyStatus
1
confirmImage
describeImages
Confirm the AMI is available before deregistering it.
2
deregisterImage
deregisterImage
Deregister the AMI so it can no longer launch instances.
3
verifyGone
describeImages
Describe the AMI again to verify the deregister took effect.

Source API Descriptions

Arazzo Workflow Specification

amazon-ec2-deregister-image-and-cleanup-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon EC2 Deregister an AMI After Confirmation
  summary: Confirm an AMI exists, deregister it, then verify it is gone.
  description: >-
    Safely retires an AMI. The workflow describes the image to confirm it is
    available, deregisters it, and describes it again to verify the deregister
    took effect. Every step spells out its request inline using the Amazon EC2
    query protocol (Action and Version parameters) so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: amazonEc2Api
  url: ../openapi/amazon-ec2-openapi.yml
  type: openapi
workflows:
- workflowId: deregister-image-and-cleanup
  summary: Confirm, deregister, and re-verify an AMI.
  description: >-
    Chains DescribeImages, DeregisterImage, and a second DescribeImages so an
    AMI is verified present, removed, and confirmed gone.
  inputs:
    type: object
    required:
    - imageId
    properties:
      imageId:
        type: string
        description: The ID of the AMI to deregister.
  steps:
  - stepId: confirmImage
    description: Confirm the AMI is available before deregistering it.
    operationId: describeImages
    parameters:
    - name: Action
      in: query
      value: DescribeImages
    - name: Version
      in: query
      value: '2016-11-15'
    - name: ImageId
      in: query
      value: $inputs.imageId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      confirmStatus: $statusCode
  - stepId: deregisterImage
    description: Deregister the AMI so it can no longer launch instances.
    operationId: deregisterImage
    parameters:
    - name: Action
      in: query
      value: DeregisterImage
    - name: Version
      in: query
      value: '2016-11-15'
    - name: ImageId
      in: query
      value: $inputs.imageId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deregisterStatus: $statusCode
  - stepId: verifyGone
    description: Describe the AMI again to verify the deregister took effect.
    operationId: describeImages
    parameters:
    - name: Action
      in: query
      value: DescribeImages
    - name: Version
      in: query
      value: '2016-11-15'
    - name: ImageId
      in: query
      value: $inputs.imageId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      verifyStatus: $statusCode
  outputs:
    deregisterStatus: $steps.deregisterImage.outputs.deregisterStatus
    verifyStatus: $steps.verifyGone.outputs.verifyStatus