From 4afc5cdba359cb2128d1181e3a662879cb244426 Mon Sep 17 00:00:00 2001 From: kayrus <kay.diam@gmail.com> Date: Tue, 22 Oct 2024 14:55:34 +0200 Subject: [PATCH] [andromeda] allow pool_id to be optional in gslb member --- ccloud/resource_ccloud_gslb_member_v1.go | 13 +++++++++---- website/docs/r/gslb_member_v1.html.markdown | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ccloud/resource_ccloud_gslb_member_v1.go b/ccloud/resource_ccloud_gslb_member_v1.go index 8023e762..0e730b96 100644 --- a/ccloud/resource_ccloud_gslb_member_v1.go +++ b/ccloud/resource_ccloud_gslb_member_v1.go @@ -50,7 +50,7 @@ func resourceCCloudGSLBMemberV1() *schema.Resource { }, "pool_id": { Type: schema.TypeString, - Required: true, + Optional: true, }, "port": { Type: schema.TypeInt, @@ -96,12 +96,10 @@ func resourceCCloudGSLBMemberV1Create(ctx context.Context, d *schema.ResourceDat adminStateUp := d.Get("admin_state_up").(bool) address := strfmt.IPv4(d.Get("address").(string)) port := int64(d.Get("port").(int)) - poolID := strfmt.UUID(d.Get("pool_id").(string)) member := &models.Member{ Address: &address, AdminStateUp: &adminStateUp, Port: &port, - PoolID: &poolID, } if v, ok := d.GetOk("datacenter_id"); ok && v != "" { v := strfmt.UUID(v.(string)) @@ -113,6 +111,10 @@ func resourceCCloudGSLBMemberV1Create(ctx context.Context, d *schema.ResourceDat if v, ok := d.GetOk("project_id"); ok && v != "" { member.ProjectID = ptr(v.(string)) } + if v, ok := d.GetOk("pool_id"); ok && v != "" { + v := strfmt.UUID(v.(string)) + member.PoolID = &v + } opts := &members.PostMembersParams{ Member: members.PostMembersBody{ @@ -181,7 +183,6 @@ func resourceCCloudGSLBMemberV1Update(ctx context.Context, d *schema.ResourceDat id := d.Id() member := &models.Member{ Address: ptr(strfmt.IPv4(d.Get("address").(string))), - PoolID: ptr(strfmt.UUID(d.Get("pool_id").(string))), DatacenterID: ptr(strfmt.UUID(d.Get("datacenter_id").(string))), Port: ptr(int64(d.Get("port").(int))), } @@ -198,6 +199,10 @@ func resourceCCloudGSLBMemberV1Update(ctx context.Context, d *schema.ResourceDat v := d.Get("project_id").(string) member.ProjectID = &v } + if d.HasChange("pool_id") { + v := strfmt.UUID(d.Get("pool_id").(string)) + member.PoolID = &v + } opts := &members.PutMembersMemberIDParams{ Member: members.PutMembersMemberIDBody{ diff --git a/website/docs/r/gslb_member_v1.html.markdown b/website/docs/r/gslb_member_v1.html.markdown index a52954b6..8bff152a 100644 --- a/website/docs/r/gslb_member_v1.html.markdown +++ b/website/docs/r/gslb_member_v1.html.markdown @@ -42,7 +42,7 @@ The following arguments are supported: * `name` - (Optional) The name of the GSLB member. -* `pool_id` - (Required) The UUID of the GSLB pool to which the member belongs. +* `pool_id` - (Optional) The UUID of the GSLB pool to which the member belongs. * `port` - (Required) The port on which the member is accepting traffic.