Skip to content

Commit d0c49cd

Browse files
authored
Merge pull request #24218 from stijndehaes/feature/add-support-for-eks-add-on-preserve
feat: Add support for preserve to eks add-on
2 parents f5d5c02 + c333c9b commit d0c49cd

File tree

6 files changed

+104
-58
lines changed

6 files changed

+104
-58
lines changed

.changelog/24218.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/aws_eks_addon: Add `preserve` argument
3+
```

internal/service/eks/addon.go

+13-3
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ func ResourceAddon() *schema.Resource {
6868
Type: schema.TypeString,
6969
Computed: true,
7070
},
71+
"preserve": {
72+
Type: schema.TypeBool,
73+
Optional: true,
74+
},
7175
"resolve_conflicts": {
7276
Type: schema.TypeString,
7377
Optional: true,
@@ -279,11 +283,17 @@ func resourceAddonDelete(ctx context.Context, d *schema.ResourceData, meta inter
279283
return diag.FromErr(err)
280284
}
281285

282-
log.Printf("[DEBUG] Deleting EKS Add-On: %s", d.Id())
283-
_, err = conn.DeleteAddonWithContext(ctx, &eks.DeleteAddonInput{
286+
input := &eks.DeleteAddonInput{
284287
AddonName: aws.String(addonName),
285288
ClusterName: aws.String(clusterName),
286-
})
289+
}
290+
291+
if v, ok := d.GetOk("preserve"); ok {
292+
input.Preserve = aws.Bool(v.(bool))
293+
}
294+
295+
log.Printf("[DEBUG] Deleting EKS Add-On: %s", d.Id())
296+
_, err = conn.DeleteAddonWithContext(ctx, input)
287297

288298
if err != nil {
289299
return diag.FromErr(fmt.Errorf("error deleting EKS Add-On (%s): %w", d.Id(), err))

internal/service/eks/addon_data_source_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func TestAccEKSAddonDataSource_basic(t *testing.T) {
2727
CheckDestroy: testAccCheckAddonDestroy,
2828
Steps: []resource.TestStep{
2929
{
30-
Config: testAccAddonDataSourceConfig_Basic(rName, addonName),
30+
Config: testAccAddonDataSourceConfig(rName, addonName),
3131
Check: resource.ComposeTestCheckFunc(
3232
testAccCheckAddonExists(ctx, dataSourceResourceName, &addon),
3333
acctest.MatchResourceAttrRegionalARN(dataSourceResourceName, "arn", "eks", regexp.MustCompile(fmt.Sprintf("addon/%s/%s/.+$", rName, addonName))),
@@ -43,8 +43,8 @@ func TestAccEKSAddonDataSource_basic(t *testing.T) {
4343
})
4444
}
4545

46-
func testAccAddonDataSourceConfig_Basic(rName, addonName string) string {
47-
return acctest.ConfigCompose(testAccAddonConfig_Base(rName), fmt.Sprintf(`
46+
func testAccAddonDataSourceConfig(rName, addonName string) string {
47+
return acctest.ConfigCompose(testAccAddonBaseConfig(rName), fmt.Sprintf(`
4848
resource "aws_eks_addon" "test" {
4949
addon_name = %[2]q
5050
cluster_name = aws_eks_cluster.test.name

0 commit comments

Comments
 (0)