func HandleRequest()

in vpc/main.go [13:62]


func HandleRequest(_ context.Context, e resource.Event) (*resource.LambdaResponse, error) {
	defer resource.LogPanic()

	res := &resource.LambdaResponse{}
	eJson, err := json.Marshal(e)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(string(eJson))
	data, err := resource.DecodeID(e.Model.ID)
	if err != nil {
		return nil, err
	}

	client, err := resource.NewClients(nil, nil, data.Namespace, nil, nil, e.Kubeconfig, nil)
	if err != nil {
		return nil, err
	}

	switch e.Action {
	case resource.InstallReleaseAction:
		fmt.Println("InstallReleaseAction")
		return nil, client.HelmInstall(e.Inputs.Config, e.Inputs.ValueOpts, e.Inputs.ChartDetails, *e.Model.ID)
	case resource.CheckReleaseAction:
		fmt.Println("CheckReleaseAction")
		res.StatusData, err = client.HelmStatus(aws.StringValue(data.Name))
		return res, err
	case resource.GetPendingAction:
		fmt.Println("GetPendingAction")
		res.PendingResources, err = client.CheckPendingResources(e.ReleaseData)
		res.LastKnownErrors = resource.LastKnownErrors
		return res, err
	case resource.GetResourcesAction:
		fmt.Println("GetResourcesAction")
		res.Resources, err = client.GetKubeResources(e.ReleaseData)
		return res, err
	case resource.UpdateReleaseAction:
		fmt.Println("UpdateReleaseAction")
		return nil, client.HelmUpgrade(aws.StringValue(data.Name), e.Inputs.Config, e.Inputs.ValueOpts, e.Inputs.ChartDetails, *e.Model.ID)
	case resource.UninstallReleaseAction:
		fmt.Println("UninstallReleaseAction")
		return nil, client.HelmUninstall(aws.StringValue(data.Name))
	case resource.ListReleaseAction:
		fmt.Println("ListReleaseAction")
		res.ListData, err = client.HelmList(e.Inputs.Config, e.Inputs.ChartDetails)
		return res, err
	default:
		return nil, fmt.Errorf("Unhandled stage %s", e.Action)
	}
}