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

Commit 925f2fd

Browse files
committed
Add DMS support
1 parent a3924b5 commit 925f2fd

6 files changed

+360
-0
lines changed
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/databasemigrationservice"
7+
)
8+
9+
type DatabaseMigrationServiceCertificate struct {
10+
svc *databasemigrationservice.DatabaseMigrationService
11+
ARN *string
12+
}
13+
14+
func init() {
15+
register("DatabaseMigrationServiceCertificate", ListDatabaseMigrationServiceCertificates)
16+
}
17+
18+
func ListDatabaseMigrationServiceCertificates(sess *session.Session) ([]Resource, error) {
19+
svc := databasemigrationservice.New(sess)
20+
resources := []Resource{}
21+
22+
params := &databasemigrationservice.DescribeCertificatesInput{
23+
MaxRecords: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeCertificates(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, certificate := range output.Certificates {
33+
resources = append(resources, &DatabaseMigrationServiceCertificate{
34+
svc: svc,
35+
ARN: certificate.CertificateArn,
36+
})
37+
}
38+
39+
if output.Marker == nil {
40+
break
41+
}
42+
43+
params.Marker = output.Marker
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DatabaseMigrationServiceCertificate) Remove() error {
50+
51+
_, err := f.svc.DeleteEndpoint(&databasemigrationservice.DeleteEndpointInput{
52+
EndpointArn: f.ARN,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DatabaseMigrationServiceCertificate) String() string {
59+
return *f.ARN
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/databasemigrationservice"
7+
)
8+
9+
type DatabaseMigrationServiceEndpoint struct {
10+
svc *databasemigrationservice.DatabaseMigrationService
11+
ARN *string
12+
}
13+
14+
func init() {
15+
register("DatabaseMigrationServiceEndpoint", ListDatabaseMigrationServiceEndpoints)
16+
}
17+
18+
func ListDatabaseMigrationServiceEndpoints(sess *session.Session) ([]Resource, error) {
19+
svc := databasemigrationservice.New(sess)
20+
resources := []Resource{}
21+
22+
params := &databasemigrationservice.DescribeEndpointsInput{
23+
MaxRecords: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeEndpoints(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, endpoint := range output.Endpoints {
33+
resources = append(resources, &DatabaseMigrationServiceEndpoint{
34+
svc: svc,
35+
ARN: endpoint.EndpointArn,
36+
})
37+
}
38+
39+
if output.Marker == nil {
40+
break
41+
}
42+
43+
params.Marker = output.Marker
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DatabaseMigrationServiceEndpoint) Remove() error {
50+
51+
_, err := f.svc.DeleteEndpoint(&databasemigrationservice.DeleteEndpointInput{
52+
EndpointArn: f.ARN,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DatabaseMigrationServiceEndpoint) String() string {
59+
return *f.ARN
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/databasemigrationservice"
7+
)
8+
9+
type DatabaseMigrationServiceEventSubscription struct {
10+
svc *databasemigrationservice.DatabaseMigrationService
11+
subscriptionName *string
12+
}
13+
14+
func init() {
15+
register("DatabaseMigrationServiceEventSubscription", ListDatabaseMigrationServiceEventSubscriptions)
16+
}
17+
18+
func ListDatabaseMigrationServiceEventSubscriptions(sess *session.Session) ([]Resource, error) {
19+
svc := databasemigrationservice.New(sess)
20+
resources := []Resource{}
21+
22+
params := &databasemigrationservice.DescribeEventSubscriptionsInput{
23+
MaxRecords: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeEventSubscriptions(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, eventSubscription := range output.EventSubscriptionsList {
33+
resources = append(resources, &DatabaseMigrationServiceEventSubscription{
34+
svc: svc,
35+
subscriptionName: eventSubscription.CustSubscriptionId,
36+
})
37+
}
38+
39+
if output.Marker == nil {
40+
break
41+
}
42+
43+
params.Marker = output.Marker
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DatabaseMigrationServiceEventSubscription) Remove() error {
50+
51+
_, err := f.svc.DeleteEventSubscription(&databasemigrationservice.DeleteEventSubscriptionInput{
52+
SubscriptionName: f.subscriptionName,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DatabaseMigrationServiceEventSubscription) String() string {
59+
return *f.subscriptionName
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/databasemigrationservice"
7+
)
8+
9+
type DatabaseMigrationServiceReplicationInstance struct {
10+
svc *databasemigrationservice.DatabaseMigrationService
11+
ARN *string
12+
}
13+
14+
func init() {
15+
register("DatabaseMigrationServiceReplicationInstance", ListDatabaseMigrationServiceReplicationInstances)
16+
}
17+
18+
func ListDatabaseMigrationServiceReplicationInstances(sess *session.Session) ([]Resource, error) {
19+
svc := databasemigrationservice.New(sess)
20+
resources := []Resource{}
21+
22+
params := &databasemigrationservice.DescribeReplicationInstancesInput{
23+
MaxRecords: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeReplicationInstances(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, replicationInstance := range output.ReplicationInstances {
33+
resources = append(resources, &DatabaseMigrationServiceReplicationInstance{
34+
svc: svc,
35+
ARN: replicationInstance.ReplicationInstanceArn,
36+
})
37+
}
38+
39+
if output.Marker == nil {
40+
break
41+
}
42+
43+
params.Marker = output.Marker
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DatabaseMigrationServiceReplicationInstance) Remove() error {
50+
51+
_, err := f.svc.DeleteReplicationInstance(&databasemigrationservice.DeleteReplicationInstanceInput{
52+
ReplicationInstanceArn: f.ARN,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DatabaseMigrationServiceReplicationInstance) String() string {
59+
return *f.ARN
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/databasemigrationservice"
7+
)
8+
9+
type DatabaseMigrationServiceReplicationTask struct {
10+
svc *databasemigrationservice.DatabaseMigrationService
11+
ARN *string
12+
}
13+
14+
func init() {
15+
register("DatabaseMigrationServiceReplicationTask", ListDatabaseMigrationServiceReplicationTasks)
16+
}
17+
18+
func ListDatabaseMigrationServiceReplicationTasks(sess *session.Session) ([]Resource, error) {
19+
svc := databasemigrationservice.New(sess)
20+
resources := []Resource{}
21+
22+
params := &databasemigrationservice.DescribeReplicationTasksInput{
23+
MaxRecords: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeReplicationTasks(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, replicationTask := range output.ReplicationTasks {
33+
resources = append(resources, &DatabaseMigrationServiceReplicationTask{
34+
svc: svc,
35+
ARN: replicationTask.ReplicationTaskArn,
36+
})
37+
}
38+
39+
if output.Marker == nil {
40+
break
41+
}
42+
43+
params.Marker = output.Marker
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DatabaseMigrationServiceReplicationTask) Remove() error {
50+
51+
_, err := f.svc.DeleteReplicationTask(&databasemigrationservice.DeleteReplicationTaskInput{
52+
ReplicationTaskArn: f.ARN,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DatabaseMigrationServiceReplicationTask) String() string {
59+
return *f.ARN
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/databasemigrationservice"
7+
)
8+
9+
type DatabaseMigrationServiceSubnetGroup struct {
10+
svc *databasemigrationservice.DatabaseMigrationService
11+
ID *string
12+
}
13+
14+
func init() {
15+
register("DatabaseMigrationServiceSubnetGroup", ListDatabaseMigrationServiceSubnetGroups)
16+
}
17+
18+
func ListDatabaseMigrationServiceSubnetGroups(sess *session.Session) ([]Resource, error) {
19+
svc := databasemigrationservice.New(sess)
20+
resources := []Resource{}
21+
22+
params := &databasemigrationservice.DescribeReplicationSubnetGroupsInput{
23+
MaxRecords: aws.Int64(100),
24+
}
25+
26+
for {
27+
output, err := svc.DescribeReplicationSubnetGroups(params)
28+
if err != nil {
29+
return nil, err
30+
}
31+
32+
for _, replicationSubnetGroup := range output.ReplicationSubnetGroups {
33+
resources = append(resources, &DatabaseMigrationServiceSubnetGroup{
34+
svc: svc,
35+
ID: replicationSubnetGroup.ReplicationSubnetGroupIdentifier,
36+
})
37+
}
38+
39+
if output.Marker == nil {
40+
break
41+
}
42+
43+
params.Marker = output.Marker
44+
}
45+
46+
return resources, nil
47+
}
48+
49+
func (f *DatabaseMigrationServiceSubnetGroup) Remove() error {
50+
51+
_, err := f.svc.DeleteReplicationSubnetGroup(&databasemigrationservice.DeleteReplicationSubnetGroupInput{
52+
ReplicationSubnetGroupIdentifier: f.ID,
53+
})
54+
55+
return err
56+
}
57+
58+
func (f *DatabaseMigrationServiceSubnetGroup) String() string {
59+
return *f.ID
60+
}

0 commit comments

Comments
 (0)