client: SwarmInspect: add options struct

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2025-10-21 23:30:21 +02:00
parent 2401bd1e12
commit 8f50d38231
6 changed files with 23 additions and 14 deletions

View File

@@ -178,7 +178,7 @@ type SwarmAPIClient interface {
SwarmGetUnlockKey(ctx context.Context) (SwarmGetUnlockKeyResult, error)
SwarmUnlock(ctx context.Context, options SwarmUnlockOptions) (SwarmUnlockResult, error)
SwarmLeave(ctx context.Context, options SwarmLeaveOptions) (SwarmLeaveResult, error)
SwarmInspect(ctx context.Context) (SwarmInspectResult, error)
SwarmInspect(ctx context.Context, options SwarmInspectOptions) (SwarmInspectResult, error)
SwarmUpdate(ctx context.Context, version swarm.Version, options SwarmUpdateOptions) (SwarmUpdateResult, error)
}

View File

@@ -7,13 +7,18 @@ import (
"github.com/moby/moby/api/types/swarm"
)
// type SwarmInspectResult represents the result of a SwarmInspect operation.
// SwarmInspectOptions holds options for inspecting a swarm.
type SwarmInspectOptions struct {
// Add future optional parameters here
}
// SwarmInspectResult represents the result of a SwarmInspect operation.
type SwarmInspectResult struct {
Swarm swarm.Swarm
}
// SwarmInspect inspects the swarm.
func (cli *Client) SwarmInspect(ctx context.Context) (SwarmInspectResult, error) {
func (cli *Client) SwarmInspect(ctx context.Context, options SwarmInspectOptions) (SwarmInspectResult, error) {
resp, err := cli.get(ctx, "/swarm", nil, nil)
defer ensureReaderClosed(resp)
if err != nil {

View File

@@ -2,7 +2,6 @@ package client
import (
"bytes"
"context"
"encoding/json"
"io"
"net/http"
@@ -18,7 +17,7 @@ func TestSwarmInspectError(t *testing.T) {
client, err := NewClientWithOpts(WithMockClient(errorMock(http.StatusInternalServerError, "Server error")))
assert.NilError(t, err)
_, err = client.SwarmInspect(context.Background())
_, err = client.SwarmInspect(t.Context(), SwarmInspectOptions{})
assert.Check(t, is.ErrorType(err, cerrdefs.IsInternal))
}
@@ -43,7 +42,7 @@ func TestSwarmInspect(t *testing.T) {
}))
assert.NilError(t, err)
inspect, err := client.SwarmInspect(context.Background())
res, err := client.SwarmInspect(t.Context(), SwarmInspectOptions{})
assert.NilError(t, err)
assert.Check(t, is.Equal(inspect.Swarm.ID, "swarm_id"))
assert.Check(t, is.Equal(res.Swarm.ID, "swarm_id"))
}

View File

@@ -189,7 +189,7 @@ func (d *Daemon) GetSwarm(t testing.TB) swarm.Swarm {
cli := d.NewClientT(t)
defer cli.Close()
result, err := cli.SwarmInspect(context.Background())
result, err := cli.SwarmInspect(t.Context(), client.SwarmInspectOptions{})
assert.NilError(t, err)
return result.Swarm
}
@@ -217,10 +217,10 @@ func (d *Daemon) RotateTokens(t testing.TB) {
cli := d.NewClientT(t)
defer cli.Close()
result, err := cli.SwarmInspect(context.Background())
result, err := cli.SwarmInspect(t.Context(), client.SwarmInspectOptions{})
assert.NilError(t, err)
_, err = cli.SwarmUpdate(context.Background(), result.Swarm.Version, client.SwarmUpdateOptions{
_, err = cli.SwarmUpdate(t.Context(), result.Swarm.Version, client.SwarmUpdateOptions{
Swarm: result.Swarm.Spec,
RotateManagerToken: true,
RotateWorkerToken: true,
@@ -234,7 +234,7 @@ func (d *Daemon) JoinTokens(t testing.TB) swarm.JoinTokens {
cli := d.NewClientT(t)
defer cli.Close()
result, err := cli.SwarmInspect(context.Background())
result, err := cli.SwarmInspect(t.Context(), client.SwarmInspectOptions{})
assert.NilError(t, err)
return result.Swarm.JoinTokens
}

View File

@@ -178,7 +178,7 @@ type SwarmAPIClient interface {
SwarmGetUnlockKey(ctx context.Context) (SwarmGetUnlockKeyResult, error)
SwarmUnlock(ctx context.Context, options SwarmUnlockOptions) (SwarmUnlockResult, error)
SwarmLeave(ctx context.Context, options SwarmLeaveOptions) (SwarmLeaveResult, error)
SwarmInspect(ctx context.Context) (SwarmInspectResult, error)
SwarmInspect(ctx context.Context, options SwarmInspectOptions) (SwarmInspectResult, error)
SwarmUpdate(ctx context.Context, version swarm.Version, options SwarmUpdateOptions) (SwarmUpdateResult, error)
}

View File

@@ -7,13 +7,18 @@ import (
"github.com/moby/moby/api/types/swarm"
)
// type SwarmInspectResult represents the result of a SwarmInspect operation.
// SwarmInspectOptions holds options for inspecting a swarm.
type SwarmInspectOptions struct {
// Add future optional parameters here
}
// SwarmInspectResult represents the result of a SwarmInspect operation.
type SwarmInspectResult struct {
Swarm swarm.Swarm
}
// SwarmInspect inspects the swarm.
func (cli *Client) SwarmInspect(ctx context.Context) (SwarmInspectResult, error) {
func (cli *Client) SwarmInspect(ctx context.Context, options SwarmInspectOptions) (SwarmInspectResult, error) {
resp, err := cli.get(ctx, "/swarm", nil, nil)
defer ensureReaderClosed(resp)
if err != nil {