From ece2955a2a427e85caaf739f837468e2cb128e2b Mon Sep 17 00:00:00 2001 From: Patrick Sy Date: Thu, 13 Nov 2025 16:59:38 +0100 Subject: [PATCH] feat(api): Added AppKey to ShowAppInstances --- cmd/instance.go | 6 ++++-- internal/delete/v1/planner.go | 5 +++-- internal/delete/v2/manager_test.go | 2 +- internal/delete/v2/planner.go | 5 +++-- internal/delete/v2/planner_test.go | 2 +- sdk/edgeconnect/appinstance.go | 4 ++-- sdk/edgeconnect/appinstance_test.go | 2 +- sdk/edgeconnect/v2/appinstance.go | 4 ++-- sdk/edgeconnect/v2/appinstance_test.go | 2 +- sdk/examples/comprehensive/main.go | 2 +- 10 files changed, 19 insertions(+), 15 deletions(-) diff --git a/cmd/instance.go b/cmd/instance.go index 68c8f5b..d856dea 100644 --- a/cmd/instance.go +++ b/cmd/instance.go @@ -149,7 +149,8 @@ var listInstancesCmd = &cobra.Command{ Name: cloudletName, }, } - instances, err := c.ShowAppInstances(context.Background(), instanceKey, region) + appKey := edgeconnect.AppKey{Name: appId} + instances, err := c.ShowAppInstances(context.Background(), instanceKey, appKey, region) if err != nil { fmt.Printf("Error listing app instances: %v\n", err) os.Exit(1) @@ -168,7 +169,8 @@ var listInstancesCmd = &cobra.Command{ Name: cloudletName, }, } - instances, err := c.ShowAppInstances(context.Background(), instanceKey, region) + appKey := v2.AppKey{Name: appId} + instances, err := c.ShowAppInstances(context.Background(), instanceKey, appKey, region) if err != nil { fmt.Printf("Error listing app instances: %v\n", err) os.Exit(1) diff --git a/internal/delete/v1/planner.go b/internal/delete/v1/planner.go index 10f41c5..ca97b84 100644 --- a/internal/delete/v1/planner.go +++ b/internal/delete/v1/planner.go @@ -14,7 +14,7 @@ import ( // EdgeConnectClientInterface defines the methods needed for deletion planning type EdgeConnectClientInterface interface { ShowApp(ctx context.Context, appKey edgeconnect.AppKey, region string) (edgeconnect.App, error) - ShowAppInstances(ctx context.Context, instanceKey edgeconnect.AppInstanceKey, region string) ([]edgeconnect.AppInstance, error) + ShowAppInstances(ctx context.Context, instanceKey edgeconnect.AppInstanceKey, appKey edgeconnect.AppKey, region string) ([]edgeconnect.AppInstance, error) DeleteApp(ctx context.Context, appKey edgeconnect.AppKey, region string) error DeleteAppInstance(ctx context.Context, instanceKey edgeconnect.AppInstanceKey, region string) error } @@ -154,8 +154,9 @@ func (p *EdgeConnectPlanner) findInstancesToDelete(ctx context.Context, config * Name: infra.CloudletName, }, } + appKey := edgeconnect.AppKey{Name: config.Metadata.Name} - instances, err := p.client.ShowAppInstances(ctx, instanceKey, infra.Region) + instances, err := p.client.ShowAppInstances(ctx, instanceKey, appKey, infra.Region) if err != nil { // If it's a not found error, just continue if isNotFoundError(err) { diff --git a/internal/delete/v2/manager_test.go b/internal/delete/v2/manager_test.go index fa2b7c9..d021f20 100644 --- a/internal/delete/v2/manager_test.go +++ b/internal/delete/v2/manager_test.go @@ -27,7 +27,7 @@ func (m *MockResourceClient) ShowApp(ctx context.Context, appKey v2.AppKey, regi return args.Get(0).(v2.App), args.Error(1) } -func (m *MockResourceClient) ShowAppInstances(ctx context.Context, instanceKey v2.AppInstanceKey, region string) ([]v2.AppInstance, error) { +func (m *MockResourceClient) ShowAppInstances(ctx context.Context, instanceKey v2.AppInstanceKey, appKey v2.AppKey, region string) ([]v2.AppInstance, error) { args := m.Called(ctx, instanceKey, region) if args.Get(0) == nil { return nil, args.Error(1) diff --git a/internal/delete/v2/planner.go b/internal/delete/v2/planner.go index 752fe3b..76ec1c6 100644 --- a/internal/delete/v2/planner.go +++ b/internal/delete/v2/planner.go @@ -14,7 +14,7 @@ import ( // EdgeConnectClientInterface defines the methods needed for deletion planning type EdgeConnectClientInterface interface { ShowApp(ctx context.Context, appKey v2.AppKey, region string) (v2.App, error) - ShowAppInstances(ctx context.Context, instanceKey v2.AppInstanceKey, region string) ([]v2.AppInstance, error) + ShowAppInstances(ctx context.Context, instanceKey v2.AppInstanceKey, appKey v2.AppKey, region string) ([]v2.AppInstance, error) DeleteApp(ctx context.Context, appKey v2.AppKey, region string) error DeleteAppInstance(ctx context.Context, instanceKey v2.AppInstanceKey, region string) error } @@ -154,8 +154,9 @@ func (p *EdgeConnectPlanner) findInstancesToDelete(ctx context.Context, config * Name: infra.CloudletName, }, } + appKey := v2.AppKey{Name: config.Metadata.Name} - instances, err := p.client.ShowAppInstances(ctx, instanceKey, infra.Region) + instances, err := p.client.ShowAppInstances(ctx, instanceKey, appKey, infra.Region) if err != nil { // If it's a not found error, just continue if isNotFoundError(err) { diff --git a/internal/delete/v2/planner_test.go b/internal/delete/v2/planner_test.go index 2ec9eae..292cecc 100644 --- a/internal/delete/v2/planner_test.go +++ b/internal/delete/v2/planner_test.go @@ -28,7 +28,7 @@ func (m *MockEdgeConnectClient) ShowApp(ctx context.Context, appKey v2.AppKey, r return args.Get(0).(v2.App), args.Error(1) } -func (m *MockEdgeConnectClient) ShowAppInstances(ctx context.Context, instanceKey v2.AppInstanceKey, region string) ([]v2.AppInstance, error) { +func (m *MockEdgeConnectClient) ShowAppInstances(ctx context.Context, instanceKey v2.AppInstanceKey, appKey v2.AppKey, region string) ([]v2.AppInstance, error) { args := m.Called(ctx, instanceKey, region) if args.Get(0) == nil { return nil, args.Error(1) diff --git a/sdk/edgeconnect/appinstance.go b/sdk/edgeconnect/appinstance.go index 9e73511..2a6673c 100644 --- a/sdk/edgeconnect/appinstance.go +++ b/sdk/edgeconnect/appinstance.go @@ -87,12 +87,12 @@ func (c *Client) ShowAppInstance(ctx context.Context, appInstKey AppInstanceKey, // ShowAppInstances retrieves all application instances matching the filter criteria // Maps to POST /auth/ctrl/ShowAppInst -func (c *Client) ShowAppInstances(ctx context.Context, appInstKey AppInstanceKey, region string) ([]AppInstance, error) { +func (c *Client) ShowAppInstances(ctx context.Context, appInstKey AppInstanceKey, appKey AppKey, region string) ([]AppInstance, error) { transport := c.getTransport() url := c.BaseURL + "/api/v1/auth/ctrl/ShowAppInst" filter := AppInstanceFilter{ - AppInstance: AppInstance{Key: appInstKey}, + AppInstance: AppInstance{Key: appInstKey, AppKey: appKey}, Region: region, } diff --git a/sdk/edgeconnect/appinstance_test.go b/sdk/edgeconnect/appinstance_test.go index 210c5e7..3545904 100644 --- a/sdk/edgeconnect/appinstance_test.go +++ b/sdk/edgeconnect/appinstance_test.go @@ -264,7 +264,7 @@ func TestShowAppInstances(t *testing.T) { client := NewClient(server.URL) ctx := context.Background() - appInstances, err := client.ShowAppInstances(ctx, AppInstanceKey{Organization: "testorg"}, "us-west") + appInstances, err := client.ShowAppInstances(ctx, AppInstanceKey{Organization: "testorg"}, AppKey{}, "us-west") require.NoError(t, err) assert.Len(t, appInstances, 2) diff --git a/sdk/edgeconnect/v2/appinstance.go b/sdk/edgeconnect/v2/appinstance.go index bd27be7..013d053 100644 --- a/sdk/edgeconnect/v2/appinstance.go +++ b/sdk/edgeconnect/v2/appinstance.go @@ -89,12 +89,12 @@ func (c *Client) ShowAppInstance(ctx context.Context, appInstKey AppInstanceKey, // ShowAppInstances retrieves all application instances matching the filter criteria // Maps to POST /auth/ctrl/ShowAppInst -func (c *Client) ShowAppInstances(ctx context.Context, appInstKey AppInstanceKey, region string) ([]AppInstance, error) { +func (c *Client) ShowAppInstances(ctx context.Context, appInstKey AppInstanceKey, appKey AppKey, region string) ([]AppInstance, error) { transport := c.getTransport() url := c.BaseURL + "/api/v1/auth/ctrl/ShowAppInst" filter := AppInstanceFilter{ - AppInstance: AppInstance{Key: appInstKey}, + AppInstance: AppInstance{Key: appInstKey, AppKey: appKey}, Region: region, } diff --git a/sdk/edgeconnect/v2/appinstance_test.go b/sdk/edgeconnect/v2/appinstance_test.go index ce4e758..bf4db81 100644 --- a/sdk/edgeconnect/v2/appinstance_test.go +++ b/sdk/edgeconnect/v2/appinstance_test.go @@ -264,7 +264,7 @@ func TestShowAppInstances(t *testing.T) { client := NewClient(server.URL) ctx := context.Background() - appInstances, err := client.ShowAppInstances(ctx, AppInstanceKey{Organization: "testorg"}, "us-west") + appInstances, err := client.ShowAppInstances(ctx, AppInstanceKey{Organization: "testorg"}, AppKey{}, "us-west") require.NoError(t, err) assert.Len(t, appInstances, 2) diff --git a/sdk/examples/comprehensive/main.go b/sdk/examples/comprehensive/main.go index 0bc6e51..25a4aa5 100644 --- a/sdk/examples/comprehensive/main.go +++ b/sdk/examples/comprehensive/main.go @@ -207,7 +207,7 @@ func runComprehensiveWorkflow(ctx context.Context, c *v2.Client, config Workflow // 6. List Application Instances fmt.Println("\n6️⃣ Listing application instances...") - instances, err := c.ShowAppInstances(ctx, v2.AppInstanceKey{Organization: config.Organization}, config.Region) + instances, err := c.ShowAppInstances(ctx, v2.AppInstanceKey{Organization: config.Organization}, v2.AppKey{}, config.Region) if err != nil { return fmt.Errorf("failed to list app instances: %w", err) }