Skip to content

Commit

Permalink
[env] add project filter to ls command (#382)
Browse files Browse the repository at this point in the history
* [env] add project filter to ls command

* update changelog with PR #

* resolve merge issues

* s/stacks/environments/
  • Loading branch information
dschaller authored and seanyeh committed Sep 10, 2024
1 parent 7d764be commit 328d320
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 6 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
CHANGELOG
=========

## 0.9.3
## 0.10.0
- Add support for projects.
[#369](https://github.com/pulumi/esc/pull/369)

- Deprecate legacy environment name format (<org>/<env> or <env>) in favor of <project>/<env> or <org>/<project>/<env>
[#375](https://github.com/pulumi/esc/pull/375)

- Add command to clone environments.
[#376](https://github.com/pulumi/esc/pull/376)

- Add project filter flag to env ls command.
[#382](https://github.com/pulumi/esc/pull/382)

## 0.9.2

- Add commands to manage environment tags.
Expand Down
2 changes: 1 addition & 1 deletion cmd/esc/cli/env.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ func (cmd *envCommand) getNewEnvRef(
}

// Check if project at <org-name>/<project-name> exists. Assume not if listing environments errors
allEnvs, _ := cmd.listEnvironments(ctx, "")
allEnvs, _ := cmd.listEnvironments(ctx, "", "")
existsProject := false
for _, e := range allEnvs {
if strings.EqualFold(e.Project, ref.projectName) {
Expand Down
16 changes: 12 additions & 4 deletions cmd/esc/cli/env_ls.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ import (
)

func newEnvLsCmd(env *envCommand) *cobra.Command {
var orgFilter string
var (
orgFilter string
projectFilter string
)

cmd := &cobra.Command{
Use: "ls",
Expand All @@ -30,7 +33,7 @@ func newEnvLsCmd(env *envCommand) *cobra.Command {
return err
}

allEnvs, err := env.listEnvironments(ctx, orgFilter)
allEnvs, err := env.listEnvironments(ctx, orgFilter, projectFilter)
if err != nil {
return err
}
Expand All @@ -55,12 +58,14 @@ func newEnvLsCmd(env *envCommand) *cobra.Command {
}

cmd.PersistentFlags().StringVarP(
&orgFilter, "organization", "o", "", "Filter returned stacks to those in a specific organization")
&orgFilter, "organization", "o", "", "Filter returned environments to those in a specific organization")
cmd.PersistentFlags().StringVarP(
&projectFilter, "project", "p", "", "Filter returned environments to those in a specific project")

return cmd
}

func (env *envCommand) listEnvironments(ctx context.Context, orgFilter string) ([]client.OrgEnvironment, error) {
func (env *envCommand) listEnvironments(ctx context.Context, orgFilter, projectFilter string) ([]client.OrgEnvironment, error) {
user := env.esc.account.Username
continuationToken, allEnvs := "", []client.OrgEnvironment(nil)
for {
Expand All @@ -72,6 +77,9 @@ func (env *envCommand) listEnvironments(ctx context.Context, orgFilter string) (
if e.Organization == user {
e.Organization = ""
}
if projectFilter != "" && e.Project != projectFilter {
continue
}
allEnvs = append(allEnvs, e)
}
if nextToken == "" {
Expand Down

0 comments on commit 328d320

Please sign in to comment.