Skip to content

Commit ea6d6b6

Browse files
committed
* Update dependencies
* Configure resource cache to work per account so it can run against multiple AWS accounts at once
1 parent 8d9d922 commit ea6d6b6

27 files changed

+778
-1038
lines changed

cmd/awsets/cache/cache.go

+16-12
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,33 @@ import (
1414
)
1515

1616
type BoltCache struct {
17-
db *bbolt.DB
18-
account string
19-
refresh bool
17+
db *bbolt.DB
18+
cacheDir string
19+
account string
20+
refresh bool
2021
}
2122

2223
func NewBoltCache(refresh bool) (*BoltCache, error) {
23-
home, err := os.UserHomeDir()
24+
cacheDir, err := os.UserCacheDir()
2425
if err != nil {
25-
return nil, fmt.Errorf("failed to get home directory: %w\n", err)
26-
}
27-
db, err := bbolt.Open(filepath.Join(home, ".awsets_cache"), 0666, nil)
28-
if err != nil {
29-
return nil, fmt.Errorf("failed to open cache: %w\n", err)
26+
return nil, fmt.Errorf("failed to get cache directory: %w\n", err)
3027
}
28+
os.Mkdir(filepath.Join(cacheDir, "awsets"), 0755)
3129
return &BoltCache{
32-
db: db,
33-
refresh: refresh,
30+
refresh: refresh,
31+
cacheDir: cacheDir,
3432
}, err
3533
}
3634

3735
func (c *BoltCache) Initialize(accountId string) error {
36+
cacheDir, _ := os.UserCacheDir()
3837
c.account = accountId
39-
err := c.db.Update(func(tx *bbolt.Tx) error {
38+
db, err := bbolt.Open(filepath.Join(cacheDir, "awsets", accountId), 0755, nil)
39+
if err != nil {
40+
return fmt.Errorf("failed to open cache: %w\n", err)
41+
}
42+
c.db = db
43+
err = c.db.Update(func(tx *bbolt.Tx) error {
4044
_, err := tx.CreateBucketIfNotExists([]byte(c.account))
4145
if err != nil {
4246
return fmt.Errorf("failed to create or get bucket: %w\n", err)

cmd/awsets/go.mod

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ module github.com/trek10inc/awsets/cmd/awsets
33
go 1.15
44

55
require (
6-
github.com/aws/aws-sdk-go-v2 v1.0.0
7-
github.com/aws/aws-sdk-go-v2/config v1.0.0
8-
github.com/cheggaaa/pb/v3 v3.0.5
6+
github.com/aws/aws-sdk-go-v2 v1.4.0
7+
github.com/aws/aws-sdk-go-v2/config v1.1.7
8+
github.com/cheggaaa/pb/v3 v3.0.8
99
github.com/emicklei/dot v0.15.0
1010
github.com/jmespath/go-jmespath v0.4.0
11-
github.com/trek10inc/awsets v0.8.0
11+
github.com/trek10inc/awsets v0.9.0
1212
github.com/urfave/cli/v2 v2.3.0
1313
go.etcd.io/bbolt v1.3.5
1414
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect

cmd/awsets/go.sum

+373-551
Large diffs are not rendered by default.

go.mod

+84-84
Original file line numberDiff line numberDiff line change
@@ -3,90 +3,90 @@ module github.com/trek10inc/awsets
33
go 1.15
44

55
require (
6-
github.com/aws/aws-sdk-go-v2 v1.0.0
7-
github.com/aws/aws-sdk-go-v2/config v1.0.0
8-
github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.0.0
9-
github.com/aws/aws-sdk-go-v2/service/acm v1.0.0
10-
github.com/aws/aws-sdk-go-v2/service/amplify v1.0.0
11-
github.com/aws/aws-sdk-go-v2/service/apigateway v1.0.0
12-
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.0.0
13-
github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.0.0
14-
github.com/aws/aws-sdk-go-v2/service/appmesh v1.0.0
15-
github.com/aws/aws-sdk-go-v2/service/appsync v1.0.0
16-
github.com/aws/aws-sdk-go-v2/service/athena v1.0.0
17-
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.0.0
18-
github.com/aws/aws-sdk-go-v2/service/backup v1.0.0
19-
github.com/aws/aws-sdk-go-v2/service/batch v1.0.0
20-
github.com/aws/aws-sdk-go-v2/service/budgets v1.0.0
21-
github.com/aws/aws-sdk-go-v2/service/cloud9 v1.0.0
22-
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.0.0
23-
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.0.0
24-
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.0.0
25-
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.0.0
26-
github.com/aws/aws-sdk-go-v2/service/cloudwatchevents v1.0.0
27-
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.0.0
28-
github.com/aws/aws-sdk-go-v2/service/codebuild v1.0.0
29-
github.com/aws/aws-sdk-go-v2/service/codecommit v1.0.0
30-
github.com/aws/aws-sdk-go-v2/service/codedeploy v1.0.0
31-
github.com/aws/aws-sdk-go-v2/service/codepipeline v1.0.0
32-
github.com/aws/aws-sdk-go-v2/service/codestar v1.0.0
33-
github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.0.0
34-
github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.0.0
35-
github.com/aws/aws-sdk-go-v2/service/configservice v1.0.0
36-
github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.0.0
37-
github.com/aws/aws-sdk-go-v2/service/dax v1.0.0
38-
github.com/aws/aws-sdk-go-v2/service/docdb v1.0.0
39-
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.0.0
40-
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.0.0
41-
github.com/aws/aws-sdk-go-v2/service/ec2 v1.0.0
42-
github.com/aws/aws-sdk-go-v2/service/ecr v1.0.0
43-
github.com/aws/aws-sdk-go-v2/service/ecs v1.0.0
44-
github.com/aws/aws-sdk-go-v2/service/efs v1.0.0
45-
github.com/aws/aws-sdk-go-v2/service/eks v1.0.0
46-
github.com/aws/aws-sdk-go-v2/service/elasticache v1.0.0
47-
github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.0.0
48-
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.0.0
49-
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.0.0
50-
github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.0.0
51-
github.com/aws/aws-sdk-go-v2/service/emr v1.0.0
52-
github.com/aws/aws-sdk-go-v2/service/firehose v1.0.0
53-
github.com/aws/aws-sdk-go-v2/service/fsx v1.0.0
54-
github.com/aws/aws-sdk-go-v2/service/glue v1.0.0
55-
github.com/aws/aws-sdk-go-v2/service/greengrass v1.0.0
56-
github.com/aws/aws-sdk-go-v2/service/guardduty v1.0.0
57-
github.com/aws/aws-sdk-go-v2/service/iam v1.0.0
58-
github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.0.0
59-
github.com/aws/aws-sdk-go-v2/service/iot v1.0.0
60-
github.com/aws/aws-sdk-go-v2/service/iotsitewise v1.0.0
61-
github.com/aws/aws-sdk-go-v2/service/kafka v1.0.0
62-
github.com/aws/aws-sdk-go-v2/service/kinesis v1.0.0
63-
github.com/aws/aws-sdk-go-v2/service/kms v1.0.0
64-
github.com/aws/aws-sdk-go-v2/service/lambda v1.0.0
65-
github.com/aws/aws-sdk-go-v2/service/mq v1.0.0
66-
github.com/aws/aws-sdk-go-v2/service/neptune v1.0.0
67-
github.com/aws/aws-sdk-go-v2/service/qldb v1.0.0
68-
github.com/aws/aws-sdk-go-v2/service/rds v1.0.0
69-
github.com/aws/aws-sdk-go-v2/service/redshift v1.0.0
70-
github.com/aws/aws-sdk-go-v2/service/route53 v1.0.0
71-
github.com/aws/aws-sdk-go-v2/service/s3 v1.0.0
72-
github.com/aws/aws-sdk-go-v2/service/sagemaker v1.0.0
73-
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.0.0
74-
github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.0.0
75-
github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.0.0
76-
github.com/aws/aws-sdk-go-v2/service/ses v1.0.0
77-
github.com/aws/aws-sdk-go-v2/service/sfn v1.0.0
78-
github.com/aws/aws-sdk-go-v2/service/signer v1.0.0
79-
github.com/aws/aws-sdk-go-v2/service/sns v1.0.0
80-
github.com/aws/aws-sdk-go-v2/service/sqs v1.0.0
81-
github.com/aws/aws-sdk-go-v2/service/ssm v1.0.0
82-
github.com/aws/aws-sdk-go-v2/service/sts v1.0.0
83-
//github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.0.0
84-
//github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.0.0
85-
github.com/aws/aws-sdk-go-v2/service/transfer v1.0.0
86-
github.com/aws/aws-sdk-go-v2/service/waf v1.0.0
87-
github.com/aws/aws-sdk-go-v2/service/wafregional v1.0.0
88-
github.com/aws/aws-sdk-go-v2/service/wafv2 v1.0.0
89-
github.com/aws/aws-sdk-go-v2/service/workspaces v1.0.0
6+
github.com/aws/aws-sdk-go-v2 v1.4.0
7+
github.com/aws/aws-sdk-go-v2/config v1.1.7
8+
github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.3.1
9+
github.com/aws/aws-sdk-go-v2/service/acm v1.2.3
10+
github.com/aws/aws-sdk-go-v2/service/amplify v1.1.6
11+
github.com/aws/aws-sdk-go-v2/service/apigateway v1.3.0
12+
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.2.3
13+
github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.2.3
14+
github.com/aws/aws-sdk-go-v2/service/appmesh v1.2.3
15+
github.com/aws/aws-sdk-go-v2/service/appsync v1.2.3
16+
github.com/aws/aws-sdk-go-v2/service/athena v1.2.3
17+
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.3.1
18+
github.com/aws/aws-sdk-go-v2/service/backup v1.2.3
19+
github.com/aws/aws-sdk-go-v2/service/batch v1.3.2
20+
github.com/aws/aws-sdk-go-v2/service/budgets v1.1.6
21+
github.com/aws/aws-sdk-go-v2/service/cloud9 v1.3.1
22+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.4.0
23+
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.4.0
24+
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.2.3
25+
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.3.2
26+
github.com/aws/aws-sdk-go-v2/service/cloudwatchevents v1.3.2
27+
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.2.3
28+
github.com/aws/aws-sdk-go-v2/service/codebuild v1.3.1
29+
github.com/aws/aws-sdk-go-v2/service/codecommit v1.1.6
30+
github.com/aws/aws-sdk-go-v2/service/codedeploy v1.3.1
31+
github.com/aws/aws-sdk-go-v2/service/codepipeline v1.2.3
32+
github.com/aws/aws-sdk-go-v2/service/codestar v1.1.6
33+
github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.2.3
34+
github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.2.4
35+
github.com/aws/aws-sdk-go-v2/service/configservice v1.4.1
36+
github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.3.1
37+
github.com/aws/aws-sdk-go-v2/service/dax v1.1.6
38+
github.com/aws/aws-sdk-go-v2/service/docdb v1.4.0
39+
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.2.3
40+
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.1.6
41+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.6.0
42+
github.com/aws/aws-sdk-go-v2/service/ecr v1.2.3
43+
github.com/aws/aws-sdk-go-v2/service/ecs v1.3.0
44+
github.com/aws/aws-sdk-go-v2/service/efs v1.2.3
45+
github.com/aws/aws-sdk-go-v2/service/eks v1.3.0
46+
github.com/aws/aws-sdk-go-v2/service/elasticache v1.4.1
47+
github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.2.3
48+
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.2.3
49+
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.2.3
50+
github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.2.3
51+
github.com/aws/aws-sdk-go-v2/service/emr v1.2.3
52+
github.com/aws/aws-sdk-go-v2/service/firehose v1.2.3
53+
github.com/aws/aws-sdk-go-v2/service/fsx v1.3.1
54+
github.com/aws/aws-sdk-go-v2/service/glue v1.4.0
55+
github.com/aws/aws-sdk-go-v2/service/greengrass v1.3.2
56+
github.com/aws/aws-sdk-go-v2/service/guardduty v1.2.3
57+
github.com/aws/aws-sdk-go-v2/service/iam v1.3.2
58+
github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.3.1
59+
github.com/aws/aws-sdk-go-v2/service/iot v1.3.2
60+
github.com/aws/aws-sdk-go-v2/service/iotsitewise v1.3.0
61+
github.com/aws/aws-sdk-go-v2/service/kafka v1.3.0
62+
github.com/aws/aws-sdk-go-v2/service/kinesis v1.2.3
63+
github.com/aws/aws-sdk-go-v2/service/kms v1.2.3
64+
github.com/aws/aws-sdk-go-v2/service/lambda v1.2.3
65+
github.com/aws/aws-sdk-go-v2/service/mq v1.1.6
66+
github.com/aws/aws-sdk-go-v2/service/neptune v1.3.3
67+
github.com/aws/aws-sdk-go-v2/service/qldb v1.1.6
68+
github.com/aws/aws-sdk-go-v2/service/rds v1.3.1
69+
github.com/aws/aws-sdk-go-v2/service/redshift v1.5.1
70+
github.com/aws/aws-sdk-go-v2/service/route53 v1.5.0
71+
github.com/aws/aws-sdk-go-v2/service/s3 v1.6.0
72+
github.com/aws/aws-sdk-go-v2/service/sagemaker v1.4.0
73+
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.2.3
74+
github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.2.3
75+
github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.3.0
76+
github.com/aws/aws-sdk-go-v2/service/ses v1.2.3
77+
github.com/aws/aws-sdk-go-v2/service/sfn v1.2.3
78+
github.com/aws/aws-sdk-go-v2/service/signer v1.2.3
79+
github.com/aws/aws-sdk-go-v2/service/sns v1.3.0
80+
github.com/aws/aws-sdk-go-v2/service/sqs v1.3.2
81+
github.com/aws/aws-sdk-go-v2/service/ssm v1.5.0
82+
github.com/aws/aws-sdk-go-v2/service/sts v1.3.1
83+
//github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.1.1
84+
//github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.1.1
85+
github.com/aws/aws-sdk-go-v2/service/transfer v1.2.3
86+
github.com/aws/aws-sdk-go-v2/service/waf v1.1.6
87+
github.com/aws/aws-sdk-go-v2/service/wafregional v1.2.3
88+
github.com/aws/aws-sdk-go-v2/service/wafv2 v1.4.1
89+
github.com/aws/aws-sdk-go-v2/service/workspaces v1.2.3
9090
github.com/fatih/structs v1.1.0
9191
gopkg.in/yaml.v2 v2.4.0
9292
)

0 commit comments

Comments
 (0)