tctl: support getting and deleting relay_server items (#57644)

This commit is contained in:
Edoardo Spadolini
2025-08-08 09:20:31 +00:00
committed by GitHub
parent 2f5aa794a8
commit 5bd21bc669
2 changed files with 23 additions and 0 deletions
+2
View File
@@ -297,6 +297,8 @@ func ParseShortcut(in string) (string, error) {
return types.KindInferenceSecret, nil
case types.KindInferencePolicy, "inference_policies":
return types.KindInferencePolicy, nil
case types.KindRelayServer, types.KindRelayServer + "s":
return types.KindRelayServer, nil
}
return "", trace.BadParameter("unsupported resource: %q - resources should be expressed as 'type/name', for example 'connector/github'", in)
}
+21
View File
@@ -2369,6 +2369,11 @@ func (rc *ResourceCommand) Delete(ctx context.Context, client *authclient.Client
fmt.Printf("AutoUpdateAgentRollout has been deleted\n")
case types.KindHealthCheckConfig:
return trace.Wrap(rc.deleteHealthCheckConfig(ctx, client))
case types.KindRelayServer:
if err := client.DeleteRelayServer(ctx, rc.ref.Name); err != nil {
return trace.Wrap(err)
}
fmt.Printf("relay_server %+q has been deleted\n", rc.ref.Name)
default:
return trace.BadParameter("deleting resources of type %q is not supported", rc.ref.Kind)
}
@@ -3719,6 +3724,22 @@ func (rc *ResourceCommand) getCollection(ctx context.Context, client *authclient
}
}
return &scopedRoleAssignmentCollection{items: items}, nil
case types.KindRelayServer:
if rc.ref.Name != "" {
rs, err := client.GetRelayServer(ctx, rc.ref.Name)
if err != nil {
return nil, trace.Wrap(err)
}
return namedResourceCollection{types.ProtoResource153ToLegacy(rs)}, nil
}
var c namedResourceCollection
for rs, err := range clientutils.Resources(ctx, client.ListRelayServers) {
if err != nil {
return nil, trace.Wrap(err)
}
c = append(c, types.ProtoResource153ToLegacy(rs))
}
return c, nil
}
return nil, trace.BadParameter("getting %q is not supported", rc.ref.String())
}