in vpc/main.go [15:63]
func HandleRequest(_ context.Context, event resource.Event) (*resource.IamAuthMap, error) {
eventJson, err := json.Marshal(event)
if err != nil {
log.Println(err)
}
log.Println("event: " + string(eventJson))
sess, err := session.NewSession(&aws.Config{})
if err != nil {
return nil, err
}
token, err := resource.GetToken(sess, event.ClusterName)
if err != nil {
return nil, err
}
cs, err := resource.CreateKubeClientFromToken(*event.Endpoint, *token, event.CaData)
if err != nil {
return nil, err
}
auth := &resource.IamAuthMap{}
if event.AwsAuth != nil {
copier.Copy(auth, event.AwsAuth)
}
switch event.Action {
case resource.CreateAction:
fmt.Println("Create event")
err := event.AwsAuth.PushConfigMap(cs)
if err != nil {
return nil, err
}
case resource.ReadAction:
fmt.Println("Read event")
awsAuth, err := event.AwsAuth.GetFromCluster(cs)
if err != nil {
return nil, err
}
event.AwsAuth = awsAuth
case resource.UpdateAction:
fmt.Println("Update event")
err := event.AwsAuth.PushConfigMap(cs)
if err != nil {
return nil, err
}
case resource.DeleteAction:
fmt.Println("Delete event")
case resource.ListAction:
fmt.Println("List event")
}
return auth, nil
}