awsgo

module
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2026 License: MIT

README

AWS Go (Helpers)

Go CI Go Lint Go SAST Docs Visualization License

awsgo is a collection of Go helper libraries for the AWS SDK for Go (v1 and v2), covering configuration/auth, several AWS service clients, and AWS/Azure region reference data. It follows a library-first design: reusable packages with thin CLI adapters on top.

Installation

go get github.com/grokify/awsgo/...

Packages

Package Description
config AWS SDK v1/v2 configuration, sessions, and credentials, with goauth integration
costexplorerutil Helpers for the AWS Cost Explorer API
dynamodbutil A simple key-value store client built on DynamoDB
iamutil Helpers for IAM policies, roles, users, and services
inspector2util Reads AWS Inspector2 finding exports and provides aggregation, filtering, and streaming JSON parsing
pricingutil Helpers for the AWS Pricing API
rdsutil RDS parameter group helpers: read, compare engine defaults, diff parameter sets
regions AWS and Azure region/location reference data (UN/LOCODE, ISO 3166 country and subdivision codes)
s3util S3 object and key helpers
secretsmanagerutil Helpers for AWS Secrets Manager
textractutil Helpers for AWS Textract, including an ocrutil subpackage
trustedadvisorutil Helpers for the AWS Trusted Advisor API

Full API documentation is available on pkg.go.dev.

CLI

cmd/awsgo is a growing command-line toolbox built on these packages. It hasn't been tagged in a release yet, so build it from a clone for now:

git clone https://github.com/grokify/awsgo.git
cd awsgo
go build -o awsgo ./cmd/awsgo

./awsgo rds param-read --file rdsutil/testdata/db-perf-group_mysql8.json

Run awsgo --help for the current list of commands. Several packages also ship standalone example programs under their own cmd/ subdirectories (e.g. costexplorerutil/cmd, pricingutil/cmd, regions/cmd, trustedadvisorutil/cmd).

Configuration

AWS Basic Auth can be used via goauth with the following configuration:

{
	"credentials": {
		"AWS": {
			"service": "aws",
			"type": "basic",
			"basic": {
				"username": "my_username",
				"password": "my_password"
			}
		}
	}
}

License

MIT

Directories

Path Synopsis
alexaforbusinessutil
cmd
awsgo command
costexplorerutil is a helper package for: https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/costexplorer
costexplorerutil is a helper package for: https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/costexplorer
cmd/quickstart command
pricingutil provices some helpers for the AWS Pricing API: https://docs.aws.amazon.com/sdk-for-go/api/service/pricing/
pricingutil provices some helpers for the AWS Pricing API: https://docs.aws.amazon.com/sdk-for-go/api/service/pricing/
regions is based on the information here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html and https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html
regions is based on the information here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html and https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html
trustedadvisorutil is a helper package for; https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/trustedadvisor
trustedadvisorutil is a helper package for; https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/trustedadvisor

Jump to

Keyboard shortcuts

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