diff --git a/tool/tctl/common/resource_command.go b/tool/tctl/common/resource_command.go index 180eff4abaa1d..53afa6b324c7a 100644 --- a/tool/tctl/common/resource_command.go +++ b/tool/tctl/common/resource_command.go @@ -1532,6 +1532,8 @@ func (rc *ResourceCommand) Delete(ctx context.Context, client *authclient.Client types.KindInstaller, types.KindUIConfig, types.KindNetworkRestrictions, + types.KindAutoUpdateConfig, + types.KindAutoUpdateVersion, } if !slices.Contains(singletonResources, rc.ref.Kind) && (rc.ref.Kind == "" || rc.ref.Name == "") { return trace.BadParameter("provide a full resource name to delete, for example:\n$ tctl rm cluster/east\n") @@ -1926,6 +1928,16 @@ func (rc *ResourceCommand) Delete(ctx context.Context, client *authclient.Client return trace.Wrap(err) } fmt.Printf("static host user %q has been deleted\n", rc.ref.Name) + case types.KindAutoUpdateConfig: + if err := client.DeleteAutoUpdateConfig(ctx); err != nil { + return trace.Wrap(err) + } + fmt.Printf("AutoUpdateConfig has been deleted\n") + case types.KindAutoUpdateVersion: + if err := client.DeleteAutoUpdateVersion(ctx); err != nil { + return trace.Wrap(err) + } + fmt.Printf("AutoUpdateVersion has been deleted\n") default: return trace.BadParameter("deleting resources of type %q is not supported", rc.ref.Kind) } diff --git a/tool/tctl/common/resource_command_test.go b/tool/tctl/common/resource_command_test.go index 6ec25abb1507d..7307b8ff401e1 100644 --- a/tool/tctl/common/resource_command_test.go +++ b/tool/tctl/common/resource_command_test.go @@ -2318,6 +2318,12 @@ version: v1 protocmp.IgnoreFields(&headerv1.Metadata{}, "revision"), protocmp.Transform(), )) + + // Delete the resource + _, err = runResourceCommand(t, clt, []string{"rm", types.KindAutoUpdateConfig}) + require.NoError(t, err) + _, err = runResourceCommand(t, clt, []string{"get", types.KindAutoUpdateConfig}) + require.ErrorContains(t, err, "autoupdate_config \"autoupdate-config\" doesn't exist") } func testCreateAutoUpdateVersion(t *testing.T, clt *authclient.Client) { @@ -2353,6 +2359,12 @@ version: v1 protocmp.IgnoreFields(&headerv1.Metadata{}, "revision"), protocmp.Transform(), )) + + // Delete the resource + _, err = runResourceCommand(t, clt, []string{"rm", types.KindAutoUpdateVersion}) + require.NoError(t, err) + _, err = runResourceCommand(t, clt, []string{"get", types.KindAutoUpdateVersion}) + require.ErrorContains(t, err, "autoupdate_version \"autoupdate-version\" doesn't exist") } func TestPluginResourceWrapper(t *testing.T) {