arazzo: 1.0.1 info: title: Amazon S3 Delete Object and Confirm Removal summary: Delete an object then HEAD it to confirm it is gone. description: >- A clean teardown flow for a single Amazon S3 object. The workflow deletes the object with a DELETE request and then issues a HEAD request that is expected to return 404, confirming the object is no longer retrievable. 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: s3RestApi url: ../openapi/amazon-s3-rest-api-openapi.yml type: openapi workflows: - workflowId: delete-object-and-confirm summary: Delete an object then verify it returns 404 on HEAD. description: >- Removes a single object and confirms the removal by HEADing the key and expecting a not-found response. inputs: type: object required: - bucket - objectKey properties: bucket: type: string description: The bucket holding the object. objectKey: type: string description: The key of the object to delete. steps: - stepId: deleteObject description: >- Delete the object from the bucket. S3 responds with 204 No Content on success. operationId: DeleteObject parameters: - name: Bucket in: path value: $inputs.bucket - name: Key+ in: path value: $inputs.objectKey successCriteria: - condition: $statusCode == 204 outputs: deleteMarker: $response.header.x-amz-delete-marker versionId: $response.header.x-amz-version-id - stepId: confirmGone description: >- HEAD the deleted key. A 404 confirms the object is no longer present. operationId: HeadObject parameters: - name: Bucket in: path value: $inputs.bucket - name: Key+ in: path value: $inputs.objectKey successCriteria: - condition: $statusCode == 404 outputs: deleteMarker: $steps.deleteObject.outputs.deleteMarker versionId: $steps.deleteObject.outputs.versionId