Azure / Azure/azure-powershell
[Feature]: SpotPlacementRecommender API cmdlet
- Dominant language
- C#
- Stars
- 4.8k
- Forks
- 4.3k
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 54
Description
### Description of the new feature
Requesting to add a new cmdlet for Compute Diagnostics RP SpotPlacementRecommender API
PR link: https://github.com/Azure/azure-powershell/pull/24352
### Proposed implementation details (optional)
### Example 1: Regionally scoped Spot Placement Recommender scores
```powershell
$resourceSku1 = @{sku = "Standard_D2_v3"}
$resourceSku2 = @{sku = "Standard_D2_v2"}
$resourceSku3 = @{sku = "Standard_D4_v3"}
$desiredSizes = $resourceSku1,$resourceSku2,$resourceSku3
$desiredLocations = 'japaneast','southcentralus','centralus'
$response = Invoke-AzSpotPlacementRecommender -Location eastus -DesiredCount 1 -DesiredLocation $desiredLocations -DesiredSize $desiredSizes
$response.PlacementScore
```
```output
AvailabilityZone IsQuotaAvailable Region Score Sku
---------------- ---------------- ------ ----- ---
True japaneast RestrictedSkuNotAvailable Standard_D2_v3
True japaneast RestrictedSkuNotAvailable Standard_D2_v2
True japaneast RestrictedSkuNotAvailable Standard_D4_v3
True southcentralus High Standard_D2_v3
True southcentralus High Standard_D2_v2
True southcentralus High Standard_D4_v3
True centralus RestrictedSkuNotAvailable Standard_D2_v3
True centralus RestrictedSkuNotAvailable Standard_D2_v2
True centralus RestrictedSkuNotAvailable Standard_D4_v3
```
Returns regionally scoped spot placement recommender scores for the input.
### Example 2: Zonally scoped Spot Placement Recommender scores
```powershell
$resourceSku1 = @{sku = "Standard_D2_v3"}
$resourceSku2 = @{sku = "Standard_D2_v2"}
$resourceSku3 = @{sku = "Standard_D4_v3"}
$desiredSizes = $resourceSku1,$resourceSku2,$resourceSku3
$desiredLocations = 'japaneast','southcentralus','centralus'
$response = Invoke-AzSpotPlacementRecommender -Location eastus -DesiredCount 1 -DesiredLocation $desiredLocations -DesiredSize $desiredSizes -AvailabilityZone
$response.PlacementScore
```
```output
AvailabilityZone IsQuotaAvailable Region Score Sku
---------------- ---------------- ------ ----- ---
1 True japaneast High Standard_D2_v3
2 True japaneast High Standard_D2_v3
3 True japaneast High Standard_D2_v3
1 True japaneast High Standard_D2_v2
2 True japaneast High Standard_D2_v2
3 True japaneast High Standard_D2_v2
1 True japaneast High Standard_D4_v3
2 True japaneast High Standard_D4_v3
3 True japaneast High Standard_D4_v3
1 True southcentralus High Standard_D2_v3
2 True southcentralus High Standard_D2_v3
3 True southcentralus High Standard_D2_v3
1 True southcentralus High Standard_D2_v2
2 True southcentralus High Standard_D2_v2
3 True southcentralus High Standard_D2_v2
1 True southcentralus High Standard_D4_v3
2 True southcentralus High Standard_D4_v3
3 True southcentralus High Standard_D4_v3
1 True centralus DataNotFoundOrStale Standard_D2_v3
2 True centralus High Standard_D2_v3
3 True centralus High Standard_D2_v3
1 True centralus DataNotFoundOrStale Standard_D2_v2
2 True centralus High Standard_D2_v2
3 True centralus High Standard_D2_v2
1 True centralus DataNotFoundOrStale Standard_D4_v3
2 True centralus High Standard_D4_v3
3 True centralus High Standard_D4_v3
```
Returns zonally scoped spot placement recommender scores for the input.
Contributor guide
Research direction
Start by reviewing the linked pull request 24352 and the two PowerShell examples in this issue. Check how the SpotPlacementRecommender cmdlet handles regional and zonal requests, including the listed parameters and response scores. Done means the cmdlet supports both invocation forms and returns the documented placement results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, powershell
- Domain
- api, cli, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 20/100