Amazon Well-Architected Tool · Arazzo Workflow

Amazon Well-Architected Tool Share Custom Lens

Version 1.0.0

Share a custom lens with a principal and list its lens shares.

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

Provider

amazon-well-architected-tool

Workflows

share-lens
Create a lens share and list the lens shares.
Shares a custom lens with the supplied account, IAM role, organization, or OU and lists the resulting lens shares to confirm the share was recorded.
2 steps inputs: ClientRequestToken, LensAlias, SharedWith outputs: lensShareSummaries, shareId
1
createLensShare
CreateLensShare
Share the custom lens with the supplied principal.
2
listLensShares
ListLensShares
List the lens shares for the lens to confirm the new share was recorded.

Source API Descriptions

Arazzo Workflow Specification

amazon-well-architected-tool-share-lens-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Well-Architected Tool Share Custom Lens
  summary: Share a custom lens with a principal and list its lens shares.
  description: >-
    Grant another principal access to a custom lens. The workflow creates a lens
    share with the supplied principal and then lists the lens shares to confirm
    the new share 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: share-lens
  summary: Create a lens share and list the lens shares.
  description: >-
    Shares a custom lens with the supplied account, IAM role, organization, or
    OU and lists the resulting lens shares to confirm the share was recorded.
  inputs:
    type: object
    required:
    - LensAlias
    - SharedWith
    - ClientRequestToken
    properties:
      LensAlias:
        type: string
        description: The ARN of the custom lens to share.
      SharedWith:
        type: string
        description: The account ID, IAM role, organization ID, or OU ID to share with.
      ClientRequestToken:
        type: string
        description: Idempotency token for the share create request.
  steps:
  - stepId: createLensShare
    description: >-
      Share the custom lens with the supplied principal.
    operationId: CreateLensShare
    parameters:
    - name: LensAlias
      in: path
      value: $inputs.LensAlias
    requestBody:
      contentType: application/json
      payload:
        SharedWith: $inputs.SharedWith
        ClientRequestToken: $inputs.ClientRequestToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      shareId: $response.body#/ShareId
  - stepId: listLensShares
    description: >-
      List the lens shares for the lens to confirm the new share was recorded.
    operationId: ListLensShares
    parameters:
    - name: LensAlias
      in: path
      value: $inputs.LensAlias
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      lensShareSummaries: $response.body#/LensShareSummaries
  outputs:
    shareId: $steps.createLensShare.outputs.shareId
    lensShareSummaries: $steps.listLensShares.outputs.lensShareSummaries