tagger

package
v0.0.0-...-cd03918 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2024 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

arn.go

Package tagger

s3.go

Index

Constants

This section is empty.

Variables

View Source
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

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

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

type ResourceType struct {
	Service    string
	Type       string
	ArnPattern string
}

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 S3Metrics

type S3Metrics struct {
	BucketsFound  int
	BucketsTagged int
	BucketsFailed int
}

S3Metrics tracks the success/failure metrics for S3 tagging 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL