The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::ResourceTagging - Perl Interface to AWS AWS Resource Groups Tagging API

SYNOPSIS

  use Paws;

  my $obj = Paws->service('ResourceTagging');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Resource Groups Tagging API

This guide describes the API operations for the resource groups tagging.

A tag is a label that you assign to an AWS resource. A tag consists of a key and a value, both of which you define. For example, if you have two Amazon EC2 instances, you might assign both a tag key of "Stack." But the value of "Stack" might be "Testing" for one and "Production" for the other.

Tagging can help you organize your resources and enables you to simplify resource management, access management and cost allocation.

You can use the resource groups tagging API operations to complete the following tasks:

  • Tag and untag supported resources located in the specified Region for the AWS account.

  • Use tag-based filters to search for resources located in the specified Region for the AWS account.

  • List all existing tag keys in the specified Region for the AWS account.

  • List all existing values for the specified key in the specified Region for the AWS account.

To use resource groups tagging API operations, you must add the following permissions to your IAM policy:

  • tag:GetResources

  • tag:TagResources

  • tag:UntagResources

  • tag:GetTagKeys

  • tag:GetTagValues

You'll also need permissions to access the resources of individual services so that you can tag and untag those resources.

For more information on IAM policies, see Managing IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) in the IAM User Guide.

You can use the Resource Groups Tagging API to tag resources for the following AWS services.

  • Alexa for Business (a4b)

  • API Gateway

  • Amazon AppStream

  • AWS AppSync

  • AWS App Mesh

  • Amazon Athena

  • Amazon Aurora

  • AWS Backup

  • AWS Certificate Manager

  • AWS Certificate Manager Private CA

  • Amazon Cloud Directory

  • AWS CloudFormation

  • Amazon CloudFront

  • AWS CloudHSM

  • AWS CloudTrail

  • Amazon CloudWatch (alarms only)

  • Amazon CloudWatch Events

  • Amazon CloudWatch Logs

  • AWS CodeBuild

  • AWS CodeCommit

  • AWS CodePipeline

  • AWS CodeStar

  • Amazon Cognito Identity

  • Amazon Cognito User Pools

  • Amazon Comprehend

  • AWS Config

  • AWS Data Exchange

  • AWS Data Pipeline

  • AWS Database Migration Service

  • AWS DataSync

  • AWS Device Farm

  • AWS Direct Connect

  • AWS Directory Service

  • Amazon DynamoDB

  • Amazon EBS

  • Amazon EC2

  • Amazon ECR

  • Amazon ECS

  • Amazon EKS

  • AWS Elastic Beanstalk

  • Amazon Elastic File System

  • Elastic Load Balancing

  • Amazon ElastiCache

  • Amazon Elasticsearch Service

  • AWS Elemental MediaLive

  • AWS Elemental MediaPackage

  • AWS Elemental MediaTailor

  • Amazon EMR

  • Amazon FSx

  • Amazon S3 Glacier

  • AWS Glue

  • Amazon GuardDuty

  • Amazon Inspector

  • AWS IoT Analytics

  • AWS IoT Core

  • AWS IoT Device Defender

  • AWS IoT Device Management

  • AWS IoT Events

  • AWS IoT Greengrass

  • AWS IoT 1-Click

  • AWS Key Management Service

  • Amazon Kinesis

  • Amazon Kinesis Data Analytics

  • Amazon Kinesis Data Firehose

  • AWS Lambda

  • AWS License Manager

  • Amazon Machine Learning

  • Amazon MQ

  • Amazon MSK

  • Amazon Neptune

  • AWS OpsWorks

  • AWS Organizations

  • Amazon Quantum Ledger Database (QLDB)

  • Amazon RDS

  • Amazon Redshift

  • AWS Resource Access Manager

  • AWS Resource Groups

  • AWS RoboMaker

  • Amazon Route 53

  • Amazon Route 53 Resolver

  • Amazon S3 (buckets only)

  • Amazon SageMaker

  • AWS Secrets Manager

  • AWS Security Hub

  • AWS Service Catalog

  • Amazon Simple Notification Service (SNS)

  • Amazon Simple Queue Service (SQS)

  • Amazon Simple Workflow Service

  • AWS Step Functions

  • AWS Storage Gateway

  • AWS Systems Manager

  • AWS Transfer for SFTP

  • Amazon VPC

  • Amazon WorkSpaces

For the AWS API documentation, see https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html

METHODS

DescribeReportCreation

Each argument is described in detail in: Paws::ResourceTagging::DescribeReportCreation

Returns: a Paws::ResourceTagging::DescribeReportCreationOutput instance

Describes the status of the StartReportCreation operation.

You can call this operation only from the organization's master account and from the us-east-1 Region.

GetComplianceSummary

[GroupBy => ArrayRef[Str|Undef]]
[MaxResults => Int]
[PaginationToken => Str]
[RegionFilters => ArrayRef[Str|Undef]]
[ResourceTypeFilters => ArrayRef[Str|Undef]]
[TagKeyFilters => ArrayRef[Str|Undef]]
[TargetIdFilters => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::ResourceTagging::GetComplianceSummary

Returns: a Paws::ResourceTagging::GetComplianceSummaryOutput instance

Returns a table that shows counts of resources that are noncompliant with their tag policies.

For more information on tag policies, see Tag Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) in the AWS Organizations User Guide.

You can call this operation only from the organization's master account and from the us-east-1 Region.

GetResources

[ExcludeCompliantResources => Bool]
[IncludeComplianceDetails => Bool]
[PaginationToken => Str]
[ResourcesPerPage => Int]
[ResourceTypeFilters => ArrayRef[Str|Undef]]
[TagFilters => ArrayRef[Paws::ResourceTagging::TagFilter]]
[TagsPerPage => Int]

Each argument is described in detail in: Paws::ResourceTagging::GetResources

Returns: a Paws::ResourceTagging::GetResourcesOutput instance

Returns all the tagged or previously tagged resources that are located in the specified Region for the AWS account.

Depending on what information you want returned, you can also specify the following:

  • Filters that specify what tags and resource types you want returned. The response includes all tags that are associated with the requested resources.

  • Information about compliance with the account's effective tag policy. For more information on tag policies, see Tag Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) in the AWS Organizations User Guide.

You can check the PaginationToken response parameter to determine if a query is complete. Queries occasionally return fewer results on a page than allowed. The PaginationToken response parameter value is null only when there are no more results to display.

GetTagKeys

[PaginationToken => Str]

Each argument is described in detail in: Paws::ResourceTagging::GetTagKeys

Returns: a Paws::ResourceTagging::GetTagKeysOutput instance

Returns all tag keys in the specified Region for the AWS account.

GetTagValues

Key => Str
[PaginationToken => Str]

Each argument is described in detail in: Paws::ResourceTagging::GetTagValues

Returns: a Paws::ResourceTagging::GetTagValuesOutput instance

Returns all tag values for the specified key in the specified Region for the AWS account.

StartReportCreation

S3Bucket => Str

Each argument is described in detail in: Paws::ResourceTagging::StartReportCreation

Returns: a Paws::ResourceTagging::StartReportCreationOutput instance

Generates a report that lists all tagged resources in accounts across your organization and tells whether each resource is compliant with the effective tag policy. Compliance data is refreshed daily.

The generated report is saved to the following location:

s3://example-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv

You can call this operation only from the organization's master account and from the us-east-1 Region.

TagResources

ResourceARNList => ArrayRef[Str|Undef]
Tags => Paws::ResourceTagging::TagMap

Each argument is described in detail in: Paws::ResourceTagging::TagResources

Returns: a Paws::ResourceTagging::TagResourcesOutput instance

Applies one or more tags to the specified resources. Note the following:

  • Not all resources can have tags. For a list of services that support tagging, see this list (http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html).

  • Each resource can have up to 50 tags. For other limits, see Tag Naming and Usage Conventions (http://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions) in the AWS General Reference.

  • You can only tag resources that are located in the specified Region for the AWS account.

  • To add tags to a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for adding tags. For more information, see this list (http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html).

UntagResources

ResourceARNList => ArrayRef[Str|Undef]
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::ResourceTagging::UntagResources

Returns: a Paws::ResourceTagging::UntagResourcesOutput instance

Removes the specified tags from the specified resources. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from a resource that were already removed. Note the following:

  • To remove tags from a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for removing tags. For more information, see this list (http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html).

  • You can only tag resources that are located in the specified Region for the AWS account.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

GetAllComplianceSummary(sub { },[GroupBy => ArrayRef[Str|Undef], MaxResults => Int, PaginationToken => Str, RegionFilters => ArrayRef[Str|Undef], ResourceTypeFilters => ArrayRef[Str|Undef], TagKeyFilters => ArrayRef[Str|Undef], TargetIdFilters => ArrayRef[Str|Undef]])

GetAllComplianceSummary([GroupBy => ArrayRef[Str|Undef], MaxResults => Int, PaginationToken => Str, RegionFilters => ArrayRef[Str|Undef], ResourceTypeFilters => ArrayRef[Str|Undef], TagKeyFilters => ArrayRef[Str|Undef], TargetIdFilters => ArrayRef[Str|Undef]])

If passed a sub as first parameter, it will call the sub for each element found in :

 - SummaryList, passing the object as the first parameter, and the string 'SummaryList' as the second parameter 

If not, it will return a a Paws::ResourceTagging::GetComplianceSummaryOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllResources(sub { },[ExcludeCompliantResources => Bool, IncludeComplianceDetails => Bool, PaginationToken => Str, ResourcesPerPage => Int, ResourceTypeFilters => ArrayRef[Str|Undef], TagFilters => ArrayRef[Paws::ResourceTagging::TagFilter], TagsPerPage => Int])

GetAllResources([ExcludeCompliantResources => Bool, IncludeComplianceDetails => Bool, PaginationToken => Str, ResourcesPerPage => Int, ResourceTypeFilters => ArrayRef[Str|Undef], TagFilters => ArrayRef[Paws::ResourceTagging::TagFilter], TagsPerPage => Int])

If passed a sub as first parameter, it will call the sub for each element found in :

 - ResourceTagMappingList, passing the object as the first parameter, and the string 'ResourceTagMappingList' as the second parameter 

If not, it will return a a Paws::ResourceTagging::GetResourcesOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllTagKeys(sub { },[PaginationToken => Str])

GetAllTagKeys([PaginationToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - TagKeys, passing the object as the first parameter, and the string 'TagKeys' as the second parameter 

If not, it will return a a Paws::ResourceTagging::GetTagKeysOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllTagValues(sub { },Key => Str, [PaginationToken => Str])

GetAllTagValues(Key => Str, [PaginationToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - TagValues, passing the object as the first parameter, and the string 'TagValues' as the second parameter 

If not, it will return a a Paws::ResourceTagging::GetTagValuesOutput instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues