Documentation
¶
Overview ¶
arn.go
Package tagger ¶
s3.go
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( AthenaWorkgroup = ResourceType{ Service: "athena", Type: "workgroup", ArnPattern: "arn:aws:athena:%s:%s:workgroup/%s", } AthenaCatalog = ResourceType{ Service: "athena", Type: "datacatalog", ArnPattern: "arn:aws:athena:%s:%s:datacatalog/%s", } GlueDatabase = ResourceType{ Service: "glue", Type: "database", ArnPattern: "arn:aws:glue:%s:%s:database/%s", } GlueConnection = ResourceType{ Service: "glue", Type: "connection", ArnPattern: "arn:aws:glue:%s:%s:connection/%s", } GlueCrawler = ResourceType{ Service: "glue", Type: "crawler", ArnPattern: "arn:aws:glue:%s:%s:crawler/%s", } GlueJob = ResourceType{ Service: "glue", Type: "job", ArnPattern: "arn:aws:glue:%s:%s:job/%s", } GlueTrigger = ResourceType{ Service: "glue", Type: "trigger", ArnPattern: "arn:aws:glue:%s:%s:trigger/%s", } GlueWorkflow = ResourceType{ Service: "glue", Type: "workflow", ArnPattern: "arn:aws:glue:%s:%s:workflow/%s", } )
Functions ¶
This section is empty.
Types ¶
type AWSResourceTagger ¶
type AWSResourceTagger struct {
// contains filtered or unexported fields
}
AWSResourceTagger handles AWS resource tagging operations
func NewAWSResourceTagger ¶
func NewAWSResourceTagger(ctx context.Context, profile, region string, tags map[string]string) (*AWSResourceTagger, error)
NewAWSResourceTagger creates a new tagger instance
func (*AWSResourceTagger) TagAllResources ¶
func (t *AWSResourceTagger) TagAllResources()
TagAllResources concurrently tags all supported resources
type AthenaAPI ¶
type AthenaAPI interface {
ListWorkGroups(ctx context.Context, params *athena.ListWorkGroupsInput, optFns ...func(*athena.Options)) (*athena.ListWorkGroupsOutput, error)
ListDataCatalogs(ctx context.Context, params *athena.ListDataCatalogsInput, optFns ...func(*athena.Options)) (*athena.ListDataCatalogsOutput, error)
TagResource(ctx context.Context, params *athena.TagResourceInput, optFns ...func(*athena.Options)) (*athena.TagResourceOutput, error)
}
AthenaAPI interface for Athena client operations
type ClassicELBAPI ¶
type ClassicELBAPI interface {
DescribeLoadBalancers(ctx context.Context, params *elasticloadbalancing.DescribeLoadBalancersInput, optFns ...func(*elasticloadbalancing.Options)) (*elasticloadbalancing.DescribeLoadBalancersOutput, error)
AddTags(ctx context.Context, params *elasticloadbalancing.AddTagsInput, optFns ...func(*elasticloadbalancing.Options)) (*elasticloadbalancing.AddTagsOutput, error)
}
ClassicELBAPI interface for Classic ELB client operations
type CloudWatchAPI ¶
type CloudWatchAPI interface {
DescribeAlarms(ctx context.Context, params *cloudwatch.DescribeAlarmsInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.DescribeAlarmsOutput, error)
ListDashboards(ctx context.Context, params *cloudwatch.ListDashboardsInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.ListDashboardsOutput, error)
TagResource(ctx context.Context, params *cloudwatch.TagResourceInput, optFns ...func(*cloudwatch.Options)) (*cloudwatch.TagResourceOutput, error)
}
CloudWatchAPI interface for CloudWatch client operations
type EC2API ¶
type EC2API interface {
DescribeInstances(ctx context.Context, params *ec2.DescribeInstancesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInstancesOutput, error)
DescribeVolumes(ctx context.Context, params *ec2.DescribeVolumesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVolumesOutput, error)
CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
}
EC2API interface for EC2 client operations
type ELBv2API ¶
type ELBv2API interface {
DescribeLoadBalancers(ctx context.Context, params *elasticloadbalancingv2.DescribeLoadBalancersInput, optFns ...func(*elasticloadbalancingv2.Options)) (*elasticloadbalancingv2.DescribeLoadBalancersOutput, error)
DescribeTargetGroups(ctx context.Context, params *elasticloadbalancingv2.DescribeTargetGroupsInput, optFns ...func(*elasticloadbalancingv2.Options)) (*elasticloadbalancingv2.DescribeTargetGroupsOutput, error)
AddTags(ctx context.Context, params *elasticloadbalancingv2.AddTagsInput, optFns ...func(*elasticloadbalancingv2.Options)) (*elasticloadbalancingv2.AddTagsOutput, error)
}
ELBv2API interface for Application/Network Load Balancer client operations
type ElastiCacheAPI ¶
type ElastiCacheAPI interface {
DescribeCacheClusters(ctx context.Context, params *elasticache.DescribeCacheClustersInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeCacheClustersOutput, error)
DescribeReplicationGroups(ctx context.Context, params *elasticache.DescribeReplicationGroupsInput, optFns ...func(*elasticache.Options)) (*elasticache.DescribeReplicationGroupsOutput, error)
AddTagsToResource(ctx context.Context, params *elasticache.AddTagsToResourceInput, optFns ...func(*elasticache.Options)) (*elasticache.AddTagsToResourceOutput, error)
}
ElastiCacheAPI interface for ElastiCache client operations
type GlueAPI ¶
type GlueAPI interface {
GetDatabases(ctx context.Context, params *glue.GetDatabasesInput, optFns ...func(*glue.Options)) (*glue.GetDatabasesOutput, error)
TagResource(ctx context.Context, params *glue.TagResourceInput, optFns ...func(*glue.Options)) (*glue.TagResourceOutput, error)
GetConnections(ctx context.Context, params *glue.GetConnectionsInput, optFns ...func(*glue.Options)) (*glue.GetConnectionsOutput, error)
GetJobs(ctx context.Context, params *glue.GetJobsInput, optFns ...func(*glue.Options)) (*glue.GetJobsOutput, error)
GetCrawlers(ctx context.Context, params *glue.GetCrawlersInput, optFns ...func(*glue.Options)) (*glue.GetCrawlersOutput, error)
GetTriggers(ctx context.Context, params *glue.GetTriggersInput, optFns ...func(*glue.Options)) (*glue.GetTriggersOutput, error)
}
GlueAPI interface for Glue client operations
type GlueMetrics ¶
type GlueMetrics struct {
DatabasesFound int32
DatabasesTagged int32
DatabasesFailed int32
ConnectionsFound int32
ConnectionsTagged int32
ConnectionsFailed int32
JobsFound int32
JobsTagged int32
JobsFailed int32
CrawlersFound int32
CrawlersTagged int32
CrawlersFailed int32
TriggersFound int32
TriggersTagged int32
TriggersFailed int32
}
GlueMetrics struct extension
type OpenSearchAPI ¶
type OpenSearchAPI interface {
ListDomainNames(ctx context.Context, params *opensearch.ListDomainNamesInput, optFns ...func(*opensearch.Options)) (*opensearch.ListDomainNamesOutput, error)
DescribeDomain(ctx context.Context, params *opensearch.DescribeDomainInput, optFns ...func(*opensearch.Options)) (*opensearch.DescribeDomainOutput, error)
AddTags(ctx context.Context, params *opensearch.AddTagsInput, optFns ...func(*opensearch.Options)) (*opensearch.AddTagsOutput, error)
ListTags(ctx context.Context, params *opensearch.ListTagsInput, optFns ...func(*opensearch.Options)) (*opensearch.ListTagsOutput, error)
}
OpenSearchAPI interface for OpenSearch client operations
type RDSAPI ¶
type RDSAPI interface {
DescribeDBInstances(ctx context.Context, params *rds.DescribeDBInstancesInput, optFns ...func(*rds.Options)) (*rds.DescribeDBInstancesOutput, error)
DescribeDBClusters(ctx context.Context, params *rds.DescribeDBClustersInput, optFns ...func(*rds.Options)) (*rds.DescribeDBClustersOutput, error)
DescribeDBSnapshots(ctx context.Context, params *rds.DescribeDBSnapshotsInput, optFns ...func(*rds.Options)) (*rds.DescribeDBSnapshotsOutput, error)
DescribeDBClusterSnapshots(ctx context.Context, params *rds.DescribeDBClusterSnapshotsInput, optFns ...func(*rds.Options)) (*rds.DescribeDBClusterSnapshotsOutput, error)
AddTagsToResource(ctx context.Context, params *rds.AddTagsToResourceInput, optFns ...func(*rds.Options)) (*rds.AddTagsToResourceOutput, error)
}
RDSAPI interface for RDS client operations
type ResourceType ¶
ResourceType represents the type of AWS resource
type S3API ¶
type S3API interface {
ListBuckets(ctx context.Context, params *s3.ListBucketsInput, optFns ...func(*s3.Options)) (*s3.ListBucketsOutput, error)
PutBucketTagging(ctx context.Context, params *s3.PutBucketTaggingInput, optFns ...func(*s3.Options)) (*s3.PutBucketTaggingOutput, error)
}
S3API interface for S3 client operations
type VPCEC2API ¶
type VPCEC2API interface {
DescribeTransitGateways(ctx context.Context, params *ec2.DescribeTransitGatewaysInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewaysOutput, error)
DescribeTransitGatewayAttachments(ctx context.Context, params *ec2.DescribeTransitGatewayAttachmentsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewayAttachmentsOutput, error)
DescribeTransitGatewayPeeringAttachments(ctx context.Context, params *ec2.DescribeTransitGatewayPeeringAttachmentsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeTransitGatewayPeeringAttachmentsOutput, error)
CreateTags(ctx context.Context, params *ec2.CreateTagsInput, optFns ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
}
VPCEC2API interface for VPC EC2 client operations
type VPCLatticeAPI ¶
type VPCLatticeAPI interface {
ListServiceNetworks(ctx context.Context, params *vpclattice.ListServiceNetworksInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListServiceNetworksOutput, error)
ListServices(ctx context.Context, params *vpclattice.ListServicesInput, optFns ...func(*vpclattice.Options)) (*vpclattice.ListServicesOutput, error)
TagResource(ctx context.Context, params *vpclattice.TagResourceInput, optFns ...func(*vpclattice.Options)) (*vpclattice.TagResourceOutput, error)
}
VPCLatticeAPI interface for VPC Lattice client operations