diff --git a/src/content/docs/aws/services/resource-groups-tagging-api.mdx b/src/content/docs/aws/services/resource-groups-tagging-api.mdx new file mode 100644 index 00000000..d268702c --- /dev/null +++ b/src/content/docs/aws/services/resource-groups-tagging-api.mdx @@ -0,0 +1,98 @@ +--- +title: "Resource Groups Tagging API" +tags: ["Base"] +description: Get started with Resource Groups Tagging API on LocalStack +--- + +import FeatureCoverage from "../../../../components/feature-coverage/FeatureCoverage"; + +## Introduction + +Resource Groups Tagging API helps you centrally manage tags across AWS resources. +You can apply and remove tags for multiple resources at once, and query resources by tag keys and values. +You can also query tagged resources by AWS service, by resource type within a service, or directly by specific resource ARNs. + +LocalStack allows you to use the Resource Groups Tagging API in your local environment to test tagging workflows end-to-end. +The supported APIs are available on our [API Coverage section](#api-coverage), which provides information on the extent of Resource Groups Tagging API's integration with LocalStack. + +## Getting started + +This guide is designed for users new to Resource Groups Tagging API and assumes basic knowledge of the AWS CLI and our [`awslocal`](https://github.com/localstack/awscli-local) wrapper script. + +Start your LocalStack container using your preferred method. +We will demonstrate how to create resources, tag them, and query them using the Resource Groups Tagging API. + +### Create resources to tag + +Create an S3 bucket and an SQS queue: + +```bash +BUCKET_NAME="rg-tagging-bucket" +QUEUE_NAME="rg-tagging-queue" + +awslocal s3api create-bucket --bucket "$BUCKET_NAME" +QUEUE_URL=$(awslocal sqs create-queue --queue-name "$QUEUE_NAME" | jq -r '.QueueUrl') +``` + +Retrieve the resource ARNs: + +```bash +BUCKET_ARN="arn:aws:s3:::$BUCKET_NAME" +QUEUE_ARN=$(awslocal sqs get-queue-attributes \ + --queue-url "$QUEUE_URL" \ + --attribute-names QueueArn | jq -r '.Attributes.QueueArn') +``` + +### Tag multiple resources + +Use the [`TagResources`](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html) API to apply tags: + +```bash +awslocal resourcegroupstaggingapi tag-resources \ + --resource-arn-list "$BUCKET_ARN" "$QUEUE_ARN" \ + --tags '{"Environment":"dev","Team":"platform"}' +``` + +### Query resources by tags + +Use the [`GetResources`](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) API to list resources with a specific tag: + +```bash +awslocal resourcegroupstaggingapi get-resources \ + --tag-filters Key=Environment,Values=dev +``` + +You can also inspect available keys and values: + +```bash +awslocal resourcegroupstaggingapi get-tag-keys +awslocal resourcegroupstaggingapi get-tag-values --key Environment +``` + +### Remove tags from resources + +Use the [`UntagResources`](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_UntagResources.html) API to remove one or more tag keys: + +```bash +awslocal resourcegroupstaggingapi untag-resources \ + --resource-arn-list "$BUCKET_ARN" "$QUEUE_ARN" \ + --tag-keys Team +``` + +## Supported services + +LocalStack's Resource Groups Tagging API supports tagging for the following services: + +- [AWS Key Management Service (KMS)](/aws/services/kms/) +- [Amazon S3](/aws/services/s3/) +- [AWS Lambda](/aws/services/lambda/) +- [Amazon Route 53](/aws/services/route53/) +- [Amazon SNS](/aws/services/sns/) +- [Amazon SQS](/aws/services/sqs/) +- [Amazon OpenSearch Service](/aws/services/opensearch/) +- [AWS Elastic Beanstalk](/aws/services/elasticbeanstalk/) +- [Amazon EC2](/aws/services/ec2/) + +## API Coverage + + diff --git a/src/content/docs/aws/services/resource-groups.mdx b/src/content/docs/aws/services/resource-groups.mdx index bff37aa7..e636730b 100644 --- a/src/content/docs/aws/services/resource-groups.mdx +++ b/src/content/docs/aws/services/resource-groups.mdx @@ -15,7 +15,8 @@ Resource Groups in AWS provide two types of queries that developers can use to b With Tag-based queries, developers can organize resources based on common attributes or characteristics, while CloudFormation stack-based queries allow developers to group resources that are deployed together as part of a CloudFormation stack. LocalStack allows you to use the Resource Groups APIs in your local environment to group and categorize resources based on criteria such as tags, resource types, regions, or custom attributes. -The supported APIs are available on the API coverage section for [Resource Groups](#api-coverage) and [Resource Groups Tagging API](#api-coverage-resource-groups-tagging-api), which provides information on the extent of Resource Group's integration with LocalStack. +The supported APIs are available on our [API Coverage section](#api-coverage), which provides information on the extent of Resource Group's integration with LocalStack. +For tag-centric operations across AWS resources, see the [Resource Groups Tagging API](/aws/services/resource-groups-tagging-api/) guide. ## Getting Started @@ -76,7 +77,3 @@ awslocal resource-groups delete-group \ ## API Coverage - -## API Coverage (Resource Groups Tagging API) - -