Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove-VSTeamAgent should accept pipeline output from Get-VSTeamAgent #558

Open
mathieuric opened this issue Oct 31, 2023 · 0 comments
Open
Labels
enhancement Improvements that do not include new features feature request for new feature requests that do not just improve things

Comments

@mathieuric
Copy link

mathieuric commented Oct 31, 2023

Proposal

I wanted to delete all disabled agents from every agent pool so, intuitively, I wrote

Get-VSTeamPool | Get-VSTeamAgent | Where {-not $_.Enabled} | Remove-VSTeamAgent

but got this error

Remove-VSTeamAgent: The input object cannot be bound because it did not contain the information required to bind all mandatory parameters: PoolId

It would make sense for a "Remove" command to accept pipelined objects from a "Get" command with the same noun.

This is already supported by VSTeamPool. e.g. Get-VSTeamPool -Id 1 | Remove-VSTeamPool so one would expect the same of VSTeamAgent.

We already have the PoolId on the vsteam_lib.Agent type so it's just a matter of making the paramater accept pipeline input "ByPropertyName".


Solved Problem

Makes removing a VSTeamAgent more intuitive and produces cleaner, more readable code.

😕
Get-VSTeamAgent -PoolId 2 | foreach { Remove-VSTeamAgent -PoolId $_.PoolId -Id $_.AgentId }
Get-VSTeamAgent -PoolId 2 | foreach { $_.PoolId | Remove-VSTeamAgent -Id $_.AgentId }

☺️
Get-VSTeamAgent -PoolId 2 | Remove-VSTeamAgent

Additional info / code snippets?

No response

@mathieuric mathieuric added enhancement Improvements that do not include new features feature request for new feature requests that do not just improve things labels Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvements that do not include new features feature request for new feature requests that do not just improve things
Projects
None yet
Development

No branches or pull requests

1 participant