Amazon S3 · Arazzo Workflow

Amazon S3 Set and Verify Bucket Tags

Version 1.0.0

Write a bucket tag set then read it back to confirm it was stored.

1 workflow 1 source API 1 provider
View Spec View on GitHub ArchiveBackupCloud StorageData StorageObject StorageScalable StorageArazzoWorkflows

Provider

amazon-s3

Workflows

set-and-verify-bucket-tags
Put a bucket tag set then get it back to confirm.
Applies a tag set to the bucket with PutBucketTagging and confirms it with GetBucketTagging.
2 steps inputs: bucket, tagSet outputs: tagSet
1
putTags
PutBucketTagging
Write the tag set to the bucket. S3 responds with 204 No Content on success.
2
getTags
GetBucketTagging
Read the tag set back to confirm the tags were stored on the bucket.

Source API Descriptions

Arazzo Workflow Specification

amazon-s3-set-bucket-tagging-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon S3 Set and Verify Bucket Tags
  summary: Write a bucket tag set then read it back to confirm it was stored.
  description: >-
    A cost-allocation and organization flow for Amazon S3 buckets. The workflow
    writes a tag set to the bucket and then reads the tag set back to confirm the
    tags were stored. Tags are used to organize buckets and attribute costs in
    the AWS bill. 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: set-and-verify-bucket-tags
  summary: Put a bucket tag set then get it back to confirm.
  description: >-
    Applies a tag set to the bucket with PutBucketTagging and confirms it with
    GetBucketTagging.
  inputs:
    type: object
    required:
    - bucket
    - tagSet
    properties:
      bucket:
        type: string
        description: The bucket to tag.
      tagSet:
        type: object
        description: The TagSet container holding the Tag array to apply.
        properties:
          Tag:
            type: array
            description: The list of Key/Value tag pairs.
            items:
              type: object
              properties:
                Key:
                  type: string
                Value:
                  type: string
  steps:
  - stepId: putTags
    description: >-
      Write the tag set to the bucket. S3 responds with 204 No Content on
      success.
    operationId: PutBucketTagging
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    requestBody:
      contentType: application/xml
      payload:
        TagSet: $inputs.tagSet
    successCriteria:
    - condition: $statusCode == 204
  - stepId: getTags
    description: >-
      Read the tag set back to confirm the tags were stored on the bucket.
    operationId: GetBucketTagging
    parameters:
    - name: Bucket
      in: path
      value: $inputs.bucket
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tagSet: $response.body#/TagSet
  outputs:
    tagSet: $steps.getTags.outputs.tagSet