Skip to content

Commit

Permalink
Merge pull request #119 from tomvachon/feature/firehose
Browse files Browse the repository at this point in the history
Add Firehose Delivery Streams
  • Loading branch information
svenwltr committed Mar 11, 2018
2 parents db20aba + d548ca2 commit 0f3c7e2
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions resources/firehose-deliverystreams.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package resources

import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/firehose"
)

type FirehoseDeliveryStream struct {
svc *firehose.Firehose
deliveryStreamName *string
}

func init() {
register("FirehoseDeliveryStream", ListFirehoseDeliveryStreams)
}

func ListFirehoseDeliveryStreams(sess *session.Session) ([]Resource, error) {
svc := firehose.New(sess)
resources := []Resource{}
var lastDeliveryStreamName *string

params := &firehose.ListDeliveryStreamsInput{
Limit: aws.Int64(25),
}

for {
output, err := svc.ListDeliveryStreams(params)
if err != nil {
return nil, err
}

for _, deliveryStreamName := range output.DeliveryStreamNames {
resources = append(resources, &FirehoseDeliveryStream{
svc: svc,
deliveryStreamName: deliveryStreamName,
})
lastDeliveryStreamName = deliveryStreamName
}

if *output.HasMoreDeliveryStreams == false {
break
}

params.ExclusiveStartDeliveryStreamName = lastDeliveryStreamName
}

return resources, nil
}

func (f *FirehoseDeliveryStream) Remove() error {

_, err := f.svc.DeleteDeliveryStream(&firehose.DeleteDeliveryStreamInput{
DeliveryStreamName: f.deliveryStreamName,
})

return err
}

func (f *FirehoseDeliveryStream) String() string {
return *f.deliveryStreamName
}

0 comments on commit 0f3c7e2

Please sign in to comment.