@@ -77,7 +77,6 @@ import (
7777 "github.com/gravitational/teleport/lib/service/servicecfg"
7878 "github.com/gravitational/teleport/lib/services"
7979 "github.com/gravitational/teleport/lib/utils"
80- logutils "github.com/gravitational/teleport/lib/utils/log"
8180 commonclient "github.com/gravitational/teleport/tool/tctl/common/client"
8281 clusterconfigrec "github.com/gravitational/teleport/tool/tctl/common/clusterconfig"
8382 tctlcfg "github.com/gravitational/teleport/tool/tctl/common/config"
@@ -152,7 +151,6 @@ func (rc *ResourceCommand) Initialize(app *kingpin.Application, _ *tctlcfg.Globa
152151 types .KindKubernetesCluster : rc .createKubeCluster ,
153152 types .KindToken : rc .createToken ,
154153 types .KindInstaller : rc .createInstaller ,
155- types .KindNode : rc .createNode ,
156154 types .KindOIDCConnector : rc .createOIDCConnector ,
157155 types .KindSAMLConnector : rc .createSAMLConnector ,
158156 types .KindLoginRule : rc .createLoginRule ,
@@ -1307,34 +1305,6 @@ func (rc *ResourceCommand) createUIConfig(ctx context.Context, client *authclien
13071305 return nil
13081306}
13091307
1310- func (rc * ResourceCommand ) createNode (ctx context.Context , client * authclient.Client , raw services.UnknownResource ) error {
1311- server , err := services .UnmarshalServer (raw .Raw , types .KindNode , services .DisallowUnknown ())
1312- if err != nil {
1313- return trace .Wrap (err )
1314- }
1315-
1316- name := server .GetName ()
1317- _ , err = client .GetNode (ctx , server .GetNamespace (), name )
1318- if err != nil && ! trace .IsNotFound (err ) {
1319- return trace .Wrap (err )
1320- }
1321- exists := (err == nil )
1322- if ! rc .IsForced () && exists {
1323- return trace .AlreadyExists ("node %q with Hostname %q and Addr %q already exists, use --force flag to override" ,
1324- name ,
1325- server .GetHostname (),
1326- server .GetAddr (),
1327- )
1328- }
1329-
1330- _ , err = client .UpsertNode (ctx , server )
1331- if err != nil {
1332- return trace .Wrap (err )
1333- }
1334- fmt .Printf ("node %q has been %s\n " , name , UpsertVerb (exists , rc .IsForced ()))
1335- return nil
1336- }
1337-
13381308func (rc * ResourceCommand ) createOIDCConnector (ctx context.Context , client * authclient.Client , raw services.UnknownResource ) error {
13391309 conn , err := services .UnmarshalOIDCConnector (raw .Raw , services .DisallowUnknown ())
13401310 if err != nil {
@@ -1745,11 +1715,6 @@ func (rc *ResourceCommand) Delete(ctx context.Context, client *authclient.Client
17451715 }
17461716
17471717 switch rc .ref .Kind {
1748- case types .KindNode :
1749- if err = client .DeleteNode (ctx , apidefaults .Namespace , rc .ref .Name ); err != nil {
1750- return trace .Wrap (err )
1751- }
1752- fmt .Printf ("node %v has been deleted\n " , rc .ref .Name )
17531718 case types .KindToken :
17541719 if err = client .DeleteToken (ctx , rc .ref .Name ); err != nil {
17551720 return trace .Wrap (err )
@@ -2055,11 +2020,6 @@ func (rc *ResourceCommand) Delete(ctx context.Context, client *authclient.Client
20552020 return trace .Wrap (err )
20562021 }
20572022 fmt .Printf ("User group %q has been deleted\n " , rc .ref .Name )
2058- case types .KindProxy :
2059- if err := client .DeleteProxy (ctx , rc .ref .Name ); err != nil {
2060- return trace .Wrap (err )
2061- }
2062- fmt .Printf ("Proxy %q has been deleted\n " , rc .ref .Name )
20632023 case types .KindAccessList :
20642024 if err := client .AccessListClient ().DeleteAccessList (ctx , rc .ref .Name ); err != nil {
20652025 return trace .Wrap (err )
@@ -2424,82 +2384,6 @@ func (rc *ResourceCommand) getCollection(ctx context.Context, client *authclient
24242384 return nil , trace .Wrap (err )
24252385 }
24262386 return & authorityCollection {cas : []types.CertAuthority {authority }}, nil
2427- case types .KindNode :
2428- var search []string
2429- if rc .ref .Name != "" {
2430- search = []string {rc .ref .Name }
2431- }
2432-
2433- req := proto.ListUnifiedResourcesRequest {
2434- Kinds : []string {types .KindNode },
2435- SearchKeywords : search ,
2436- SortBy : types.SortBy {Field : types .ResourceKind },
2437- }
2438-
2439- var collection serverCollection
2440- for {
2441- page , next , err := apiclient .GetUnifiedResourcePage (ctx , client , & req )
2442- if err != nil {
2443- return nil , trace .Wrap (err )
2444- }
2445-
2446- for _ , r := range page {
2447- srv , ok := r .ResourceWithLabels .(types.Server )
2448- if ! ok {
2449- slog .WarnContext (ctx , "expected types.Server but received unexpected type" , "resource_type" , logutils .TypeAttr (r ))
2450- continue
2451- }
2452-
2453- if rc .ref .Name == "" {
2454- collection .servers = append (collection .servers , srv )
2455- continue
2456- }
2457-
2458- if srv .GetName () == rc .ref .Name || srv .GetHostname () == rc .ref .Name {
2459- collection .servers = []types.Server {srv }
2460- return & collection , nil
2461- }
2462- }
2463-
2464- req .StartKey = next
2465- if req .StartKey == "" {
2466- break
2467- }
2468- }
2469-
2470- if len (collection .servers ) == 0 && rc .ref .Name != "" {
2471- return nil , trace .NotFound ("node with ID %q not found" , rc .ref .Name )
2472- }
2473-
2474- return & collection , nil
2475- case types .KindAuthServer :
2476- servers , err := client .GetAuthServers ()
2477- if err != nil {
2478- return nil , trace .Wrap (err )
2479- }
2480- if rc .ref .Name == "" {
2481- return & serverCollection {servers : servers }, nil
2482- }
2483- for _ , server := range servers {
2484- if server .GetName () == rc .ref .Name || server .GetHostname () == rc .ref .Name {
2485- return & serverCollection {servers : []types.Server {server }}, nil
2486- }
2487- }
2488- return nil , trace .NotFound ("auth server with ID %q not found" , rc .ref .Name )
2489- case types .KindProxy :
2490- servers , err := client .GetProxies ()
2491- if err != nil {
2492- return nil , trace .Wrap (err )
2493- }
2494- if rc .ref .Name == "" {
2495- return & serverCollection {servers : servers }, nil
2496- }
2497- for _ , server := range servers {
2498- if server .GetName () == rc .ref .Name || server .GetHostname () == rc .ref .Name {
2499- return & serverCollection {servers : []types.Server {server }}, nil
2500- }
2501- }
2502- return nil , trace .NotFound ("proxy with ID %q not found" , rc .ref .Name )
25032387 case types .KindNamespace :
25042388 return & namespaceCollection {namespaces : []types.Namespace {types .DefaultNamespace ()}}, nil
25052389 case types .KindTrustedCluster :
@@ -3386,7 +3270,7 @@ func (rc *ResourceCommand) getCollection(ctx context.Context, client *authclient
33863270 if err != nil {
33873271 return nil , trace .Wrap (err )
33883272 }
3389- return & serverCollection { servers : []types.Server {server }} , nil
3273+ return resources . NewServerCollection ( []types.Server {server }) , nil
33903274 }
33913275
33923276 servers , err := stream .Collect (clientutils .Resources (ctx , client .GitServerClient ().ListGitServers ))
@@ -3395,7 +3279,7 @@ func (rc *ResourceCommand) getCollection(ctx context.Context, client *authclient
33953279 }
33963280
33973281 // TODO(greedy52) consider making dedicated git server collection.
3398- return & serverCollection { servers : servers } , nil
3282+ return resources . NewServerCollection ( servers ) , nil
33993283
34003284 case types .KindWorkloadIdentityX509IssuerOverride :
34013285 c := client .WorkloadIdentityX509OverridesClient ()
0 commit comments