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

Adding tag support for FirehoseDeliveryStreams #1088

Merged
merged 31 commits into from
Aug 25, 2023
Merged
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c9c33dd
adding code for removing custom origin request policies
MikeSchouw Jul 16, 2023
75f18ff
rename resource
MikeSchouw Jul 17, 2023
ff6a0ee
test for replication
MikeSchouw Jul 18, 2023
c4d9498
revert secretsmanager change
MikeSchouw Jul 18, 2023
1d9fb35
undo this
MikeSchouw Jul 18, 2023
553cce1
revert mod and sum changes
MikeSchouw Jul 18, 2023
a46a34e
Merge pull request #1 from MikeSchouw/feature/cloudfront-origin-reque…
MikeSchouw Jul 18, 2023
5ca24cc
add resources for redshift scheduled actions
MikeSchouw Jul 19, 2023
2a55090
remove cloudfront resource
MikeSchouw Jul 24, 2023
6c05044
clean up
MikeSchouw Jul 24, 2023
206b389
cloudwatch rum app
MikeSchouw Jul 24, 2023
6731f08
Merge pull request #2 from MikeSchouw/feature/cloudwatch-rum
MikeSchouw Jul 24, 2023
477eb0a
Merge pull request #3 from MikeSchouw/feature/redshift-scheduled-action
MikeSchouw Jul 24, 2023
1381c2f
remove rum
MikeSchouw Jul 24, 2023
b203bf7
add cloudfront origin request policy
MikeSchouw Jul 24, 2023
4e5bbc2
remove
MikeSchouw Jul 24, 2023
2088c94
Merge branch 'main' into feat/cloudfront-origin-request-policy
MikeSchouw Jul 25, 2023
0c4f191
test release pipeline
MikeSchouw Jul 26, 2023
647196a
Merge branch 'main' of github.com:MikeSchouw/aws-nuke
MikeSchouw Jul 26, 2023
1d2c89e
Merge pull request #4 from MikeSchouw/feat/cloudfront-origin-request-…
MikeSchouw Jul 26, 2023
8cfb8ee
Merge branch 'main' of github.com:MikeSchouw/aws-nuke
MikeSchouw Jul 26, 2023
ee18457
add these two
MikeSchouw Jul 27, 2023
0fc8a76
Merge pull request #5 from MikeSchouw/feature/merge-others
MikeSchouw Jul 27, 2023
52e10c2
update agent to self-hosted
MikeSchouw Jul 27, 2023
eb8fe10
Merge branch 'main' of github.com:MikeSchouw/aws-nuke
MikeSchouw Jul 27, 2023
effe622
merging main
MikeSchouw Aug 24, 2023
4a69272
initial commit without storing the latest tag, max tags = 1
MikeSchouw Aug 24, 2023
ee3fd06
initial commit without storing the latest tag, max tags = 1
MikeSchouw Aug 24, 2023
bdc843e
simplified the if-statement
MikeSchouw Aug 24, 2023
f7d27cc
PR ready
MikeSchouw Aug 24, 2023
d655e00
Update release.yaml
MikeSchouw Aug 24, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 35 additions & 1 deletion resources/firehose-deliverystreams.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/firehose"
"github.com/rebuy-de/aws-nuke/v2/pkg/types"
)

type FirehoseDeliveryStream struct {
svc *firehose.Firehose
deliveryStreamName *string
tags []*firehose.Tag
}

func init() {
Expand All @@ -18,6 +20,7 @@ func init() {
func ListFirehoseDeliveryStreams(sess *session.Session) ([]Resource, error) {
svc := firehose.New(sess)
resources := []Resource{}
tags := []*firehose.Tag{}
var lastDeliveryStreamName *string

params := &firehose.ListDeliveryStreamsInput{
Expand All @@ -31,14 +34,35 @@ func ListFirehoseDeliveryStreams(sess *session.Session) ([]Resource, error) {
}

for _, deliveryStreamName := range output.DeliveryStreamNames {
tagParams := &firehose.ListTagsForDeliveryStreamInput{
DeliveryStreamName: deliveryStreamName,
Limit: aws.Int64(50),
}

for {
tagResp, tagErr := svc.ListTagsForDeliveryStream(tagParams)
if tagErr != nil {
return nil, tagErr
}

tags = append(tags, tagResp.Tags...)
if !*tagResp.HasMoreTags {
break
}

tagParams.ExclusiveStartTagKey = tagResp.Tags[len(tagResp.Tags)-1].Key
}

resources = append(resources, &FirehoseDeliveryStream{
svc: svc,
deliveryStreamName: deliveryStreamName,
tags: tags,
})

lastDeliveryStreamName = deliveryStreamName
}

if *output.HasMoreDeliveryStreams == false {
if !*output.HasMoreDeliveryStreams {
break
}

Expand All @@ -60,3 +84,13 @@ func (f *FirehoseDeliveryStream) Remove() error {
func (f *FirehoseDeliveryStream) String() string {
return *f.deliveryStreamName
}

func (f *FirehoseDeliveryStream) Properties() types.Properties {
properties := types.NewProperties()
for _, tag := range f.tags {
properties.SetTag(tag.Key, tag.Value)
}

properties.Set("Name", f.deliveryStreamName)
return properties
}