From 4e82b71b36f88c00ed9663b908bd68b854537d85 Mon Sep 17 00:00:00 2001 From: Moran <123294681+Moran-k@users.noreply.github.com> Date: Sun, 14 Jul 2024 14:20:31 +0300 Subject: [PATCH] feat: improve error message when conflict action name (#12) --- Makefile | 2 +- komodor/custom_k8s_action.go | 12 ++++++------ komodor/resource_komodor_custom_k8s_action.go | 5 ++++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 926a847..46ca8c7 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ HOSTNAME=github.com NAMESPACE=komodorio NAME=komodor BINARY=terraform-provider-${NAME} -VERSION=1.0.8 +VERSION=1.0.9 OS_ARCH=darwin_amd64 default: install diff --git a/komodor/custom_k8s_action.go b/komodor/custom_k8s_action.go index 06aae18..2101ed2 100644 --- a/komodor/custom_k8s_action.go +++ b/komodor/custom_k8s_action.go @@ -61,24 +61,24 @@ func (c *Client) GetCustomK8sAction(id string) (*CustomK8sAction, int, error) { return &customK8sAction, statusCode, nil } -func (c *Client) CreateCustomK8sAction(p *NewCustomK8sAction) (*CustomK8sAction, error) { +func (c *Client) CreateCustomK8sAction(p *NewCustomK8sAction) (*CustomK8sAction, int, error) { jsonCustomK8sAction, err := json.Marshal(p) if err != nil { - return nil, err + return nil, 0, err } - res, _, err := c.executeHttpRequest(http.MethodPost, CustomK8sActionUrl, &jsonCustomK8sAction) + res, statusCode, err := c.executeHttpRequest(http.MethodPost, CustomK8sActionUrl, &jsonCustomK8sAction) if err != nil { - return nil, err + return nil, statusCode, err } var customK8sAction CustomK8sAction err = json.Unmarshal(res, &customK8sAction) if err != nil { - return nil, err + return nil, statusCode, err } - return &customK8sAction, nil + return &customK8sAction, statusCode, nil } func (c *Client) DeleteCustomK8sAction(id string) error { diff --git a/komodor/resource_komodor_custom_k8s_action.go b/komodor/resource_komodor_custom_k8s_action.go index caccdd9..57e1e8b 100644 --- a/komodor/resource_komodor_custom_k8s_action.go +++ b/komodor/resource_komodor_custom_k8s_action.go @@ -64,8 +64,11 @@ func resourceKomodorCustomK8sActionCreate(ctx context.Context, d *schema.Resourc Ruleset: customK8sActionStatements, } - customK8sAction, err := client.CreateCustomK8sAction(newCustomK8sAction) + customK8sAction, statusCode, err := client.CreateCustomK8sAction(newCustomK8sAction) if err != nil { + if statusCode == 409 { + return diag.Errorf("Action name '%s' is already in use or marked for deletion. Please choose a different name or try again later", actionName) + } return diag.Errorf("Error creating Custom K8S Action: %s, %v", err, customK8sActionStatements) }