Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 7fa35a2

Browse files
committed
Add DAX Resources for deletion
1 parent 2c7afae commit 7fa35a2

File tree

3 files changed

+185
-0
lines changed

3 files changed

+185
-0
lines changed

resources/dax-clusters.go

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package resources
2+
3+
import (
4+
"github.com/aws/aws-sdk-go/aws"
5+
"github.com/aws/aws-sdk-go/aws/session"
6+
"github.com/aws/aws-sdk-go/service/dax"
7+
)
8+
9+
type DAXCluster struct {
10+
svc *dax.DAX
11+
clusterName *string
12+
}
13+
14+
func init() {
15+
register("DAXCluster", ListDAXClusters)
16+
}
17+
18+
func ListDAXClusters(sess *session.Session) ([]Resource, error) {
19+
svc := dax.New(sess)
20+
resources := []Resource{}
21+
22+
params := &dax.DescribeClustersInput{
23+
MaxResults: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeClusters(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, cluster := range output.Clusters {
33+
resources = append(resources, &DAXCluster{
34+
svc: svc,
35+
clusterName: cluster.ClusterName,
36+
})
37+
}
38+
39+
if output.NextToken == nil {
40+
break
41+
}
42+
43+
params.NextToken = output.NextToken
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DAXCluster) Remove() error {
50+
51+
_, err := f.svc.DeleteCluster(&dax.DeleteClusterInput{
52+
ClusterName: f.clusterName,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DAXCluster) String() string {
59+
return *f.clusterName
60+
}

resources/dax-parametergroups.go

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package resources
2+
3+
import (
4+
"strings"
5+
6+
"github.com/aws/aws-sdk-go/aws"
7+
"github.com/aws/aws-sdk-go/aws/session"
8+
"github.com/aws/aws-sdk-go/service/dax"
9+
)
10+
11+
type DAXParameterGroup struct {
12+
svc *dax.DAX
13+
parameterGroupName *string
14+
}
15+
16+
func init() {
17+
register("DAXParameterGroup", ListDAXParameterGroups)
18+
}
19+
20+
func ListDAXParameterGroups(sess *session.Session) ([]Resource, error) {
21+
svc := dax.New(sess)
22+
resources := []Resource{}
23+
24+
params := &dax.DescribeParameterGroupsInput{
25+
MaxResults: aws.Int64(100),
26+
}
27+
28+
for {
29+
output, err := svc.DescribeParameterGroups(params)
30+
if err != nil {
31+
return nil, err
32+
}
33+
34+
for _, parameterGroup := range output.ParameterGroups {
35+
//Ensure default is not deleted
36+
if !strings.Contains(*parameterGroup.ParameterGroupName, "default") {
37+
resources = append(resources, &DAXParameterGroup{
38+
svc: svc,
39+
parameterGroupName: parameterGroup.ParameterGroupName,
40+
})
41+
}
42+
}
43+
44+
if output.NextToken == nil {
45+
break
46+
}
47+
48+
params.NextToken = output.NextToken
49+
}
50+
51+
return resources, nil
52+
}
53+
54+
func (f *DAXParameterGroup) Remove() error {
55+
56+
_, err := f.svc.DeleteParameterGroup(&dax.DeleteParameterGroupInput{
57+
ParameterGroupName: f.parameterGroupName,
58+
})
59+
60+
return err
61+
}
62+
63+
func (f *DAXParameterGroup) String() string {
64+
return *f.parameterGroupName
65+
}

resources/dax-subnetgroups.go

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package resources
2+
3+
import (
4+
"github.com/aws/aws-sdk-go/aws"
5+
"github.com/aws/aws-sdk-go/aws/session"
6+
"github.com/aws/aws-sdk-go/service/dax"
7+
)
8+
9+
type DAXSubnetGroup struct {
10+
svc *dax.DAX
11+
subnetGroupName *string
12+
}
13+
14+
func init() {
15+
register("DAXSubnetGroup", ListDAXSubnetGroups)
16+
}
17+
18+
func ListDAXSubnetGroups(sess *session.Session) ([]Resource, error) {
19+
svc := dax.New(sess)
20+
resources := []Resource{}
21+
22+
params := &dax.DescribeSubnetGroupsInput{
23+
MaxResults: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeSubnetGroups(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, subnet := range output.SubnetGroups {
33+
resources = append(resources, &DAXSubnetGroup{
34+
svc: svc,
35+
subnetGroupName: subnet.SubnetGroupName,
36+
})
37+
}
38+
39+
if output.NextToken == nil {
40+
break
41+
}
42+
43+
params.NextToken = output.NextToken
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DAXSubnetGroup) Remove() error {
50+
51+
_, err := f.svc.DeleteSubnetGroup(&dax.DeleteSubnetGroupInput{
52+
SubnetGroupName: f.subnetGroupName,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DAXSubnetGroup) String() string {
59+
return *f.subnetGroupName
60+
}

0 commit comments

Comments
 (0)