This repository was archived by the owner on Oct 15, 2024. It is now read-only.
File tree 4 files changed +244
-0
lines changed
4 files changed +244
-0
lines changed Original file line number Diff line number Diff line change
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/storagegateway"
7
+ )
8
+
9
+ type StorageGatewayFileShare struct {
10
+ svc * storagegateway.StorageGateway
11
+ ARN * string
12
+ }
13
+
14
+ func init () {
15
+ register ("StorageGatewayFileShare" , ListStorageGatewayFileShares )
16
+ }
17
+
18
+ func ListStorageGatewayFileShares (sess * session.Session ) ([]Resource , error ) {
19
+ svc := storagegateway .New (sess )
20
+ resources := []Resource {}
21
+
22
+ params := & storagegateway.ListFileSharesInput {
23
+ Limit : aws .Int64 (25 ),
24
+ }
25
+
26
+ for {
27
+ output , err := svc .ListFileShares (params )
28
+ if err != nil {
29
+ return nil , err
30
+ }
31
+
32
+ for _ , fileShareInfo := range output .FileShareInfoList {
33
+ resources = append (resources , & StorageGatewayFileShare {
34
+ svc : svc ,
35
+ ARN : fileShareInfo .FileShareARN ,
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 * StorageGatewayFileShare ) Remove () error {
50
+
51
+ _ , err := f .svc .DeleteFileShare (& storagegateway.DeleteFileShareInput {
52
+ FileShareARN : f .ARN ,
53
+ ForceDelete : aws .Bool (true ),
54
+ })
55
+
56
+ return err
57
+ }
58
+
59
+ func (f * StorageGatewayFileShare ) String () string {
60
+ return * f .ARN
61
+ }
Original file line number Diff line number Diff line change
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/storagegateway"
7
+ )
8
+
9
+ type StorageGatewayGateway struct {
10
+ svc * storagegateway.StorageGateway
11
+ ARN * string
12
+ }
13
+
14
+ func init () {
15
+ register ("StorageGatewayGateway" , ListStorageGatewayGateways )
16
+ }
17
+
18
+ func ListStorageGatewayGateways (sess * session.Session ) ([]Resource , error ) {
19
+ svc := storagegateway .New (sess )
20
+ resources := []Resource {}
21
+
22
+ params := & storagegateway.ListGatewaysInput {
23
+ Limit : aws .Int64 (25 ),
24
+ }
25
+
26
+ for {
27
+ output , err := svc .ListGateways (params )
28
+ if err != nil {
29
+ return nil , err
30
+ }
31
+
32
+ for _ , gateway := range output .Gateways {
33
+ resources = append (resources , & StorageGatewayGateway {
34
+ svc : svc ,
35
+ ARN : gateway .GatewayARN ,
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 * StorageGatewayGateway ) Remove () error {
50
+
51
+ _ , err := f .svc .DeleteGateway (& storagegateway.DeleteGatewayInput {
52
+ GatewayARN : f .ARN ,
53
+ })
54
+
55
+ return err
56
+ }
57
+
58
+ func (f * StorageGatewayGateway ) String () string {
59
+ return * f .ARN
60
+ }
Original file line number Diff line number Diff line change
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/storagegateway"
7
+ )
8
+
9
+ type StorageGatewayTape struct {
10
+ svc * storagegateway.StorageGateway
11
+ tapeARN * string
12
+ gatewayARN * string
13
+ }
14
+
15
+ func init () {
16
+ register ("StorageGatewayTape" , ListStorageGatewayTapes )
17
+ }
18
+
19
+ func ListStorageGatewayTapes (sess * session.Session ) ([]Resource , error ) {
20
+ svc := storagegateway .New (sess )
21
+ resources := []Resource {}
22
+
23
+ params := & storagegateway.ListTapesInput {
24
+ Limit : aws .Int64 (25 ),
25
+ }
26
+
27
+ for {
28
+ output , err := svc .ListTapes (params )
29
+ if err != nil {
30
+ return nil , err
31
+ }
32
+
33
+ for _ , tapeInfo := range output .TapeInfos {
34
+ resources = append (resources , & StorageGatewayTape {
35
+ svc : svc ,
36
+ tapeARN : tapeInfo .TapeARN ,
37
+ gatewayARN : tapeInfo .GatewayARN ,
38
+ })
39
+ }
40
+
41
+ if output .Marker == nil {
42
+ break
43
+ }
44
+
45
+ params .Marker = output .Marker
46
+ }
47
+
48
+ return resources , nil
49
+ }
50
+
51
+ func (f * StorageGatewayTape ) Remove () error {
52
+
53
+ _ , err := f .svc .DeleteTape (& storagegateway.DeleteTapeInput {
54
+ TapeARN : f .tapeARN ,
55
+ GatewayARN : f .gatewayARN ,
56
+ })
57
+
58
+ return err
59
+ }
60
+
61
+ func (f * StorageGatewayTape ) String () string {
62
+ return * f .tapeARN
63
+ }
Original file line number Diff line number Diff line change
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/storagegateway"
7
+ )
8
+
9
+ type StorageGatewayVolume struct {
10
+ svc * storagegateway.StorageGateway
11
+ ARN * string
12
+ }
13
+
14
+ func init () {
15
+ register ("StorageGatewayVolume" , ListStorageGatewayVolumes )
16
+ }
17
+
18
+ func ListStorageGatewayVolumes (sess * session.Session ) ([]Resource , error ) {
19
+ svc := storagegateway .New (sess )
20
+ resources := []Resource {}
21
+
22
+ params := & storagegateway.ListVolumesInput {
23
+ Limit : aws .Int64 (25 ),
24
+ }
25
+
26
+ for {
27
+ output , err := svc .ListVolumes (params )
28
+ if err != nil {
29
+ return nil , err
30
+ }
31
+
32
+ for _ , volumeInfo := range output .VolumeInfos {
33
+ resources = append (resources , & StorageGatewayVolume {
34
+ svc : svc ,
35
+ ARN : volumeInfo .VolumeARN ,
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 * StorageGatewayVolume ) Remove () error {
50
+
51
+ _ , err := f .svc .DeleteVolume (& storagegateway.DeleteVolumeInput {
52
+ VolumeARN : f .ARN ,
53
+ })
54
+
55
+ return err
56
+ }
57
+
58
+ func (f * StorageGatewayVolume ) String () string {
59
+ return * f .ARN
60
+ }
You can’t perform that action at this time.
0 commit comments