Skip to content

Commit 96f7e14

Browse files
Add support for codedeploy deployment groups, adding map for custom action types.
1 parent 0bc09f2 commit 96f7e14

File tree

3 files changed

+70
-2
lines changed

3 files changed

+70
-2
lines changed

resources/codedeploy-deployment-configs.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ func (f *CodeDeployDeploymentConfig) Filter() error {
5555
}
5656

5757
func (f *CodeDeployDeploymentConfig) Remove() error {
58-
5958
_, err := f.svc.DeleteDeploymentConfig(&codedeploy.DeleteDeploymentConfigInput{
6059
DeploymentConfigName: f.deploymentConfigName,
6160
})
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package resources
2+
3+
import (
4+
"github.com/aws/aws-sdk-go/aws/session"
5+
"github.com/aws/aws-sdk-go/service/codedeploy"
6+
"github.com/rebuy-de/aws-nuke/v2/pkg/types"
7+
)
8+
9+
type CodeDeployDeploymentGroup struct {
10+
svc *codedeploy.CodeDeploy
11+
deploymentGroupName *string
12+
applicationName *string
13+
}
14+
15+
func init() {
16+
register("CodeDeployDeploymentGroup", ListCodeDeployDeploymentGroups)
17+
}
18+
19+
func ListCodeDeployDeploymentGroups(sess *session.Session) ([]Resource, error) {
20+
svc := codedeploy.New(sess)
21+
resources := []Resource{}
22+
23+
appParams := &codedeploy.ListApplicationsInput{}
24+
appResp, err := svc.ListApplications(appParams)
25+
if err != nil {
26+
return nil, err
27+
}
28+
29+
for _, appName := range appResp.Applications {
30+
// For each application, list deployment groups
31+
deploymentGroupParams := &codedeploy.ListDeploymentGroupsInput{
32+
ApplicationName: appName,
33+
}
34+
deploymentGroupResp, err := svc.ListDeploymentGroups(deploymentGroupParams)
35+
if err != nil {
36+
return nil, err
37+
}
38+
39+
for _, group := range deploymentGroupResp.DeploymentGroups {
40+
resources = append(resources, &CodeDeployDeploymentGroup{
41+
svc: svc,
42+
deploymentGroupName: group,
43+
applicationName: appName,
44+
})
45+
}
46+
}
47+
48+
return resources, nil
49+
}
50+
51+
func (f *CodeDeployDeploymentGroup) Remove() error {
52+
_, err := f.svc.DeleteDeploymentGroup(&codedeploy.DeleteDeploymentGroupInput{
53+
ApplicationName: f.applicationName,
54+
DeploymentGroupName: f.deploymentGroupName,
55+
})
56+
57+
return err
58+
}
59+
60+
func (f *CodeDeployDeploymentGroup) Properties() types.Properties {
61+
properties := types.NewProperties()
62+
properties.Set("DeploymentGroupName", f.deploymentGroupName)
63+
properties.Set("ApplicationName", f.applicationName)
64+
return properties
65+
}
66+
67+
func (f *CodeDeployDeploymentGroup) String() string {
68+
return *f.deploymentGroupName
69+
}

resources/codepipeline-custom-action-types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type CodePipelineCustomActionType struct {
1717
}
1818

1919
func init() {
20-
register("CodePipelineCustomActionType", ListCodePipelineCustomActionTypes)
20+
register("CodePipelineCustomActionType", ListCodePipelineCustomActionTypes, mapCloudControl("AWS::CodePipeline::CustomActionType"))
2121
}
2222

2323
func ListCodePipelineCustomActionTypes(sess *session.Session) ([]Resource, error) {

0 commit comments

Comments
 (0)