6
6
"log"
7
7
"strings"
8
8
9
- "github.com/aws-cloudformation/cloudformation-cli-go-plugin/cfn/encoding"
10
9
"github.com/aws-cloudformation/cloudformation-cli-go-plugin/cfn/handler"
10
+ "github.com/aws/aws-sdk-go/aws"
11
11
"github.com/google/go-github/github"
12
12
"golang.org/x/oauth2"
13
13
)
@@ -28,18 +28,18 @@ func parseURL(url string) (string, string) {
28
28
return parts [len (parts )- 2 ], parts [len (parts )- 1 ]
29
29
}
30
30
31
- // Create a repo
31
+ // Create handles the Create event from the Cloudformation service.
32
32
func Create (req handler.Request , prevModel * Model , currentModel * Model ) (handler.ProgressEvent , error ) {
33
- client := makeGitHubClient (* currentModel .OauthToken . Value () )
33
+ client := makeGitHubClient (* currentModel .OauthToken )
34
34
35
- log .Printf ("Attempting to create repository: %s/%s" , * currentModel .Owner . Value () , * currentModel .Name . Value () )
35
+ log .Printf ("Attempting to create repository: %s/%s" , * currentModel .Owner , * currentModel .Name )
36
36
37
37
repo , resp , err := client .Repositories .Create (context .Background (), "" , & github.Repository {
38
- Name : currentModel .Name . Value () ,
39
- Homepage : currentModel .Homepage . Value () ,
40
- Description : currentModel .Description . Value () ,
38
+ Name : currentModel .Name ,
39
+ Homepage : currentModel .Homepage ,
40
+ Description : currentModel .Description ,
41
41
Owner : & github.User {
42
- Name : currentModel .Owner . Value () ,
42
+ Name : currentModel .Owner ,
43
43
},
44
44
})
45
45
@@ -52,7 +52,7 @@ func Create(req handler.Request, prevModel *Model, currentModel *Model) (handler
52
52
return handler.ProgressEvent {}, fmt .Errorf ("Status Code: %d, Status: %v" , resp .StatusCode , resp .Status )
53
53
}
54
54
55
- currentModel .URL = encoding . NewString (repo .GetURL ())
55
+ currentModel .URL = aws . String (repo .GetURL ())
56
56
57
57
return handler.ProgressEvent {
58
58
OperationStatus : handler .Success ,
@@ -61,12 +61,12 @@ func Create(req handler.Request, prevModel *Model, currentModel *Model) (handler
61
61
}, nil
62
62
}
63
63
64
- // Read a repo status
64
+ // Read handles the Read event from the Cloudformation service.
65
65
func Read (req handler.Request , prevModel * Model , currentModel * Model ) (handler.ProgressEvent , error ) {
66
- owner , repoName := parseURL (* currentModel .URL . Value () )
66
+ owner , repoName := parseURL (* currentModel .URL )
67
67
68
- log .Printf ("Looking for repository: %s/%s" , * currentModel .Owner . Value () , * currentModel .Name . Value () )
69
- client := makeGitHubClient (* currentModel .OauthToken . Value () )
68
+ log .Printf ("Looking for repository: %s/%s" , * currentModel .Owner , * currentModel .Name )
69
+ client := makeGitHubClient (* currentModel .OauthToken )
70
70
repo , resp , err := client .Repositories .Get (context .Background (), owner , repoName )
71
71
if err != nil {
72
72
return handler.ProgressEvent {}, err
@@ -77,10 +77,10 @@ func Read(req handler.Request, prevModel *Model, currentModel *Model) (handler.P
77
77
return handler.ProgressEvent {}, fmt .Errorf ("Status Code: %d, Status: %v" , resp .StatusCode , resp .Status )
78
78
}
79
79
80
- currentModel .Name = encoding . NewString (* repo .Name )
81
- currentModel .Owner = encoding . NewString (* repo .Owner .Name )
82
- currentModel .Description = encoding . NewString (* repo .Description )
83
- currentModel .Homepage = encoding . NewString (* repo .Homepage )
80
+ currentModel .Name = aws . String (* repo .Name )
81
+ currentModel .Owner = aws . String (* repo .Owner .Name )
82
+ currentModel .Description = aws . String (* repo .Description )
83
+ currentModel .Homepage = aws . String (* repo .Homepage )
84
84
85
85
return handler.ProgressEvent {
86
86
OperationStatus : handler .Success ,
@@ -89,16 +89,16 @@ func Read(req handler.Request, prevModel *Model, currentModel *Model) (handler.P
89
89
}, nil
90
90
}
91
91
92
- // Update a repo
92
+ // Update handles the Update event from the Cloudformation service.
93
93
func Update (req handler.Request , prevModel * Model , currentModel * Model ) (handler.ProgressEvent , error ) {
94
- owner , repoName := parseURL (* currentModel .URL . Value () )
94
+ owner , repoName := parseURL (* currentModel .URL )
95
95
96
- log .Printf ("Looking for repository: %s/%s" , * currentModel .Owner . Value () , * currentModel .Name . Value () )
97
- client := makeGitHubClient (* currentModel .OauthToken . Value () )
96
+ log .Printf ("Looking for repository: %s/%s" , * currentModel .Owner , * currentModel .Name )
97
+ client := makeGitHubClient (* currentModel .OauthToken )
98
98
99
99
_ , resp , err := client .Repositories .Edit (context .Background (), owner , repoName , & github.Repository {
100
- Homepage : currentModel .Homepage . Value () ,
101
- Description : currentModel .Description . Value () ,
100
+ Homepage : currentModel .Homepage ,
101
+ Description : currentModel .Description ,
102
102
})
103
103
if err != nil {
104
104
return handler.ProgressEvent {}, err
@@ -116,12 +116,12 @@ func Update(req handler.Request, prevModel *Model, currentModel *Model) (handler
116
116
}, nil
117
117
}
118
118
119
- // Delete a repo
119
+ // Delete handles the Delete event from the Cloudformation service.
120
120
func Delete (req handler.Request , prevModel * Model , currentModel * Model ) (handler.ProgressEvent , error ) {
121
- owner , repoName := parseURL (* currentModel .URL . Value () )
121
+ owner , repoName := parseURL (* currentModel .URL )
122
122
123
- log .Printf ("Looking for repository: %s/%s" , * currentModel .Owner . Value () , * currentModel .Name . Value () )
124
- client := makeGitHubClient (* currentModel .OauthToken . Value () )
123
+ log .Printf ("Looking for repository: %s/%s" , * currentModel .Owner , * currentModel .Name )
124
+ client := makeGitHubClient (* currentModel .OauthToken )
125
125
126
126
resp , err := client .Repositories .Delete (context .Background (), owner , repoName )
127
127
if err != nil {
@@ -140,10 +140,8 @@ func Delete(req handler.Request, prevModel *Model, currentModel *Model) (handler
140
140
}, nil
141
141
}
142
142
143
- // List .. .
143
+ // List handles the List event from the Cloudformation service .
144
144
func List (req handler.Request , prevModel * Model , currentModel * Model ) (handler.ProgressEvent , error ) {
145
- // no-op
146
-
147
145
return handler.ProgressEvent {
148
146
OperationStatus : handler .Success ,
149
147
Message : "List Complete" ,
0 commit comments