Amazon EventBridge Pipes · Arazzo Workflow

EventBridge Pipes Tag Pipe and Verify

Version 1.0.0

Resolve a pipe's ARN by name, apply tags to it, then list the resource tags to verify they were stored.

1 workflow 1 source API 1 provider
View Spec View on GitHub Amazon Web ServicesEvent-DrivenIntegrationMessagingServerlessArazzoWorkflows

Provider

amazon-eventbridge-pipes

Workflows

tag-pipe-and-verify
Resolve a pipe ARN by name, tag it, then list its tags to verify.
Reads a pipe by name to obtain its ARN, applies the supplied tags to that ARN with TagResource, and reads the tags back with ListTagsForResource to confirm the tagging succeeded.
3 steps inputs: name, tags outputs: pipeArn, storedTags
1
resolveArn
DescribePipe
Read the pipe by name to resolve the ARN that the tagging operations require.
2
applyTags
TagResource
Assign the supplied tags to the pipe identified by the resolved ARN. Any existing tag with a matching key has its value replaced.
3
verifyTags
ListTagsForResource
Read the tags back for the pipe ARN to verify that the tags were stored.

Source API Descriptions

Arazzo Workflow Specification

amazon-eventbridge-pipes-tag-pipe-and-verify-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: EventBridge Pipes Tag Pipe and Verify
  summary: Resolve a pipe's ARN by name, apply tags to it, then list the resource tags to verify they were stored.
  description: >-
    Tagging operations key off a pipe's ARN rather than its name, so this
    workflow first calls DescribePipe to resolve the pipe's ARN from its name,
    applies a set of tags with TagResource against that ARN, and finally calls
    ListTagsForResource to read the tags back and verify they were stored. Each
    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: pipesApi
  url: ../openapi/amazon-eventbridge-pipes-openapi.yml
  type: openapi
workflows:
- workflowId: tag-pipe-and-verify
  summary: Resolve a pipe ARN by name, tag it, then list its tags to verify.
  description: >-
    Reads a pipe by name to obtain its ARN, applies the supplied tags to that
    ARN with TagResource, and reads the tags back with ListTagsForResource to
    confirm the tagging succeeded.
  inputs:
    type: object
    required:
    - name
    - tags
    properties:
      name:
        type: string
        description: The name of the pipe to tag (1-64 chars, ^[\.\-_A-Za-z0-9]+$).
      tags:
        type: object
        description: A map of tag key/value pairs to associate with the pipe (1-50 entries).
  steps:
  - stepId: resolveArn
    description: >-
      Read the pipe by name to resolve the ARN that the tagging operations
      require.
    operationId: DescribePipe
    parameters:
    - name: Name
      in: path
      value: $inputs.name
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      pipeArn: $response.body#/Arn
      currentState: $response.body#/CurrentState
  - stepId: applyTags
    description: >-
      Assign the supplied tags to the pipe identified by the resolved ARN. Any
      existing tag with a matching key has its value replaced.
    operationId: TagResource
    parameters:
    - name: resourceArn
      in: path
      value: $steps.resolveArn.outputs.pipeArn
    requestBody:
      contentType: application/json
      payload:
        tags: $inputs.tags
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      taggedArn: $steps.resolveArn.outputs.pipeArn
  - stepId: verifyTags
    description: >-
      Read the tags back for the pipe ARN to verify that the tags were stored.
    operationId: ListTagsForResource
    parameters:
    - name: resourceArn
      in: path
      value: $steps.resolveArn.outputs.pipeArn
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tags: $response.body#/tags
  outputs:
    pipeArn: $steps.resolveArn.outputs.pipeArn
    storedTags: $steps.verifyTags.outputs.tags