Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

AWS Detail Integration Block for React

An integration detail section for a cloud cost tool connecting to AWS: a header with the mark pair and Connect AWS, a three-cell trust chain on one wire, and the five read-only IAM actions its role allows.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

An integration detail section for React with Base UI, written for Meterfern, a fictional cloud cost reporting tool, and its AWS connection. A start-aligned header ("Meterfern reads your AWS costs") carries one sentence, and at its end the mark pair (Meterfern's own tile and AWS's neutral lettermark tile, joined by a connector) above the Connect AWS Shine Button and a View docs link. Under a band rule, a trust chain of three cells on one wire: your AWS account with its read-only role, Meterfern, and your reports. The wire is drawn in once on load and labelled with the call that crosses it, sts:AssumeRole. Under the next rule, the five IAM actions the role allows (Cost Explorer, tags, organization accounts, the Cost and Usage Report definition and its bucket objects), each marked Read with the reason beside it, then what Meterfern never does and the listing's facts behind a divider. The block ends on content, so no rule closes it. On a phone the cells stack and the wire labels move into the cell text. The page's rails and top rule come from the Guides spine, so it lines up with its neighbours in a stack. It's built from Guides, Badge, Button and Shine Button, with CSS transitions for the entrance and your theme's tokens for every colour. AWS is named in text only: no AWS logo, colour or wordmark ships with the block. The product, the role name and the facts are example data.

FAQ

Can I show the AWS logo?

The block names AWS in text, the way any integration page says what it works with ("Meterfern for AWS", "Connect AWS"), and ships no AWS logo, colour or wordmark. AWS's tile is a neutral lettermark, Aw in a muted square, sitting in an icon slot that a code comment marks: drop in the official logo only if you have the rights to use it, under the owner's brand guidelines, and never redraw it. The pair is hidden from assistive technology because the heading already names both products.

Where should Connect AWS go?

Both buttons are links (href="#"). Point Connect AWS at the screen where a customer starts the connection (for example the setup flow that builds the role command) and View docs at your guide. Nothing connects, signs in or sends anything from the block itself. Connect AWS is a Shine Button, the block's one primary action; View docs is an outline button. Both buttons render the link they're given with render, with nativeButton={false}.

Why a role instead of an access key?

A tool that assumes an IAM role asks AWS for temporary credentials each time, so there is no long-lived access key to store or leak, and the customer can remove the role to cut access at any moment. The block draws that with the sts:AssumeRole call on the wire. Edit CHAIN to change what each cell says and ROLE for the role's name.

How do I change the listed actions?

Edit PERMISSIONS at the top of the file. Each entry is an IAM action (shown in code, left to right in any layout), its access (here all READ, an icon and a word, never a colour) and a short purpose. List exactly the actions your policy allows so the page and the policy agree; the "5 read, 0 write" count is worked out from the same list. The Cost Explorer price in the first reason is AWS's per-request charge for the API, so check it against AWS's current pricing page before you ship.

How is the date kept from going stale?

The last update is a fixed day, UPDATED = "2026-10-07", never computed from today. A small helper spells it out the same way on the server and in every browser, and the time element keeps the machine-readable day. The other facts are a typed list, FACTS, read as a description list.

How does it fit on a phone, in right-to-left layouts and with reduced motion?

Below md the three cells stack between hairlines and the wire labels are left out, since each cell's text already says how it connects; below lg the divider gives way to a rule. In a right-to-left layout the columns, the chain and the wire flip, while actions and the role name keep their left-to-right order. The header, the buttons and the wire are drawn in once on load with CSS transitions; with reduced motion they simply appear. The block has no state.

  • Pro

    An integration setup flow for a cloud cost tool connecting to AWS: a scope and 12-digit account ID, two aws iam commands built from that ID with a derived External ID, and a pasted role ARN that is parsed and checked against the account.

  • Pro

    AWS Grid Integration

    Switch and tick grids

    An integration grid section for a cloud cost tool reading from AWS: eight service tiles you tick, and one stacked bar and coverage figure that follow every tick, counted from last month's typed spend.

  • Pro

    An integration list section for a cloud cost tool reading from AWS: six cost-allocation tags as rows with a coverage bar, a state word and an Activate switch, a segmented filter with counts, and a working Retry on the one row that timed out.

  • Pro

    AWS Stats Integration

    Bars and columns

    An integration stats section for a cloud cost tool reading from AWS: six region lanes on one 0 to 24 hour ruler showing how far each region's cost data runs behind, with a solid tick at the 6 hour agreement.

  • Pro

    Slack Detail Integration

    Scopes and steps

    An integration detail section for a spend tool connecting to Slack: a header with the mark pair and Add to Slack, then what it does, the Slack scopes it reads and writes, three steps to install and the listing's facts.

  • Pro

    Depth Table Integrations About

    Security and platform

    An integration depth table for a data-sync service: seven systems in plain type with direction, sync frequency, sign-in method and a state dot, in a framed, scrolling table.