Skip to content

Commit 38a1b77

Browse files
add provider usage check before estimation preview (#1293)
1 parent 95bbaa8 commit 38a1b77

File tree

1 file changed

+8
-21
lines changed

1 file changed

+8
-21
lines changed

src/cmd/cli/command/estimate.go

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ import (
55

66
"github.com/DefangLabs/defang/src/pkg"
77
"github.com/DefangLabs/defang/src/pkg/cli"
8-
cliClient "github.com/DefangLabs/defang/src/pkg/cli/client"
9-
"github.com/DefangLabs/defang/src/pkg/cli/client/byoc/aws"
10-
"github.com/DefangLabs/defang/src/pkg/cli/client/byoc/gcp"
118
"github.com/DefangLabs/defang/src/pkg/term"
129
defangv1 "github.com/DefangLabs/defang/src/protos/io/defang/v1"
1310
"github.com/spf13/cobra"
@@ -29,24 +26,14 @@ func makeEstimateCmd() *cobra.Command {
2926
return err
3027
}
3128

32-
var previewProvider cliClient.Provider = &cliClient.PlaygroundProvider{FabricClient: client}
33-
switch providerID {
34-
case cliClient.ProviderAWS:
35-
if awsInEnv() {
36-
previewProvider = aws.NewByocProvider(ctx, client.GetTenantName())
37-
}
38-
case cliClient.ProviderGCP:
39-
if gcpInEnv() {
40-
previewProvider = gcp.NewByocProvider(ctx, client.GetTenantName())
41-
}
42-
case cliClient.ProviderAuto:
43-
fallthrough
44-
case cliClient.ProviderDefang:
45-
if _, err := interactiveSelectProvider([]cliClient.ProviderID{cliClient.ProviderAWS, cliClient.ProviderGCP}); err != nil {
46-
return err
47-
}
48-
default:
49-
return fmt.Errorf("unsupported provider %s; must be one of %v", providerID, []cliClient.ProviderID{cliClient.ProviderAWS})
29+
previewProvider, err := newProvider(cmd.Context(), loader)
30+
if err != nil {
31+
return err
32+
}
33+
34+
err = canIUseProvider(cmd.Context(), previewProvider, project.Name)
35+
if err != nil {
36+
return err
5037
}
5138

5239
// default to development mode if not specified; TODO: when mode is not specified, show an interactive prompt

0 commit comments

Comments
 (0)