diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/CHANGELOG.md b/sdk/compute/azure-resourcemanager-compute-recommender/CHANGELOG.md
index b793a7183f70..5c5afd8a8037 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/CHANGELOG.md
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/CHANGELOG.md
@@ -1,14 +1,52 @@
# Release History
-## 1.0.0-beta.2 (Unreleased)
+## 1.0.0-beta.2 (2026-08-03)
+
+- Azure Resource Manager Compute Recommender client library for Java. This package contains Microsoft Azure SDK for Compute Recommender Management SDK. The Compute Recommender Resource Provider Client. Package api-version 2026-05-05-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
### Features Added
-### Breaking Changes
+* `models.SkuMixPlacementBase` was added
+
+* `models.SkuMixPlacementItem` was added
+
+* `models.SkuMixPlacementResponse` was added
+
+* `models.SkuMixPlacementProperties` was added
+
+* `models.SkuMixPlacementPartialFulfillmentReason` was added
+
+* `models.SkuMixPlacementCapacityProfile` was added
+
+* `models.SkuMixPlacementPriority` was added
+
+* `models.SkuMixPlacementRequest` was added
+
+* `models.SkuMixPlacementInstanceDescription` was added
+
+* `models.SkuMixPlacementSpotPriorityProfile` was added
+
+* `models.SkuMixPlacementCapacityType` was added
+
+* `models.SkuMixPlacementZoneAllocationPolicy` was added
+
+* `models.SkuMixPlacementAllocationStrategy` was added
+
+* `models.SkuMixPlacementScores` was added
+
+* `models.SkuMixPlacementDeploymentChoice` was added
+
+* `models.SkuMixPlacementVMSize` was added
+
+* `models.SkuMixPlacementZonePreference` was added
+
+* `models.SkuMixPlacementOSType` was added
+
+* `models.SkuMixPlacementZonalDistributionStrategy` was added
-### Bugs Fixed
+#### `ComputeRecommenderManager` was modified
-### Other Changes
+* `skuMixPlacementScores()` was added
## 1.0.0-beta.1 (2025-09-24)
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/README.md b/sdk/compute/azure-resourcemanager-compute-recommender/README.md
index c599819b71a0..47534b3dae3a 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/README.md
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager Compute Recommender client library for Java.
-This package contains Microsoft Azure SDK for Compute Recommender Management SDK. The Compute Recommender Resource Provider Client. Package api-version 2025-06-05. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+This package contains Microsoft Azure SDK for Compute Recommender Management SDK. The Compute Recommender Resource Provider Client. Package api-version 2026-05-05-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## We'd love to hear your feedback
@@ -32,7 +32,7 @@ Various documentation is available to help you get started
com.azure.resourcemanager
azure-resourcemanager-compute-recommender
- 1.0.0-beta.1
+ 1.0.0-beta.2
```
[//]: # ({x-version-update-end})
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/SAMPLE.md b/sdk/compute/azure-resourcemanager-compute-recommender/SAMPLE.md
index dfd3fdb30736..11b3fc3a5f45 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/SAMPLE.md
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/SAMPLE.md
@@ -5,6 +5,11 @@
- [List](#operations_list)
+## SkuMixPlacementScores
+
+- [Get](#skumixplacementscores_get)
+- [Post](#skumixplacementscores_post)
+
## SpotPlacementScores
- [Get](#spotplacementscores_get)
@@ -17,7 +22,7 @@
*/
public final class OperationsListSamples {
/*
- * x-ms-original-file: 2025-06-05/Operations_List_MinimumSet_Gen.json
+ * x-ms-original-file: 2026-05-05-preview/Operations_List_MinimumSet_Gen.json
*/
/**
* Sample code: Operations_List_MinimumSet_Gen.
@@ -30,7 +35,7 @@ public final class OperationsListSamples {
}
/*
- * x-ms-original-file: 2025-06-05/Operations_List_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-05-preview/Operations_List_MaximumSet_Gen.json
*/
/**
* Sample code: Operations_List_MaximumSet_Gen.
@@ -44,6 +49,76 @@ public final class OperationsListSamples {
}
```
+### SkuMixPlacementScores_Get
+
+```java
+/**
+ * Samples for SkuMixPlacementScores Get.
+ */
+public final class SkuMixPlacementScoresGetSamples {
+ /*
+ * x-ms-original-file: 2026-05-05-preview/GetSkuMixPlacementScores.json
+ */
+ /**
+ * Sample code: Gets the metadata of SkuMixPlacement Scores.
+ *
+ * @param manager Entry point to ComputeRecommenderManager.
+ */
+ public static void getsTheMetadataOfSkuMixPlacementScores(
+ com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager manager) {
+ manager.skuMixPlacementScores().getWithResponse("eastus", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### SkuMixPlacementScores_Post
+
+```java
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementAllocationStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementInstanceDescription;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementOSType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementVMSize;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonalDistributionStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZoneAllocationPolicy;
+import java.util.Arrays;
+
+/**
+ * Samples for SkuMixPlacementScores Post.
+ */
+public final class SkuMixPlacementScoresPostSamples {
+ /*
+ * x-ms-original-file: 2026-05-05-preview/GenerateSkuMixPlacementScores.json
+ */
+ /**
+ * Sample code: Generates SkuMixPlacement scores for VM SKU mix placement with explicit VM sizes.
+ *
+ * @param manager Entry point to ComputeRecommenderManager.
+ */
+ public static void generatesSkuMixPlacementScoresForVMSKUMixPlacementWithExplicitVMSizes(
+ com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager manager) {
+ manager.skuMixPlacementScores()
+ .postWithResponse("eastus",
+ new SkuMixPlacementRequest().withZones(Arrays.asList("1", "2", "3"))
+ .withCapacityProfile(new SkuMixPlacementCapacityProfile().withCapacity(10)
+ .withCapacityType(SkuMixPlacementCapacityType.VM)
+ .withPriority(SkuMixPlacementPriority.REGULAR)
+ .withAllocationStrategy(SkuMixPlacementAllocationStrategy.LOWEST_PRICE)
+ .withOsType(SkuMixPlacementOSType.LINUX)
+ .withZoneAllocationPolicy(new SkuMixPlacementZoneAllocationPolicy()
+ .withDistributionStrategy(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_BALANCED)))
+ .withInstanceDescription(new SkuMixPlacementInstanceDescription()
+ .withVmSizes(Arrays.asList(new SkuMixPlacementVMSize().withName("Standard_D2s_v3"),
+ new SkuMixPlacementVMSize().withName("Standard_D4s_v3"),
+ new SkuMixPlacementVMSize().withName("Standard_D8s_v3")))),
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
### SpotPlacementScores_Get
```java
@@ -52,7 +127,7 @@ public final class OperationsListSamples {
*/
public final class SpotPlacementScoresGetSamples {
/*
- * x-ms-original-file: 2025-06-05/GetSpotPlacementScores.json
+ * x-ms-original-file: 2026-05-05-preview/GetSpotPlacementScores.json
*/
/**
* Sample code: Gets the metadata of Spot Placement Scores.
@@ -78,7 +153,7 @@ import java.util.Arrays;
*/
public final class SpotPlacementScoresPostSamples {
/*
- * x-ms-original-file: 2025-06-05/GenerateSpotPlacementScores.json
+ * x-ms-original-file: 2026-05-05-preview/GenerateSpotPlacementScores.json
*/
/**
* Sample code: Returns spot VM placement scores for given configurations.
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/pom.xml b/sdk/compute/azure-resourcemanager-compute-recommender/pom.xml
index 7ed2df3d1525..6e3b63419742 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/pom.xml
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/pom.xml
@@ -3,7 +3,7 @@
~ Licensed under the MIT License.
~ Code generated by Microsoft (R) TypeSpec Code Generator.
-->
-
+
4.0.0
com.azure
@@ -18,7 +18,7 @@
jar
Microsoft Azure SDK for Compute Recommender Management
- This package contains Microsoft Azure SDK for Compute Recommender Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Compute Recommender Resource Provider Client. Package api-version 2025-06-05.
+ This package contains Microsoft Azure SDK for Compute Recommender Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Compute Recommender Resource Provider Client. Package api-version 2026-05-05-preview.
https://github.com/Azure/azure-sdk-for-java
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/ComputeRecommenderManager.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/ComputeRecommenderManager.java
index 1e7115edb1ac..5c195d546d14 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/ComputeRecommenderManager.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/ComputeRecommenderManager.java
@@ -27,8 +27,10 @@
import com.azure.resourcemanager.compute.recommender.fluent.ComputeRecommenderManagementClient;
import com.azure.resourcemanager.compute.recommender.implementation.ComputeRecommenderManagementClientBuilder;
import com.azure.resourcemanager.compute.recommender.implementation.OperationsImpl;
+import com.azure.resourcemanager.compute.recommender.implementation.SkuMixPlacementScoresImpl;
import com.azure.resourcemanager.compute.recommender.implementation.SpotPlacementScoresImpl;
import com.azure.resourcemanager.compute.recommender.models.Operations;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementScores;
import com.azure.resourcemanager.compute.recommender.models.SpotPlacementScores;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
@@ -45,6 +47,8 @@
public final class ComputeRecommenderManager {
private Operations operations;
+ private SkuMixPlacementScores skuMixPlacementScores;
+
private SpotPlacementScores spotPlacementScores;
private final ComputeRecommenderManagementClient clientObject;
@@ -274,6 +278,18 @@ public Operations operations() {
return operations;
}
+ /**
+ * Gets the resource collection API of SkuMixPlacementScores.
+ *
+ * @return Resource collection API of SkuMixPlacementScores.
+ */
+ public SkuMixPlacementScores skuMixPlacementScores() {
+ if (this.skuMixPlacementScores == null) {
+ this.skuMixPlacementScores = new SkuMixPlacementScoresImpl(clientObject.getSkuMixPlacementScores(), this);
+ }
+ return skuMixPlacementScores;
+ }
+
/**
* Gets the resource collection API of SpotPlacementScores.
*
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/ComputeRecommenderManagementClient.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/ComputeRecommenderManagementClient.java
index b7eb1caa1219..40284a94e3fe 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/ComputeRecommenderManagementClient.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/ComputeRecommenderManagementClient.java
@@ -53,6 +53,13 @@ public interface ComputeRecommenderManagementClient {
*/
OperationsClient getOperations();
+ /**
+ * Gets the SkuMixPlacementScoresClient object to access its operations.
+ *
+ * @return the SkuMixPlacementScoresClient object.
+ */
+ SkuMixPlacementScoresClient getSkuMixPlacementScores();
+
/**
* Gets the SpotPlacementScoresClient object to access its operations.
*
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/SkuMixPlacementScoresClient.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/SkuMixPlacementScoresClient.java
new file mode 100644
index 000000000000..139dca8580ea
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/SkuMixPlacementScoresClient.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in SkuMixPlacementScoresClient.
+ */
+public interface SkuMixPlacementScoresClient {
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, Context context);
+
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SkuMixPlacementBaseInner get(String location);
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response postWithResponse(String location,
+ SkuMixPlacementRequest skuMixPlacementRequest, Context context);
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SkuMixPlacementResponseInner post(String location, SkuMixPlacementRequest skuMixPlacementRequest);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementBaseInner.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementBaseInner.java
new file mode 100644
index 000000000000..1b5c35305b1f
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementBaseInner.java
@@ -0,0 +1,144 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementProperties;
+import java.io.IOException;
+
+/**
+ * Contains metadata of the SkuMixPlacement scoring resource.
+ */
+@Immutable
+public final class SkuMixPlacementBaseInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private SkuMixPlacementProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of SkuMixPlacementBaseInner class.
+ */
+ private SkuMixPlacementBaseInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public SkuMixPlacementProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementBaseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementBaseInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementBaseInner.
+ */
+ public static SkuMixPlacementBaseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementBaseInner deserializedSkuMixPlacementBaseInner = new SkuMixPlacementBaseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSkuMixPlacementBaseInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSkuMixPlacementBaseInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSkuMixPlacementBaseInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedSkuMixPlacementBaseInner.properties = SkuMixPlacementProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSkuMixPlacementBaseInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementBaseInner;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementResponseInner.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementResponseInner.java
new file mode 100644
index 000000000000..de5537203235
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementResponseInner.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementDeploymentChoice;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPartialFulfillmentReason;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * Sku Mix Placement API response.
+ */
+@Immutable
+public final class SkuMixPlacementResponseInner implements JsonSerializable {
+ /*
+ * List of placement choice recommendations.
+ */
+ private List placementChoices;
+
+ /*
+ * Date/time until which the recommendations are valid. Callers should request fresh recommendations after this
+ * time.
+ */
+ private OffsetDateTime validUntil;
+
+ /*
+ * Indicates whether the response is a complete or partial fulfillment.
+ */
+ private SkuMixPlacementPartialFulfillmentReason partialFulfillmentReason;
+
+ /**
+ * Creates an instance of SkuMixPlacementResponseInner class.
+ */
+ private SkuMixPlacementResponseInner() {
+ }
+
+ /**
+ * Get the placementChoices property: List of placement choice recommendations.
+ *
+ * @return the placementChoices value.
+ */
+ public List placementChoices() {
+ return this.placementChoices;
+ }
+
+ /**
+ * Get the validUntil property: Date/time until which the recommendations are valid. Callers should request fresh
+ * recommendations after this time.
+ *
+ * @return the validUntil value.
+ */
+ public OffsetDateTime validUntil() {
+ return this.validUntil;
+ }
+
+ /**
+ * Get the partialFulfillmentReason property: Indicates whether the response is a complete or partial fulfillment.
+ *
+ * @return the partialFulfillmentReason value.
+ */
+ public SkuMixPlacementPartialFulfillmentReason partialFulfillmentReason() {
+ return this.partialFulfillmentReason;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("placementChoices", this.placementChoices,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("partialFulfillmentReason",
+ this.partialFulfillmentReason == null ? null : this.partialFulfillmentReason.toString());
+ jsonWriter.writeStringField("validUntil",
+ this.validUntil == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.validUntil));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementResponseInner if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementResponseInner.
+ */
+ public static SkuMixPlacementResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementResponseInner deserializedSkuMixPlacementResponseInner = new SkuMixPlacementResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("placementChoices".equals(fieldName)) {
+ List placementChoices
+ = reader.readArray(reader1 -> SkuMixPlacementDeploymentChoice.fromJson(reader1));
+ deserializedSkuMixPlacementResponseInner.placementChoices = placementChoices;
+ } else if ("partialFulfillmentReason".equals(fieldName)) {
+ deserializedSkuMixPlacementResponseInner.partialFulfillmentReason
+ = SkuMixPlacementPartialFulfillmentReason.fromString(reader.getString());
+ } else if ("validUntil".equals(fieldName)) {
+ deserializedSkuMixPlacementResponseInner.validUntil = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementResponseInner;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientImpl.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientImpl.java
index 0b91bc17b803..a69b47e071c8 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientImpl.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientImpl.java
@@ -28,6 +28,7 @@
import com.azure.core.util.serializer.SerializerEncoding;
import com.azure.resourcemanager.compute.recommender.fluent.ComputeRecommenderManagementClient;
import com.azure.resourcemanager.compute.recommender.fluent.OperationsClient;
+import com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient;
import com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient;
import java.io.IOException;
import java.lang.reflect.Type;
@@ -141,6 +142,20 @@ public OperationsClient getOperations() {
return this.operations;
}
+ /**
+ * The SkuMixPlacementScoresClient object to access its operations.
+ */
+ private final SkuMixPlacementScoresClient skuMixPlacementScores;
+
+ /**
+ * Gets the SkuMixPlacementScoresClient object to access its operations.
+ *
+ * @return the SkuMixPlacementScoresClient object.
+ */
+ public SkuMixPlacementScoresClient getSkuMixPlacementScores() {
+ return this.skuMixPlacementScores;
+ }
+
/**
* The SpotPlacementScoresClient object to access its operations.
*/
@@ -172,8 +187,9 @@ public SpotPlacementScoresClient getSpotPlacementScores() {
this.defaultPollInterval = defaultPollInterval;
this.endpoint = endpoint;
this.subscriptionId = subscriptionId;
- this.apiVersion = "2025-06-05";
+ this.apiVersion = "2026-05-05-preview";
this.operations = new OperationsClientImpl(this);
+ this.skuMixPlacementScores = new SkuMixPlacementScoresClientImpl(this);
this.spotPlacementScores = new SpotPlacementScoresClientImpl(this);
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementBaseImpl.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementBaseImpl.java
new file mode 100644
index 000000000000..cc40e2d10bf3
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementBaseImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementBase;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementProperties;
+
+public final class SkuMixPlacementBaseImpl implements SkuMixPlacementBase {
+ private SkuMixPlacementBaseInner innerObject;
+
+ private final com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager serviceManager;
+
+ SkuMixPlacementBaseImpl(SkuMixPlacementBaseInner innerObject,
+ com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public SkuMixPlacementProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public SkuMixPlacementBaseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementResponseImpl.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementResponseImpl.java
new file mode 100644
index 000000000000..ae6936a5d971
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementResponseImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.implementation;
+
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementDeploymentChoice;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPartialFulfillmentReason;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementResponse;
+import java.time.OffsetDateTime;
+import java.util.Collections;
+import java.util.List;
+
+public final class SkuMixPlacementResponseImpl implements SkuMixPlacementResponse {
+ private SkuMixPlacementResponseInner innerObject;
+
+ private final com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager serviceManager;
+
+ SkuMixPlacementResponseImpl(SkuMixPlacementResponseInner innerObject,
+ com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public List placementChoices() {
+ List inner = this.innerModel().placementChoices();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public OffsetDateTime validUntil() {
+ return this.innerModel().validUntil();
+ }
+
+ public SkuMixPlacementPartialFulfillmentReason partialFulfillmentReason() {
+ return this.innerModel().partialFulfillmentReason();
+ }
+
+ public SkuMixPlacementResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresClientImpl.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresClientImpl.java
new file mode 100644
index 000000000000..28bab860bc47
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresClientImpl.java
@@ -0,0 +1,233 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in SkuMixPlacementScoresClient.
+ */
+public final class SkuMixPlacementScoresClientImpl implements SkuMixPlacementScoresClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final SkuMixPlacementScoresService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final ComputeRecommenderManagementClientImpl client;
+
+ /**
+ * Initializes an instance of SkuMixPlacementScoresClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ SkuMixPlacementScoresClientImpl(ComputeRecommenderManagementClientImpl client) {
+ this.service = RestProxy.create(SkuMixPlacementScoresService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ComputeRecommenderManagementClientSkuMixPlacementScores to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "ComputeRecommenderManagementClientSkuMixPlacementScores")
+ public interface SkuMixPlacementScoresService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/skuMixPlacementScores/recommendations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/skuMixPlacementScores/recommendations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @HeaderParam("Accept") String accept, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/skuMixPlacementScores/recommendations/generate")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> post(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") SkuMixPlacementRequest skuMixPlacementRequest, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/skuMixPlacementScores/recommendations/generate")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response postSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") SkuMixPlacementRequest skuMixPlacementRequest, Context context);
+ }
+
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String location) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), location, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String location) {
+ return getWithResponseAsync(location).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String location, Context context) {
+ final String accept = "application/json";
+ return service.getSync(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ location, accept, context);
+ }
+
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SkuMixPlacementBaseInner get(String location) {
+ return getWithResponse(location, Context.NONE).getValue();
+ }
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> postWithResponseAsync(String location,
+ SkuMixPlacementRequest skuMixPlacementRequest) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.post(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), location, contentType, accept, skuMixPlacementRequest, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono postAsync(String location,
+ SkuMixPlacementRequest skuMixPlacementRequest) {
+ return postWithResponseAsync(location, skuMixPlacementRequest).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response postWithResponse(String location,
+ SkuMixPlacementRequest skuMixPlacementRequest, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.postSync(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ location, contentType, accept, skuMixPlacementRequest, context);
+ }
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SkuMixPlacementResponseInner post(String location, SkuMixPlacementRequest skuMixPlacementRequest) {
+ return postWithResponse(location, skuMixPlacementRequest, Context.NONE).getValue();
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresImpl.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresImpl.java
new file mode 100644
index 000000000000..0022830317c3
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresImpl.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementBase;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementResponse;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementScores;
+
+public final class SkuMixPlacementScoresImpl implements SkuMixPlacementScores {
+ private static final ClientLogger LOGGER = new ClientLogger(SkuMixPlacementScoresImpl.class);
+
+ private final SkuMixPlacementScoresClient innerClient;
+
+ private final com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager serviceManager;
+
+ public SkuMixPlacementScoresImpl(SkuMixPlacementScoresClient innerClient,
+ com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String location, Context context) {
+ Response inner = this.serviceClient().getWithResponse(location, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new SkuMixPlacementBaseImpl(inner.getValue(), this.manager()));
+ }
+
+ public SkuMixPlacementBase get(String location) {
+ SkuMixPlacementBaseInner inner = this.serviceClient().get(location);
+ if (inner != null) {
+ return new SkuMixPlacementBaseImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response postWithResponse(String location,
+ SkuMixPlacementRequest skuMixPlacementRequest, Context context) {
+ Response inner
+ = this.serviceClient().postWithResponse(location, skuMixPlacementRequest, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new SkuMixPlacementResponseImpl(inner.getValue(), this.manager()));
+ }
+
+ public SkuMixPlacementResponse post(String location, SkuMixPlacementRequest skuMixPlacementRequest) {
+ SkuMixPlacementResponseInner inner = this.serviceClient().post(location, skuMixPlacementRequest);
+ if (inner != null) {
+ return new SkuMixPlacementResponseImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private SkuMixPlacementScoresClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementAllocationStrategy.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementAllocationStrategy.java
new file mode 100644
index 000000000000..96fe6ce03424
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementAllocationStrategy.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * Allocation strategy for determining the optimal SKU split.
+ */
+public final class SkuMixPlacementAllocationStrategy extends ExpandableStringEnum {
+ /**
+ * VMs allocated to optimize for lowest price.
+ */
+ public static final SkuMixPlacementAllocationStrategy LOWEST_PRICE = fromString("LowestPrice");
+
+ /**
+ * VMs allocated based on customer-specified rank for each VM size.
+ */
+ public static final SkuMixPlacementAllocationStrategy PRIORITIZED = fromString("Prioritized");
+
+ /**
+ * VMs allocated to optimize for lowest eviction rate (Spot only).
+ */
+ public static final SkuMixPlacementAllocationStrategy EVICTION_OPTIMIZED = fromString("EvictionOptimized");
+
+ /**
+ * Creates a new instance of SkuMixPlacementAllocationStrategy value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuMixPlacementAllocationStrategy() {
+ }
+
+ /**
+ * Creates or finds a SkuMixPlacementAllocationStrategy from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding SkuMixPlacementAllocationStrategy.
+ */
+ public static SkuMixPlacementAllocationStrategy fromString(String name) {
+ return fromString(name, SkuMixPlacementAllocationStrategy.class);
+ }
+
+ /**
+ * Gets known SkuMixPlacementAllocationStrategy values.
+ *
+ * @return known SkuMixPlacementAllocationStrategy values.
+ */
+ public static Collection values() {
+ return values(SkuMixPlacementAllocationStrategy.class);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementBase.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementBase.java
new file mode 100644
index 000000000000..2450c2e8eeb3
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementBase.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner;
+
+/**
+ * An immutable client-side representation of SkuMixPlacementBase.
+ */
+public interface SkuMixPlacementBase {
+ /**
+ * Gets the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * Gets the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * Gets the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * Gets the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ SkuMixPlacementProperties properties();
+
+ /**
+ * Gets the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ SystemData systemData();
+
+ /**
+ * Gets the inner com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner object.
+ *
+ * @return the inner object.
+ */
+ SkuMixPlacementBaseInner innerModel();
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityProfile.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityProfile.java
new file mode 100644
index 000000000000..f6cd40ac78cf
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityProfile.java
@@ -0,0 +1,266 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Capacity-related properties for the placement request.
+ */
+@Fluent
+public final class SkuMixPlacementCapacityProfile implements JsonSerializable {
+ /*
+ * The capacity to run the workload. For VMs: [1..10,000]. For vCPUs: [1..100,000].
+ */
+ private int capacity;
+
+ /*
+ * The unit type for the capacity value.
+ */
+ private SkuMixPlacementCapacityType capacityType;
+
+ /*
+ * The priority of the VMs to allocate.
+ */
+ private SkuMixPlacementPriority priority;
+
+ /*
+ * Required when priority is Spot. Contains spot-specific configuration.
+ */
+ private SkuMixPlacementSpotPriorityProfile spotPriorityProfile;
+
+ /*
+ * The allocation strategy for determining the optimal SKU split.
+ */
+ private SkuMixPlacementAllocationStrategy allocationStrategy;
+
+ /*
+ * The OS type. Required when allocationStrategy is LowestPrice because pricing varies by OS.
+ */
+ private SkuMixPlacementOSType osType;
+
+ /*
+ * Zone allocation policy. Default: BestEffortBalanced.
+ */
+ private SkuMixPlacementZoneAllocationPolicy zoneAllocationPolicy;
+
+ /**
+ * Creates an instance of SkuMixPlacementCapacityProfile class.
+ */
+ public SkuMixPlacementCapacityProfile() {
+ }
+
+ /**
+ * Get the capacity property: The capacity to run the workload. For VMs: [1..10,000]. For vCPUs: [1..100,000].
+ *
+ * @return the capacity value.
+ */
+ public int capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Set the capacity property: The capacity to run the workload. For VMs: [1..10,000]. For vCPUs: [1..100,000].
+ *
+ * @param capacity the capacity value to set.
+ * @return the SkuMixPlacementCapacityProfile object itself.
+ */
+ public SkuMixPlacementCapacityProfile withCapacity(int capacity) {
+ this.capacity = capacity;
+ return this;
+ }
+
+ /**
+ * Get the capacityType property: The unit type for the capacity value.
+ *
+ * @return the capacityType value.
+ */
+ public SkuMixPlacementCapacityType capacityType() {
+ return this.capacityType;
+ }
+
+ /**
+ * Set the capacityType property: The unit type for the capacity value.
+ *
+ * @param capacityType the capacityType value to set.
+ * @return the SkuMixPlacementCapacityProfile object itself.
+ */
+ public SkuMixPlacementCapacityProfile withCapacityType(SkuMixPlacementCapacityType capacityType) {
+ this.capacityType = capacityType;
+ return this;
+ }
+
+ /**
+ * Get the priority property: The priority of the VMs to allocate.
+ *
+ * @return the priority value.
+ */
+ public SkuMixPlacementPriority priority() {
+ return this.priority;
+ }
+
+ /**
+ * Set the priority property: The priority of the VMs to allocate.
+ *
+ * @param priority the priority value to set.
+ * @return the SkuMixPlacementCapacityProfile object itself.
+ */
+ public SkuMixPlacementCapacityProfile withPriority(SkuMixPlacementPriority priority) {
+ this.priority = priority;
+ return this;
+ }
+
+ /**
+ * Get the spotPriorityProfile property: Required when priority is Spot. Contains spot-specific configuration.
+ *
+ * @return the spotPriorityProfile value.
+ */
+ public SkuMixPlacementSpotPriorityProfile spotPriorityProfile() {
+ return this.spotPriorityProfile;
+ }
+
+ /**
+ * Set the spotPriorityProfile property: Required when priority is Spot. Contains spot-specific configuration.
+ *
+ * @param spotPriorityProfile the spotPriorityProfile value to set.
+ * @return the SkuMixPlacementCapacityProfile object itself.
+ */
+ public SkuMixPlacementCapacityProfile
+ withSpotPriorityProfile(SkuMixPlacementSpotPriorityProfile spotPriorityProfile) {
+ this.spotPriorityProfile = spotPriorityProfile;
+ return this;
+ }
+
+ /**
+ * Get the allocationStrategy property: The allocation strategy for determining the optimal SKU split.
+ *
+ * @return the allocationStrategy value.
+ */
+ public SkuMixPlacementAllocationStrategy allocationStrategy() {
+ return this.allocationStrategy;
+ }
+
+ /**
+ * Set the allocationStrategy property: The allocation strategy for determining the optimal SKU split.
+ *
+ * @param allocationStrategy the allocationStrategy value to set.
+ * @return the SkuMixPlacementCapacityProfile object itself.
+ */
+ public SkuMixPlacementCapacityProfile withAllocationStrategy(SkuMixPlacementAllocationStrategy allocationStrategy) {
+ this.allocationStrategy = allocationStrategy;
+ return this;
+ }
+
+ /**
+ * Get the osType property: The OS type. Required when allocationStrategy is LowestPrice because pricing varies by
+ * OS.
+ *
+ * @return the osType value.
+ */
+ public SkuMixPlacementOSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the osType property: The OS type. Required when allocationStrategy is LowestPrice because pricing varies by
+ * OS.
+ *
+ * @param osType the osType value to set.
+ * @return the SkuMixPlacementCapacityProfile object itself.
+ */
+ public SkuMixPlacementCapacityProfile withOsType(SkuMixPlacementOSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the zoneAllocationPolicy property: Zone allocation policy. Default: BestEffortBalanced.
+ *
+ * @return the zoneAllocationPolicy value.
+ */
+ public SkuMixPlacementZoneAllocationPolicy zoneAllocationPolicy() {
+ return this.zoneAllocationPolicy;
+ }
+
+ /**
+ * Set the zoneAllocationPolicy property: Zone allocation policy. Default: BestEffortBalanced.
+ *
+ * @param zoneAllocationPolicy the zoneAllocationPolicy value to set.
+ * @return the SkuMixPlacementCapacityProfile object itself.
+ */
+ public SkuMixPlacementCapacityProfile
+ withZoneAllocationPolicy(SkuMixPlacementZoneAllocationPolicy zoneAllocationPolicy) {
+ this.zoneAllocationPolicy = zoneAllocationPolicy;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeIntField("capacity", this.capacity);
+ jsonWriter.writeStringField("capacityType", this.capacityType == null ? null : this.capacityType.toString());
+ jsonWriter.writeStringField("priority", this.priority == null ? null : this.priority.toString());
+ jsonWriter.writeJsonField("spotPriorityProfile", this.spotPriorityProfile);
+ jsonWriter.writeStringField("allocationStrategy",
+ this.allocationStrategy == null ? null : this.allocationStrategy.toString());
+ jsonWriter.writeStringField("osType", this.osType == null ? null : this.osType.toString());
+ jsonWriter.writeJsonField("zoneAllocationPolicy", this.zoneAllocationPolicy);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementCapacityProfile from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementCapacityProfile if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementCapacityProfile.
+ */
+ public static SkuMixPlacementCapacityProfile fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementCapacityProfile deserializedSkuMixPlacementCapacityProfile
+ = new SkuMixPlacementCapacityProfile();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("capacity".equals(fieldName)) {
+ deserializedSkuMixPlacementCapacityProfile.capacity = reader.getInt();
+ } else if ("capacityType".equals(fieldName)) {
+ deserializedSkuMixPlacementCapacityProfile.capacityType
+ = SkuMixPlacementCapacityType.fromString(reader.getString());
+ } else if ("priority".equals(fieldName)) {
+ deserializedSkuMixPlacementCapacityProfile.priority
+ = SkuMixPlacementPriority.fromString(reader.getString());
+ } else if ("spotPriorityProfile".equals(fieldName)) {
+ deserializedSkuMixPlacementCapacityProfile.spotPriorityProfile
+ = SkuMixPlacementSpotPriorityProfile.fromJson(reader);
+ } else if ("allocationStrategy".equals(fieldName)) {
+ deserializedSkuMixPlacementCapacityProfile.allocationStrategy
+ = SkuMixPlacementAllocationStrategy.fromString(reader.getString());
+ } else if ("osType".equals(fieldName)) {
+ deserializedSkuMixPlacementCapacityProfile.osType
+ = SkuMixPlacementOSType.fromString(reader.getString());
+ } else if ("zoneAllocationPolicy".equals(fieldName)) {
+ deserializedSkuMixPlacementCapacityProfile.zoneAllocationPolicy
+ = SkuMixPlacementZoneAllocationPolicy.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementCapacityProfile;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityType.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityType.java
new file mode 100644
index 000000000000..26cd0034e15a
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityType.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * The unit type for the capacity value.
+ */
+public final class SkuMixPlacementCapacityType extends ExpandableStringEnum {
+ /**
+ * Capacity measured in number of VMs.
+ */
+ public static final SkuMixPlacementCapacityType VM = fromString("VM");
+
+ /**
+ * Capacity measured in number of vCPUs.
+ */
+ public static final SkuMixPlacementCapacityType VCPU = fromString("VCpu");
+
+ /**
+ * Creates a new instance of SkuMixPlacementCapacityType value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuMixPlacementCapacityType() {
+ }
+
+ /**
+ * Creates or finds a SkuMixPlacementCapacityType from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding SkuMixPlacementCapacityType.
+ */
+ public static SkuMixPlacementCapacityType fromString(String name) {
+ return fromString(name, SkuMixPlacementCapacityType.class);
+ }
+
+ /**
+ * Gets known SkuMixPlacementCapacityType values.
+ *
+ * @return known SkuMixPlacementCapacityType values.
+ */
+ public static Collection values() {
+ return values(SkuMixPlacementCapacityType.class);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementDeploymentChoice.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementDeploymentChoice.java
new file mode 100644
index 000000000000..94abc616613c
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementDeploymentChoice.java
@@ -0,0 +1,113 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * A single deployment choice recommendation.
+ */
+@Immutable
+public final class SkuMixPlacementDeploymentChoice implements JsonSerializable {
+ /*
+ * Unique identifier for this deployment choice.
+ */
+ private String id;
+
+ /*
+ * Placement score from 0 to 9 (inclusive). Higher is better.
+ */
+ private int score;
+
+ /*
+ * The list of VM size / zone allocations that make up this deployment choice.
+ */
+ private List skuSplit;
+
+ /**
+ * Creates an instance of SkuMixPlacementDeploymentChoice class.
+ */
+ private SkuMixPlacementDeploymentChoice() {
+ }
+
+ /**
+ * Get the id property: Unique identifier for this deployment choice.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the score property: Placement score from 0 to 9 (inclusive). Higher is better.
+ *
+ * @return the score value.
+ */
+ public int score() {
+ return this.score;
+ }
+
+ /**
+ * Get the skuSplit property: The list of VM size / zone allocations that make up this deployment choice.
+ *
+ * @return the skuSplit value.
+ */
+ public List skuSplit() {
+ return this.skuSplit;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeIntField("score", this.score);
+ jsonWriter.writeArrayField("skuSplit", this.skuSplit, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementDeploymentChoice from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementDeploymentChoice if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementDeploymentChoice.
+ */
+ public static SkuMixPlacementDeploymentChoice fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementDeploymentChoice deserializedSkuMixPlacementDeploymentChoice
+ = new SkuMixPlacementDeploymentChoice();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSkuMixPlacementDeploymentChoice.id = reader.getString();
+ } else if ("score".equals(fieldName)) {
+ deserializedSkuMixPlacementDeploymentChoice.score = reader.getInt();
+ } else if ("skuSplit".equals(fieldName)) {
+ List skuSplit
+ = reader.readArray(reader1 -> SkuMixPlacementItem.fromJson(reader1));
+ deserializedSkuMixPlacementDeploymentChoice.skuSplit = skuSplit;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementDeploymentChoice;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementInstanceDescription.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementInstanceDescription.java
new file mode 100644
index 000000000000..5973d0f474bd
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementInstanceDescription.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Describes which VM sizes to consider.
+ */
+@Fluent
+public final class SkuMixPlacementInstanceDescription implements JsonSerializable {
+ /*
+ * The list of VM sizes to consider for placement.
+ */
+ private List vmSizes;
+
+ /**
+ * Creates an instance of SkuMixPlacementInstanceDescription class.
+ */
+ public SkuMixPlacementInstanceDescription() {
+ }
+
+ /**
+ * Get the vmSizes property: The list of VM sizes to consider for placement.
+ *
+ * @return the vmSizes value.
+ */
+ public List vmSizes() {
+ return this.vmSizes;
+ }
+
+ /**
+ * Set the vmSizes property: The list of VM sizes to consider for placement.
+ *
+ * @param vmSizes the vmSizes value to set.
+ * @return the SkuMixPlacementInstanceDescription object itself.
+ */
+ public SkuMixPlacementInstanceDescription withVmSizes(List vmSizes) {
+ this.vmSizes = vmSizes;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("vmSizes", this.vmSizes, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementInstanceDescription from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementInstanceDescription if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementInstanceDescription.
+ */
+ public static SkuMixPlacementInstanceDescription fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementInstanceDescription deserializedSkuMixPlacementInstanceDescription
+ = new SkuMixPlacementInstanceDescription();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("vmSizes".equals(fieldName)) {
+ List vmSizes
+ = reader.readArray(reader1 -> SkuMixPlacementVMSize.fromJson(reader1));
+ deserializedSkuMixPlacementInstanceDescription.vmSizes = vmSizes;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementInstanceDescription;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementItem.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementItem.java
new file mode 100644
index 000000000000..7e42d6897925
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementItem.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * A single VM size allocation within a deployment choice.
+ */
+@Immutable
+public final class SkuMixPlacementItem implements JsonSerializable {
+ /*
+ * VM size name (e.g. Standard_D2s_v3).
+ */
+ private String name;
+
+ /*
+ * Priority of this allocation (Regular or Spot).
+ */
+ private SkuMixPlacementPriority priority;
+
+ /*
+ * Lower range of recommended allocation capacity.
+ */
+ private int capacity;
+
+ /*
+ * Upper range of recommended allocation capacity.
+ */
+ private Integer capacityMax;
+
+ /*
+ * Logical zone (e.g. "1", "2", "3"). Omitted or empty for regional deployments.
+ */
+ private String zone;
+
+ /**
+ * Creates an instance of SkuMixPlacementItem class.
+ */
+ private SkuMixPlacementItem() {
+ }
+
+ /**
+ * Get the name property: VM size name (e.g. Standard_D2s_v3).
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the priority property: Priority of this allocation (Regular or Spot).
+ *
+ * @return the priority value.
+ */
+ public SkuMixPlacementPriority priority() {
+ return this.priority;
+ }
+
+ /**
+ * Get the capacity property: Lower range of recommended allocation capacity.
+ *
+ * @return the capacity value.
+ */
+ public int capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Get the capacityMax property: Upper range of recommended allocation capacity.
+ *
+ * @return the capacityMax value.
+ */
+ public Integer capacityMax() {
+ return this.capacityMax;
+ }
+
+ /**
+ * Get the zone property: Logical zone (e.g. "1", "2", "3"). Omitted or empty for regional deployments.
+ *
+ * @return the zone value.
+ */
+ public String zone() {
+ return this.zone;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeStringField("priority", this.priority == null ? null : this.priority.toString());
+ jsonWriter.writeIntField("capacity", this.capacity);
+ jsonWriter.writeNumberField("capacityMax", this.capacityMax);
+ jsonWriter.writeStringField("zone", this.zone);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementItem from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementItem if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementItem.
+ */
+ public static SkuMixPlacementItem fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementItem deserializedSkuMixPlacementItem = new SkuMixPlacementItem();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedSkuMixPlacementItem.name = reader.getString();
+ } else if ("priority".equals(fieldName)) {
+ deserializedSkuMixPlacementItem.priority = SkuMixPlacementPriority.fromString(reader.getString());
+ } else if ("capacity".equals(fieldName)) {
+ deserializedSkuMixPlacementItem.capacity = reader.getInt();
+ } else if ("capacityMax".equals(fieldName)) {
+ deserializedSkuMixPlacementItem.capacityMax = reader.getNullable(JsonReader::getInt);
+ } else if ("zone".equals(fieldName)) {
+ deserializedSkuMixPlacementItem.zone = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementItem;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementOSType.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementOSType.java
new file mode 100644
index 000000000000..1bec95895bd7
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementOSType.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * The OS type of the VMs.
+ */
+public final class SkuMixPlacementOSType extends ExpandableStringEnum {
+ /**
+ * Windows OS.
+ */
+ public static final SkuMixPlacementOSType WINDOWS = fromString("Windows");
+
+ /**
+ * Linux OS.
+ */
+ public static final SkuMixPlacementOSType LINUX = fromString("Linux");
+
+ /**
+ * Creates a new instance of SkuMixPlacementOSType value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuMixPlacementOSType() {
+ }
+
+ /**
+ * Creates or finds a SkuMixPlacementOSType from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding SkuMixPlacementOSType.
+ */
+ public static SkuMixPlacementOSType fromString(String name) {
+ return fromString(name, SkuMixPlacementOSType.class);
+ }
+
+ /**
+ * Gets known SkuMixPlacementOSType values.
+ *
+ * @return known SkuMixPlacementOSType values.
+ */
+ public static Collection values() {
+ return values(SkuMixPlacementOSType.class);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPartialFulfillmentReason.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPartialFulfillmentReason.java
new file mode 100644
index 000000000000..497f9567ded2
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPartialFulfillmentReason.java
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * Reason for partial fulfillment of the requested capacity.
+ */
+public final class SkuMixPlacementPartialFulfillmentReason
+ extends ExpandableStringEnum {
+ /**
+ * Full capacity was fulfilled.
+ */
+ public static final SkuMixPlacementPartialFulfillmentReason NONE = fromString("None");
+
+ /**
+ * Not enough allocable capacity was available.
+ */
+ public static final SkuMixPlacementPartialFulfillmentReason INSUFFICIENT_CAPACITY
+ = fromString("InsufficientCapacity");
+
+ /**
+ * Not enough quota was available.
+ */
+ public static final SkuMixPlacementPartialFulfillmentReason INSUFFICIENT_QUOTA = fromString("InsufficientQuota");
+
+ /**
+ * Creates a new instance of SkuMixPlacementPartialFulfillmentReason value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuMixPlacementPartialFulfillmentReason() {
+ }
+
+ /**
+ * Creates or finds a SkuMixPlacementPartialFulfillmentReason from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding SkuMixPlacementPartialFulfillmentReason.
+ */
+ public static SkuMixPlacementPartialFulfillmentReason fromString(String name) {
+ return fromString(name, SkuMixPlacementPartialFulfillmentReason.class);
+ }
+
+ /**
+ * Gets known SkuMixPlacementPartialFulfillmentReason values.
+ *
+ * @return known SkuMixPlacementPartialFulfillmentReason values.
+ */
+ public static Collection values() {
+ return values(SkuMixPlacementPartialFulfillmentReason.class);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPriority.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPriority.java
new file mode 100644
index 000000000000..727a8667995f
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPriority.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * Priority levels for VM allocation.
+ */
+public final class SkuMixPlacementPriority extends ExpandableStringEnum {
+ /**
+ * Regular priority VMs with guaranteed capacity.
+ */
+ public static final SkuMixPlacementPriority REGULAR = fromString("Regular");
+
+ /**
+ * Spot priority VMs with lower cost but potential eviction.
+ */
+ public static final SkuMixPlacementPriority SPOT = fromString("Spot");
+
+ /**
+ * Creates a new instance of SkuMixPlacementPriority value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuMixPlacementPriority() {
+ }
+
+ /**
+ * Creates or finds a SkuMixPlacementPriority from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding SkuMixPlacementPriority.
+ */
+ public static SkuMixPlacementPriority fromString(String name) {
+ return fromString(name, SkuMixPlacementPriority.class);
+ }
+
+ /**
+ * Gets known SkuMixPlacementPriority values.
+ *
+ * @return known SkuMixPlacementPriority values.
+ */
+ public static Collection values() {
+ return values(SkuMixPlacementPriority.class);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementProperties.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementProperties.java
new file mode 100644
index 000000000000..fdab6f914866
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementProperties.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Contains properties of the SkuMixPlacement resource.
+ */
+@Immutable
+public final class SkuMixPlacementProperties implements JsonSerializable {
+ /*
+ * Describes what resource types are supported by the mix placement scoring service.
+ */
+ private List supportedResourceTypes;
+
+ /**
+ * Creates an instance of SkuMixPlacementProperties class.
+ */
+ private SkuMixPlacementProperties() {
+ }
+
+ /**
+ * Get the supportedResourceTypes property: Describes what resource types are supported by the mix placement scoring
+ * service.
+ *
+ * @return the supportedResourceTypes value.
+ */
+ public List supportedResourceTypes() {
+ return this.supportedResourceTypes;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("supportedResourceTypes", this.supportedResourceTypes,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementProperties if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementProperties.
+ */
+ public static SkuMixPlacementProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementProperties deserializedSkuMixPlacementProperties = new SkuMixPlacementProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("supportedResourceTypes".equals(fieldName)) {
+ List supportedResourceTypes = reader.readArray(reader1 -> reader1.getString());
+ deserializedSkuMixPlacementProperties.supportedResourceTypes = supportedResourceTypes;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementProperties;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementRequest.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementRequest.java
new file mode 100644
index 000000000000..91442781f7e4
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementRequest.java
@@ -0,0 +1,148 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Sku Mix Placement API request.
+ */
+@Fluent
+public final class SkuMixPlacementRequest implements JsonSerializable {
+ /*
+ * Optional logical zones to consider (e.g. ["1","2","3"]). Omitted or empty implies regional deployment.
+ */
+ private List zones;
+
+ /*
+ * All capacity-related properties.
+ */
+ private SkuMixPlacementCapacityProfile capacityProfile;
+
+ /*
+ * Describes how the service should choose candidate VM sizes.
+ */
+ private SkuMixPlacementInstanceDescription instanceDescription;
+
+ /**
+ * Creates an instance of SkuMixPlacementRequest class.
+ */
+ public SkuMixPlacementRequest() {
+ }
+
+ /**
+ * Get the zones property: Optional logical zones to consider (e.g. ["1","2","3"]). Omitted or empty implies
+ * regional deployment.
+ *
+ * @return the zones value.
+ */
+ public List zones() {
+ return this.zones;
+ }
+
+ /**
+ * Set the zones property: Optional logical zones to consider (e.g. ["1","2","3"]). Omitted or empty implies
+ * regional deployment.
+ *
+ * @param zones the zones value to set.
+ * @return the SkuMixPlacementRequest object itself.
+ */
+ public SkuMixPlacementRequest withZones(List zones) {
+ this.zones = zones;
+ return this;
+ }
+
+ /**
+ * Get the capacityProfile property: All capacity-related properties.
+ *
+ * @return the capacityProfile value.
+ */
+ public SkuMixPlacementCapacityProfile capacityProfile() {
+ return this.capacityProfile;
+ }
+
+ /**
+ * Set the capacityProfile property: All capacity-related properties.
+ *
+ * @param capacityProfile the capacityProfile value to set.
+ * @return the SkuMixPlacementRequest object itself.
+ */
+ public SkuMixPlacementRequest withCapacityProfile(SkuMixPlacementCapacityProfile capacityProfile) {
+ this.capacityProfile = capacityProfile;
+ return this;
+ }
+
+ /**
+ * Get the instanceDescription property: Describes how the service should choose candidate VM sizes.
+ *
+ * @return the instanceDescription value.
+ */
+ public SkuMixPlacementInstanceDescription instanceDescription() {
+ return this.instanceDescription;
+ }
+
+ /**
+ * Set the instanceDescription property: Describes how the service should choose candidate VM sizes.
+ *
+ * @param instanceDescription the instanceDescription value to set.
+ * @return the SkuMixPlacementRequest object itself.
+ */
+ public SkuMixPlacementRequest withInstanceDescription(SkuMixPlacementInstanceDescription instanceDescription) {
+ this.instanceDescription = instanceDescription;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("capacityProfile", this.capacityProfile);
+ jsonWriter.writeJsonField("instanceDescription", this.instanceDescription);
+ jsonWriter.writeArrayField("zones", this.zones, (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementRequest from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementRequest if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementRequest.
+ */
+ public static SkuMixPlacementRequest fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementRequest deserializedSkuMixPlacementRequest = new SkuMixPlacementRequest();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("capacityProfile".equals(fieldName)) {
+ deserializedSkuMixPlacementRequest.capacityProfile
+ = SkuMixPlacementCapacityProfile.fromJson(reader);
+ } else if ("instanceDescription".equals(fieldName)) {
+ deserializedSkuMixPlacementRequest.instanceDescription
+ = SkuMixPlacementInstanceDescription.fromJson(reader);
+ } else if ("zones".equals(fieldName)) {
+ List zones = reader.readArray(reader1 -> reader1.getString());
+ deserializedSkuMixPlacementRequest.zones = zones;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementRequest;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementResponse.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementResponse.java
new file mode 100644
index 000000000000..11caa8d27f04
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementResponse.java
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * An immutable client-side representation of SkuMixPlacementResponse.
+ */
+public interface SkuMixPlacementResponse {
+ /**
+ * Gets the placementChoices property: List of placement choice recommendations.
+ *
+ * @return the placementChoices value.
+ */
+ List placementChoices();
+
+ /**
+ * Gets the validUntil property: Date/time until which the recommendations are valid. Callers should request fresh
+ * recommendations after this time.
+ *
+ * @return the validUntil value.
+ */
+ OffsetDateTime validUntil();
+
+ /**
+ * Gets the partialFulfillmentReason property: Indicates whether the response is a complete or partial fulfillment.
+ *
+ * @return the partialFulfillmentReason value.
+ */
+ SkuMixPlacementPartialFulfillmentReason partialFulfillmentReason();
+
+ /**
+ * Gets the inner com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner object.
+ *
+ * @return the inner object.
+ */
+ SkuMixPlacementResponseInner innerModel();
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementScores.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementScores.java
new file mode 100644
index 000000000000..e8b1f3cc92bf
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementScores.java
@@ -0,0 +1,62 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+
+/**
+ * Resource collection API of SkuMixPlacementScores.
+ */
+public interface SkuMixPlacementScores {
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata along with {@link Response}.
+ */
+ Response getWithResponse(String location, Context context);
+
+ /**
+ * Gets SkuMixPlacement scoring metadata.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return skuMixPlacement scoring metadata.
+ */
+ SkuMixPlacementBase get(String location);
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response along with {@link Response}.
+ */
+ Response postWithResponse(String location, SkuMixPlacementRequest skuMixPlacementRequest,
+ Context context);
+
+ /**
+ * Generates placement scores for VM SKU mix placement.
+ *
+ * @param location The name of the Azure region.
+ * @param skuMixPlacementRequest SkuMixPlacement request object supplied in the body of the generate operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sku Mix Placement API response.
+ */
+ SkuMixPlacementResponse post(String location, SkuMixPlacementRequest skuMixPlacementRequest);
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementSpotPriorityProfile.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementSpotPriorityProfile.java
new file mode 100644
index 000000000000..a388d59b26df
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementSpotPriorityProfile.java
@@ -0,0 +1,89 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Spot priority configuration. Required when priority is Spot.
+ */
+@Fluent
+public final class SkuMixPlacementSpotPriorityProfile implements JsonSerializable {
+ /*
+ * Maximum price per VM the customer is willing to pay. Default: -1 (no price restriction).
+ */
+ private Double maxPricePerVm;
+
+ /**
+ * Creates an instance of SkuMixPlacementSpotPriorityProfile class.
+ */
+ public SkuMixPlacementSpotPriorityProfile() {
+ }
+
+ /**
+ * Get the maxPricePerVm property: Maximum price per VM the customer is willing to pay. Default: -1 (no price
+ * restriction).
+ *
+ * @return the maxPricePerVm value.
+ */
+ public Double maxPricePerVm() {
+ return this.maxPricePerVm;
+ }
+
+ /**
+ * Set the maxPricePerVm property: Maximum price per VM the customer is willing to pay. Default: -1 (no price
+ * restriction).
+ *
+ * @param maxPricePerVm the maxPricePerVm value to set.
+ * @return the SkuMixPlacementSpotPriorityProfile object itself.
+ */
+ public SkuMixPlacementSpotPriorityProfile withMaxPricePerVm(Double maxPricePerVm) {
+ this.maxPricePerVm = maxPricePerVm;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeNumberField("maxPricePerVm", this.maxPricePerVm);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementSpotPriorityProfile from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementSpotPriorityProfile if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementSpotPriorityProfile.
+ */
+ public static SkuMixPlacementSpotPriorityProfile fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementSpotPriorityProfile deserializedSkuMixPlacementSpotPriorityProfile
+ = new SkuMixPlacementSpotPriorityProfile();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("maxPricePerVm".equals(fieldName)) {
+ deserializedSkuMixPlacementSpotPriorityProfile.maxPricePerVm
+ = reader.getNullable(JsonReader::getDouble);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementSpotPriorityProfile;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementVMSize.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementVMSize.java
new file mode 100644
index 000000000000..d86516bc9b3b
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementVMSize.java
@@ -0,0 +1,116 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * A VM size with optional rank for prioritization.
+ */
+@Fluent
+public final class SkuMixPlacementVMSize implements JsonSerializable {
+ /*
+ * SKU name (e.g. Standard_D2s_v3).
+ */
+ private String name;
+
+ /*
+ * Rank of the VM size. Lower = higher priority (starting at 0). Only valid with Prioritized strategy.
+ */
+ private Integer rank;
+
+ /**
+ * Creates an instance of SkuMixPlacementVMSize class.
+ */
+ public SkuMixPlacementVMSize() {
+ }
+
+ /**
+ * Get the name property: SKU name (e.g. Standard_D2s_v3).
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: SKU name (e.g. Standard_D2s_v3).
+ *
+ * @param name the name value to set.
+ * @return the SkuMixPlacementVMSize object itself.
+ */
+ public SkuMixPlacementVMSize withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the rank property: Rank of the VM size. Lower = higher priority (starting at 0). Only valid with Prioritized
+ * strategy.
+ *
+ * @return the rank value.
+ */
+ public Integer rank() {
+ return this.rank;
+ }
+
+ /**
+ * Set the rank property: Rank of the VM size. Lower = higher priority (starting at 0). Only valid with Prioritized
+ * strategy.
+ *
+ * @param rank the rank value to set.
+ * @return the SkuMixPlacementVMSize object itself.
+ */
+ public SkuMixPlacementVMSize withRank(Integer rank) {
+ this.rank = rank;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeNumberField("rank", this.rank);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementVMSize from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementVMSize if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementVMSize.
+ */
+ public static SkuMixPlacementVMSize fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementVMSize deserializedSkuMixPlacementVMSize = new SkuMixPlacementVMSize();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedSkuMixPlacementVMSize.name = reader.getString();
+ } else if ("rank".equals(fieldName)) {
+ deserializedSkuMixPlacementVMSize.rank = reader.getNullable(JsonReader::getInt);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementVMSize;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonalDistributionStrategy.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonalDistributionStrategy.java
new file mode 100644
index 000000000000..315ba3efc3ba
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonalDistributionStrategy.java
@@ -0,0 +1,60 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * Strategy for distributing capacity across availability zones.
+ */
+public final class SkuMixPlacementZonalDistributionStrategy
+ extends ExpandableStringEnum {
+ /**
+ * Capacity distributed across zones on a best-effort balanced basis.
+ */
+ public static final SkuMixPlacementZonalDistributionStrategy BEST_EFFORT_BALANCED
+ = fromString("BestEffortBalanced");
+
+ /**
+ * Zones filled based on zone preferences/rank. Higher priority zones filled first.
+ */
+ public static final SkuMixPlacementZonalDistributionStrategy PRIORITIZED = fromString("Prioritized");
+
+ /**
+ * Capacity allocated within a single zone on a best-effort basis; may spill across zones if single-zone capacity is
+ * insufficient.
+ */
+ public static final SkuMixPlacementZonalDistributionStrategy BEST_EFFORT_SINGLE_ZONE
+ = fromString("BestEffortSingleZone");
+
+ /**
+ * Creates a new instance of SkuMixPlacementZonalDistributionStrategy value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuMixPlacementZonalDistributionStrategy() {
+ }
+
+ /**
+ * Creates or finds a SkuMixPlacementZonalDistributionStrategy from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding SkuMixPlacementZonalDistributionStrategy.
+ */
+ public static SkuMixPlacementZonalDistributionStrategy fromString(String name) {
+ return fromString(name, SkuMixPlacementZonalDistributionStrategy.class);
+ }
+
+ /**
+ * Gets known SkuMixPlacementZonalDistributionStrategy values.
+ *
+ * @return known SkuMixPlacementZonalDistributionStrategy values.
+ */
+ public static Collection values() {
+ return values(SkuMixPlacementZonalDistributionStrategy.class);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZoneAllocationPolicy.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZoneAllocationPolicy.java
new file mode 100644
index 000000000000..d0ca59c27b93
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZoneAllocationPolicy.java
@@ -0,0 +1,123 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Zone allocation policy for the placement request.
+ */
+@Fluent
+public final class SkuMixPlacementZoneAllocationPolicy
+ implements JsonSerializable {
+ /*
+ * Distribution strategy for allocating capacity across zones.
+ */
+ private SkuMixPlacementZonalDistributionStrategy distributionStrategy;
+
+ /*
+ * Per-zone allocation preferences. Used with the Prioritized strategy.
+ */
+ private List zonePreferences;
+
+ /**
+ * Creates an instance of SkuMixPlacementZoneAllocationPolicy class.
+ */
+ public SkuMixPlacementZoneAllocationPolicy() {
+ }
+
+ /**
+ * Get the distributionStrategy property: Distribution strategy for allocating capacity across zones.
+ *
+ * @return the distributionStrategy value.
+ */
+ public SkuMixPlacementZonalDistributionStrategy distributionStrategy() {
+ return this.distributionStrategy;
+ }
+
+ /**
+ * Set the distributionStrategy property: Distribution strategy for allocating capacity across zones.
+ *
+ * @param distributionStrategy the distributionStrategy value to set.
+ * @return the SkuMixPlacementZoneAllocationPolicy object itself.
+ */
+ public SkuMixPlacementZoneAllocationPolicy
+ withDistributionStrategy(SkuMixPlacementZonalDistributionStrategy distributionStrategy) {
+ this.distributionStrategy = distributionStrategy;
+ return this;
+ }
+
+ /**
+ * Get the zonePreferences property: Per-zone allocation preferences. Used with the Prioritized strategy.
+ *
+ * @return the zonePreferences value.
+ */
+ public List zonePreferences() {
+ return this.zonePreferences;
+ }
+
+ /**
+ * Set the zonePreferences property: Per-zone allocation preferences. Used with the Prioritized strategy.
+ *
+ * @param zonePreferences the zonePreferences value to set.
+ * @return the SkuMixPlacementZoneAllocationPolicy object itself.
+ */
+ public SkuMixPlacementZoneAllocationPolicy
+ withZonePreferences(List zonePreferences) {
+ this.zonePreferences = zonePreferences;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("distributionStrategy",
+ this.distributionStrategy == null ? null : this.distributionStrategy.toString());
+ jsonWriter.writeArrayField("zonePreferences", this.zonePreferences,
+ (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementZoneAllocationPolicy from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementZoneAllocationPolicy if the JsonReader was pointing to an instance of it,
+ * or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementZoneAllocationPolicy.
+ */
+ public static SkuMixPlacementZoneAllocationPolicy fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementZoneAllocationPolicy deserializedSkuMixPlacementZoneAllocationPolicy
+ = new SkuMixPlacementZoneAllocationPolicy();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("distributionStrategy".equals(fieldName)) {
+ deserializedSkuMixPlacementZoneAllocationPolicy.distributionStrategy
+ = SkuMixPlacementZonalDistributionStrategy.fromString(reader.getString());
+ } else if ("zonePreferences".equals(fieldName)) {
+ List zonePreferences
+ = reader.readArray(reader1 -> SkuMixPlacementZonePreference.fromJson(reader1));
+ deserializedSkuMixPlacementZoneAllocationPolicy.zonePreferences = zonePreferences;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementZoneAllocationPolicy;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonePreference.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonePreference.java
new file mode 100644
index 000000000000..72469e7186f1
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonePreference.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Per-zone allocation preference.
+ */
+@Fluent
+public final class SkuMixPlacementZonePreference implements JsonSerializable {
+ /*
+ * Logical zone (e.g. "1", "2", "3").
+ */
+ private String zone;
+
+ /*
+ * Rank of the zone. Lower values = higher priority (0 is highest).
+ */
+ private Integer rank;
+
+ /*
+ * Best-effort limit to avoid allocating more than this count within the zone. Used with the Prioritized strategy.
+ */
+ private Integer targetMaxCapacity;
+
+ /**
+ * Creates an instance of SkuMixPlacementZonePreference class.
+ */
+ public SkuMixPlacementZonePreference() {
+ }
+
+ /**
+ * Get the zone property: Logical zone (e.g. "1", "2", "3").
+ *
+ * @return the zone value.
+ */
+ public String zone() {
+ return this.zone;
+ }
+
+ /**
+ * Set the zone property: Logical zone (e.g. "1", "2", "3").
+ *
+ * @param zone the zone value to set.
+ * @return the SkuMixPlacementZonePreference object itself.
+ */
+ public SkuMixPlacementZonePreference withZone(String zone) {
+ this.zone = zone;
+ return this;
+ }
+
+ /**
+ * Get the rank property: Rank of the zone. Lower values = higher priority (0 is highest).
+ *
+ * @return the rank value.
+ */
+ public Integer rank() {
+ return this.rank;
+ }
+
+ /**
+ * Set the rank property: Rank of the zone. Lower values = higher priority (0 is highest).
+ *
+ * @param rank the rank value to set.
+ * @return the SkuMixPlacementZonePreference object itself.
+ */
+ public SkuMixPlacementZonePreference withRank(Integer rank) {
+ this.rank = rank;
+ return this;
+ }
+
+ /**
+ * Get the targetMaxCapacity property: Best-effort limit to avoid allocating more than this count within the zone.
+ * Used with the Prioritized strategy.
+ *
+ * @return the targetMaxCapacity value.
+ */
+ public Integer targetMaxCapacity() {
+ return this.targetMaxCapacity;
+ }
+
+ /**
+ * Set the targetMaxCapacity property: Best-effort limit to avoid allocating more than this count within the zone.
+ * Used with the Prioritized strategy.
+ *
+ * @param targetMaxCapacity the targetMaxCapacity value to set.
+ * @return the SkuMixPlacementZonePreference object itself.
+ */
+ public SkuMixPlacementZonePreference withTargetMaxCapacity(Integer targetMaxCapacity) {
+ this.targetMaxCapacity = targetMaxCapacity;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("zone", this.zone);
+ jsonWriter.writeNumberField("rank", this.rank);
+ jsonWriter.writeNumberField("targetMaxCapacity", this.targetMaxCapacity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SkuMixPlacementZonePreference from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SkuMixPlacementZonePreference if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SkuMixPlacementZonePreference.
+ */
+ public static SkuMixPlacementZonePreference fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SkuMixPlacementZonePreference deserializedSkuMixPlacementZonePreference
+ = new SkuMixPlacementZonePreference();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("zone".equals(fieldName)) {
+ deserializedSkuMixPlacementZonePreference.zone = reader.getString();
+ } else if ("rank".equals(fieldName)) {
+ deserializedSkuMixPlacementZonePreference.rank = reader.getNullable(JsonReader::getInt);
+ } else if ("targetMaxCapacity".equals(fieldName)) {
+ deserializedSkuMixPlacementZonePreference.targetMaxCapacity
+ = reader.getNullable(JsonReader::getInt);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSkuMixPlacementZonePreference;
+ });
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/azure-resourcemanager-compute-recommender_metadata.json b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/azure-resourcemanager-compute-recommender_metadata.json
index d166358885fd..098f68aa4644 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/azure-resourcemanager-compute-recommender_metadata.json
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/azure-resourcemanager-compute-recommender_metadata.json
@@ -1 +1 @@
-{"flavor":"azure","apiVersions":{"Microsoft.Compute":"2025-06-05"},"crossLanguageDefinitions":{"com.azure.resourcemanager.compute.recommender.fluent.ComputeRecommenderManagementClient":"Microsoft.Compute","com.azure.resourcemanager.compute.recommender.fluent.OperationsClient":"Microsoft.Compute.Operations","com.azure.resourcemanager.compute.recommender.fluent.OperationsClient.list":"Azure.ResourceManager.Operations.list","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient":"Microsoft.Compute","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.get":"Microsoft.Compute.ComputeDiagnosticBases.get","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.getWithResponse":"Microsoft.Compute.ComputeDiagnosticBases.get","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.post":"Microsoft.Compute.ComputeDiagnosticBases.post","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.postWithResponse":"Microsoft.Compute.ComputeDiagnosticBases.post","com.azure.resourcemanager.compute.recommender.fluent.models.ComputeDiagnosticBaseInner":"Microsoft.Compute.ComputeDiagnosticBase","com.azure.resourcemanager.compute.recommender.fluent.models.OperationInner":"Azure.ResourceManager.CommonTypes.Operation","com.azure.resourcemanager.compute.recommender.fluent.models.SpotPlacementScoresResponseInner":"Microsoft.Compute.SpotPlacementScoresResponse","com.azure.resourcemanager.compute.recommender.implementation.ComputeRecommenderManagementClientBuilder":"Microsoft.Compute","com.azure.resourcemanager.compute.recommender.implementation.models.OperationListResult":"Azure.ResourceManager.CommonTypes.OperationListResult","com.azure.resourcemanager.compute.recommender.models.ActionType":"Azure.ResourceManager.CommonTypes.ActionType","com.azure.resourcemanager.compute.recommender.models.DiagnosticProperties":"Microsoft.Compute.DiagnosticProperties","com.azure.resourcemanager.compute.recommender.models.OperationDisplay":"Azure.ResourceManager.CommonTypes.OperationDisplay","com.azure.resourcemanager.compute.recommender.models.Origin":"Azure.ResourceManager.CommonTypes.Origin","com.azure.resourcemanager.compute.recommender.models.PlacementScore":"Microsoft.Compute.PlacementScore","com.azure.resourcemanager.compute.recommender.models.ResourceSize":"Microsoft.Compute.ResourceSize","com.azure.resourcemanager.compute.recommender.models.SpotPlacementScoresInput":"Microsoft.Compute.SpotPlacementScoresInput"},"generatedFiles":["src/main/java/com/azure/resourcemanager/compute/recommender/ComputeRecommenderManager.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/ComputeRecommenderManagementClient.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/OperationsClient.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/SpotPlacementScoresClient.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/ComputeDiagnosticBaseInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/OperationInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SpotPlacementScoresResponseInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeDiagnosticBaseImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientBuilder.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/OperationImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/OperationsClientImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/OperationsImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ResourceManagerUtils.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SpotPlacementScoresClientImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SpotPlacementScoresImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SpotPlacementScoresResponseImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/models/OperationListResult.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/ActionType.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/ComputeDiagnosticBase.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/DiagnosticProperties.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/Operation.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/OperationDisplay.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/Operations.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/Origin.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/PlacementScore.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/ResourceSize.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SpotPlacementScores.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SpotPlacementScoresInput.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SpotPlacementScoresResponse.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/package-info.java","src/main/java/module-info.java"]}
\ No newline at end of file
+{"flavor":"azure","apiVersions":{"Microsoft.Compute":"2026-05-05-preview"},"crossLanguagePackageId":"Microsoft.Compute","crossLanguageVersion":"51800132f656","crossLanguageDefinitions":{"com.azure.resourcemanager.compute.recommender.fluent.ComputeRecommenderManagementClient":"Microsoft.Compute","com.azure.resourcemanager.compute.recommender.fluent.OperationsClient":"Microsoft.Compute.Operations","com.azure.resourcemanager.compute.recommender.fluent.OperationsClient.list":"Azure.ResourceManager.Operations.list","com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient":"Microsoft.Compute.SkuMixPlacementScores","com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient.get":"Microsoft.Compute.SkuMixPlacementScores.get","com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient.getWithResponse":"Microsoft.Compute.SkuMixPlacementScores.get","com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient.post":"Microsoft.Compute.SkuMixPlacementScores.post","com.azure.resourcemanager.compute.recommender.fluent.SkuMixPlacementScoresClient.postWithResponse":"Microsoft.Compute.SkuMixPlacementScores.post","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient":"Microsoft.Compute","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.get":"Microsoft.Compute.ComputeDiagnosticBases.get","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.getWithResponse":"Microsoft.Compute.ComputeDiagnosticBases.get","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.post":"Microsoft.Compute.ComputeDiagnosticBases.post","com.azure.resourcemanager.compute.recommender.fluent.SpotPlacementScoresClient.postWithResponse":"Microsoft.Compute.ComputeDiagnosticBases.post","com.azure.resourcemanager.compute.recommender.fluent.models.ComputeDiagnosticBaseInner":"Microsoft.Compute.ComputeDiagnosticBase","com.azure.resourcemanager.compute.recommender.fluent.models.OperationInner":"Azure.ResourceManager.CommonTypes.Operation","com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner":"Microsoft.Compute.SkuMixPlacementBase","com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner":"Microsoft.Compute.SkuMixPlacementResponse","com.azure.resourcemanager.compute.recommender.fluent.models.SpotPlacementScoresResponseInner":"Microsoft.Compute.SpotPlacementScoresResponse","com.azure.resourcemanager.compute.recommender.implementation.ComputeRecommenderManagementClientBuilder":"Microsoft.Compute","com.azure.resourcemanager.compute.recommender.implementation.models.OperationListResult":"Azure.ResourceManager.CommonTypes.OperationListResult","com.azure.resourcemanager.compute.recommender.models.ActionType":"Azure.ResourceManager.CommonTypes.ActionType","com.azure.resourcemanager.compute.recommender.models.DiagnosticProperties":"Microsoft.Compute.DiagnosticProperties","com.azure.resourcemanager.compute.recommender.models.OperationDisplay":"Azure.ResourceManager.CommonTypes.OperationDisplay","com.azure.resourcemanager.compute.recommender.models.Origin":"Azure.ResourceManager.CommonTypes.Origin","com.azure.resourcemanager.compute.recommender.models.PlacementScore":"Microsoft.Compute.PlacementScore","com.azure.resourcemanager.compute.recommender.models.ResourceSize":"Microsoft.Compute.ResourceSize","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementAllocationStrategy":"Microsoft.Compute.SkuMixPlacementAllocationStrategy","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityProfile":"Microsoft.Compute.SkuMixPlacementCapacityProfile","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityType":"Microsoft.Compute.SkuMixPlacementCapacityType","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementDeploymentChoice":"Microsoft.Compute.SkuMixPlacementDeploymentChoice","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementInstanceDescription":"Microsoft.Compute.SkuMixPlacementInstanceDescription","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementItem":"Microsoft.Compute.SkuMixPlacementItem","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementOSType":"Microsoft.Compute.SkuMixPlacementOSType","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPartialFulfillmentReason":"Microsoft.Compute.SkuMixPlacementPartialFulfillmentReason","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority":"Microsoft.Compute.SkuMixPlacementPriority","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementProperties":"Microsoft.Compute.SkuMixPlacementProperties","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest":"Microsoft.Compute.SkuMixPlacementRequest","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementSpotPriorityProfile":"Microsoft.Compute.SkuMixPlacementSpotPriorityProfile","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementVMSize":"Microsoft.Compute.SkuMixPlacementVMSize","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonalDistributionStrategy":"Microsoft.Compute.SkuMixPlacementZonalDistributionStrategy","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZoneAllocationPolicy":"Microsoft.Compute.SkuMixPlacementZoneAllocationPolicy","com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonePreference":"Microsoft.Compute.SkuMixPlacementZonePreference","com.azure.resourcemanager.compute.recommender.models.SpotPlacementScoresInput":"Microsoft.Compute.SpotPlacementScoresInput"},"generatedFiles":["src/main/java/com/azure/resourcemanager/compute/recommender/ComputeRecommenderManager.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/ComputeRecommenderManagementClient.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/OperationsClient.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/SkuMixPlacementScoresClient.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/SpotPlacementScoresClient.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/ComputeDiagnosticBaseInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/OperationInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementBaseInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SkuMixPlacementResponseInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/SpotPlacementScoresResponseInner.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/models/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/fluent/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeDiagnosticBaseImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientBuilder.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ComputeRecommenderManagementClientImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/OperationImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/OperationsClientImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/OperationsImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/ResourceManagerUtils.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementBaseImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementResponseImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresClientImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SkuMixPlacementScoresImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SpotPlacementScoresClientImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SpotPlacementScoresImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/SpotPlacementScoresResponseImpl.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/models/OperationListResult.java","src/main/java/com/azure/resourcemanager/compute/recommender/implementation/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/ActionType.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/ComputeDiagnosticBase.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/DiagnosticProperties.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/Operation.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/OperationDisplay.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/Operations.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/Origin.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/PlacementScore.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/ResourceSize.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementAllocationStrategy.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementBase.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityProfile.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementCapacityType.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementDeploymentChoice.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementInstanceDescription.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementItem.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementOSType.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPartialFulfillmentReason.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementPriority.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementProperties.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementRequest.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementResponse.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementScores.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementSpotPriorityProfile.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementVMSize.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonalDistributionStrategy.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZoneAllocationPolicy.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SkuMixPlacementZonePreference.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SpotPlacementScores.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SpotPlacementScoresInput.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/SpotPlacementScoresResponse.java","src/main/java/com/azure/resourcemanager/compute/recommender/models/package-info.java","src/main/java/com/azure/resourcemanager/compute/recommender/package-info.java","src/main/java/module-info.java"]}
\ No newline at end of file
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-compute-recommender/proxy-config.json b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-compute-recommender/proxy-config.json
index 0929d1d6d355..7b9be5c542cd 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-compute-recommender/proxy-config.json
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-compute-recommender/proxy-config.json
@@ -1 +1 @@
-[["com.azure.resourcemanager.compute.recommender.implementation.OperationsClientImpl$OperationsService"],["com.azure.resourcemanager.compute.recommender.implementation.SpotPlacementScoresClientImpl$SpotPlacementScoresService"]]
\ No newline at end of file
+[["com.azure.resourcemanager.compute.recommender.implementation.OperationsClientImpl$OperationsService"],["com.azure.resourcemanager.compute.recommender.implementation.SkuMixPlacementScoresClientImpl$SkuMixPlacementScoresService"],["com.azure.resourcemanager.compute.recommender.implementation.SpotPlacementScoresClientImpl$SpotPlacementScoresService"]]
\ No newline at end of file
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListSamples.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListSamples.java
index 17385570f160..730b7ab47262 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListSamples.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListSamples.java
@@ -9,7 +9,7 @@
*/
public final class OperationsListSamples {
/*
- * x-ms-original-file: 2025-06-05/Operations_List_MinimumSet_Gen.json
+ * x-ms-original-file: 2026-05-05-preview/Operations_List_MinimumSet_Gen.json
*/
/**
* Sample code: Operations_List_MinimumSet_Gen.
@@ -22,7 +22,7 @@ public final class OperationsListSamples {
}
/*
- * x-ms-original-file: 2025-06-05/Operations_List_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-05-preview/Operations_List_MaximumSet_Gen.json
*/
/**
* Sample code: Operations_List_MaximumSet_Gen.
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresGetSamples.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresGetSamples.java
new file mode 100644
index 000000000000..98ff38f503f8
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresGetSamples.java
@@ -0,0 +1,23 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+/**
+ * Samples for SkuMixPlacementScores Get.
+ */
+public final class SkuMixPlacementScoresGetSamples {
+ /*
+ * x-ms-original-file: 2026-05-05-preview/GetSkuMixPlacementScores.json
+ */
+ /**
+ * Sample code: Gets the metadata of SkuMixPlacement Scores.
+ *
+ * @param manager Entry point to ComputeRecommenderManager.
+ */
+ public static void getsTheMetadataOfSkuMixPlacementScores(
+ com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager manager) {
+ manager.skuMixPlacementScores().getWithResponse("eastus", com.azure.core.util.Context.NONE);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresPostSamples.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresPostSamples.java
new file mode 100644
index 000000000000..4e6dbc7fbb55
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresPostSamples.java
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementAllocationStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementInstanceDescription;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementOSType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementVMSize;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonalDistributionStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZoneAllocationPolicy;
+import java.util.Arrays;
+
+/**
+ * Samples for SkuMixPlacementScores Post.
+ */
+public final class SkuMixPlacementScoresPostSamples {
+ /*
+ * x-ms-original-file: 2026-05-05-preview/GenerateSkuMixPlacementScores.json
+ */
+ /**
+ * Sample code: Generates SkuMixPlacement scores for VM SKU mix placement with explicit VM sizes.
+ *
+ * @param manager Entry point to ComputeRecommenderManager.
+ */
+ public static void generatesSkuMixPlacementScoresForVMSKUMixPlacementWithExplicitVMSizes(
+ com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager manager) {
+ manager.skuMixPlacementScores()
+ .postWithResponse("eastus",
+ new SkuMixPlacementRequest().withZones(Arrays.asList("1", "2", "3"))
+ .withCapacityProfile(new SkuMixPlacementCapacityProfile().withCapacity(10)
+ .withCapacityType(SkuMixPlacementCapacityType.VM)
+ .withPriority(SkuMixPlacementPriority.REGULAR)
+ .withAllocationStrategy(SkuMixPlacementAllocationStrategy.LOWEST_PRICE)
+ .withOsType(SkuMixPlacementOSType.LINUX)
+ .withZoneAllocationPolicy(new SkuMixPlacementZoneAllocationPolicy()
+ .withDistributionStrategy(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_BALANCED)))
+ .withInstanceDescription(new SkuMixPlacementInstanceDescription()
+ .withVmSizes(Arrays.asList(new SkuMixPlacementVMSize().withName("Standard_D2s_v3"),
+ new SkuMixPlacementVMSize().withName("Standard_D4s_v3"),
+ new SkuMixPlacementVMSize().withName("Standard_D8s_v3")))),
+ com.azure.core.util.Context.NONE);
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetSamples.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetSamples.java
index 7ebfc92d36c4..916118828bed 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetSamples.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetSamples.java
@@ -9,7 +9,7 @@
*/
public final class SpotPlacementScoresGetSamples {
/*
- * x-ms-original-file: 2025-06-05/GetSpotPlacementScores.json
+ * x-ms-original-file: 2026-05-05-preview/GetSpotPlacementScores.json
*/
/**
* Sample code: Gets the metadata of Spot Placement Scores.
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostSamples.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostSamples.java
index d95a74382d1f..ef3e7897aeda 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostSamples.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/samples/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostSamples.java
@@ -13,7 +13,7 @@
*/
public final class SpotPlacementScoresPostSamples {
/*
- * x-ms-original-file: 2025-06-05/GenerateSpotPlacementScores.json
+ * x-ms-original-file: 2026-05-05-preview/GenerateSpotPlacementScores.json
*/
/**
* Sample code: Returns spot VM placement scores for given configurations.
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ComputeDiagnosticBaseInnerTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ComputeDiagnosticBaseInnerTests.java
index 944d2e2c674c..7bb7b9c3fc74 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ComputeDiagnosticBaseInnerTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ComputeDiagnosticBaseInnerTests.java
@@ -12,8 +12,8 @@ public final class ComputeDiagnosticBaseInnerTests {
@org.junit.jupiter.api.Test
public void testDeserialize() throws Exception {
ComputeDiagnosticBaseInner model = BinaryData.fromString(
- "{\"properties\":{\"supportedResourceTypes\":[\"bpzvgn\",\"zsymglzufcyzkohd\",\"ihanuf\",\"fcbjysagithxqha\"]},\"id\":\"fpikxwczb\",\"name\":\"scnpqxuhivy\",\"type\":\"n\"}")
+ "{\"properties\":{\"supportedResourceTypes\":[\"ftyhxhurokf\"]},\"id\":\"xolniwpwcukjfk\",\"name\":\"iawxklry\",\"type\":\"lwckbasyypnddhs\"}")
.toObject(ComputeDiagnosticBaseInner.class);
- Assertions.assertEquals("bpzvgn", model.properties().supportedResourceTypes().get(0));
+ Assertions.assertEquals("ftyhxhurokf", model.properties().supportedResourceTypes().get(0));
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/DiagnosticPropertiesTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/DiagnosticPropertiesTests.java
index 8268666cc60a..5bf939a497d7 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/DiagnosticPropertiesTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/DiagnosticPropertiesTests.java
@@ -12,7 +12,8 @@ public final class DiagnosticPropertiesTests {
@org.junit.jupiter.api.Test
public void testDeserialize() throws Exception {
DiagnosticProperties model
- = BinaryData.fromString("{\"supportedResourceTypes\":[\"ybrk\"]}").toObject(DiagnosticProperties.class);
- Assertions.assertEquals("ybrk", model.supportedResourceTypes().get(0));
+ = BinaryData.fromString("{\"supportedResourceTypes\":[\"acphejkoty\",\"qgoulznd\",\"i\"]}")
+ .toObject(DiagnosticProperties.class);
+ Assertions.assertEquals("acphejkoty", model.supportedResourceTypes().get(0));
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListMockTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListMockTests.java
index abd52d016800..59eb51d6de86 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListMockTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/OperationsListMockTests.java
@@ -21,7 +21,7 @@ public final class OperationsListMockTests {
@Test
public void testList() throws Exception {
String responseStr
- = "{\"value\":[{\"name\":\"f\",\"isDataAction\":false,\"display\":{\"provider\":\"zgvfcjrwz\",\"resource\":\"xjtfelluwfzit\",\"operation\":\"peqfpjkjl\",\"description\":\"fpdvhpfxxypi\"},\"origin\":\"user,system\",\"actionType\":\"Internal\"}]}";
+ = "{\"value\":[{\"name\":\"nohjt\",\"isDataAction\":true,\"display\":{\"provider\":\"soifiyipjxsqw\",\"resource\":\"rjb\",\"operation\":\"orcjxvsnby\",\"description\":\"abnmocpcyshu\"},\"origin\":\"user\",\"actionType\":\"Internal\"}]}";
HttpClient httpClient
= response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8)));
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/PlacementScoreTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/PlacementScoreTests.java
index 18bfc05e2b0c..f9415ad15d01 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/PlacementScoreTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/PlacementScoreTests.java
@@ -12,12 +12,12 @@ public final class PlacementScoreTests {
@org.junit.jupiter.api.Test
public void testDeserialize() throws Exception {
PlacementScore model = BinaryData.fromString(
- "{\"sku\":\"hbcryffdfdosyge\",\"region\":\"aojakhmsbzjhcrz\",\"availabilityZone\":\"dphlxaolt\",\"score\":\"trg\",\"isQuotaAvailable\":false}")
+ "{\"sku\":\"ro\",\"region\":\"qpteeh\",\"availabilityZone\":\"vypyqrimzinpv\",\"score\":\"jdkirsoodqx\",\"isQuotaAvailable\":false}")
.toObject(PlacementScore.class);
- Assertions.assertEquals("hbcryffdfdosyge", model.sku());
- Assertions.assertEquals("aojakhmsbzjhcrz", model.region());
- Assertions.assertEquals("dphlxaolt", model.availabilityZone());
- Assertions.assertEquals("trg", model.score());
+ Assertions.assertEquals("ro", model.sku());
+ Assertions.assertEquals("qpteeh", model.region());
+ Assertions.assertEquals("vypyqrimzinpv", model.availabilityZone());
+ Assertions.assertEquals("jdkirsoodqx", model.score());
Assertions.assertFalse(model.isQuotaAvailable());
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ResourceSizeTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ResourceSizeTests.java
index 1f7b543376f4..d2787c8e54fa 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ResourceSizeTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/ResourceSizeTests.java
@@ -11,14 +11,14 @@
public final class ResourceSizeTests {
@org.junit.jupiter.api.Test
public void testDeserialize() throws Exception {
- ResourceSize model = BinaryData.fromString("{\"sku\":\"ahuxinpm\"}").toObject(ResourceSize.class);
- Assertions.assertEquals("ahuxinpm", model.sku());
+ ResourceSize model = BinaryData.fromString("{\"sku\":\"vqwhbmdgbbjfd\"}").toObject(ResourceSize.class);
+ Assertions.assertEquals("vqwhbmdgbbjfd", model.sku());
}
@org.junit.jupiter.api.Test
public void testSerialize() throws Exception {
- ResourceSize model = new ResourceSize().withSku("ahuxinpm");
+ ResourceSize model = new ResourceSize().withSku("vqwhbmdgbbjfd");
model = BinaryData.fromObject(model).toObject(ResourceSize.class);
- Assertions.assertEquals("ahuxinpm", model.sku());
+ Assertions.assertEquals("vqwhbmdgbbjfd", model.sku());
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementBaseInnerTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementBaseInnerTests.java
new file mode 100644
index 000000000000..020bc830c109
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementBaseInnerTests.java
@@ -0,0 +1,19 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementBaseInner;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementBaseInnerTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementBaseInner model = BinaryData.fromString(
+ "{\"properties\":{\"supportedResourceTypes\":[\"bpzvgn\",\"zsymglzufcyzkohd\",\"ihanuf\",\"fcbjysagithxqha\"]},\"id\":\"fpikxwczb\",\"name\":\"scnpqxuhivy\",\"type\":\"n\"}")
+ .toObject(SkuMixPlacementBaseInner.class);
+ Assertions.assertEquals("bpzvgn", model.properties().supportedResourceTypes().get(0));
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementCapacityProfileTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementCapacityProfileTests.java
new file mode 100644
index 000000000000..b1ef1f787616
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementCapacityProfileTests.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementAllocationStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementOSType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementSpotPriorityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonalDistributionStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZoneAllocationPolicy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonePreference;
+import java.util.Arrays;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementCapacityProfileTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementCapacityProfile model = BinaryData.fromString(
+ "{\"capacity\":2017964411,\"capacityType\":\"VM\",\"priority\":\"Regular\",\"spotPriorityProfile\":{\"maxPricePerVm\":3.2883493607087533},\"allocationStrategy\":\"Prioritized\",\"osType\":\"Windows\",\"zoneAllocationPolicy\":{\"distributionStrategy\":\"BestEffortSingleZone\",\"zonePreferences\":[{\"zone\":\"ej\",\"rank\":220700122,\"targetMaxCapacity\":672653689}]}}")
+ .toObject(SkuMixPlacementCapacityProfile.class);
+ Assertions.assertEquals(2017964411, model.capacity());
+ Assertions.assertEquals(SkuMixPlacementCapacityType.VM, model.capacityType());
+ Assertions.assertEquals(SkuMixPlacementPriority.REGULAR, model.priority());
+ Assertions.assertEquals(3.2883493607087533D, model.spotPriorityProfile().maxPricePerVm());
+ Assertions.assertEquals(SkuMixPlacementAllocationStrategy.PRIORITIZED, model.allocationStrategy());
+ Assertions.assertEquals(SkuMixPlacementOSType.WINDOWS, model.osType());
+ Assertions.assertEquals(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_SINGLE_ZONE,
+ model.zoneAllocationPolicy().distributionStrategy());
+ Assertions.assertEquals("ej", model.zoneAllocationPolicy().zonePreferences().get(0).zone());
+ Assertions.assertEquals(220700122, model.zoneAllocationPolicy().zonePreferences().get(0).rank());
+ Assertions.assertEquals(672653689, model.zoneAllocationPolicy().zonePreferences().get(0).targetMaxCapacity());
+ }
+
+ @org.junit.jupiter.api.Test
+ public void testSerialize() throws Exception {
+ SkuMixPlacementCapacityProfile model = new SkuMixPlacementCapacityProfile().withCapacity(2017964411)
+ .withCapacityType(SkuMixPlacementCapacityType.VM)
+ .withPriority(SkuMixPlacementPriority.REGULAR)
+ .withSpotPriorityProfile(new SkuMixPlacementSpotPriorityProfile().withMaxPricePerVm(3.2883493607087533D))
+ .withAllocationStrategy(SkuMixPlacementAllocationStrategy.PRIORITIZED)
+ .withOsType(SkuMixPlacementOSType.WINDOWS)
+ .withZoneAllocationPolicy(new SkuMixPlacementZoneAllocationPolicy()
+ .withDistributionStrategy(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_SINGLE_ZONE)
+ .withZonePreferences(Arrays.asList(new SkuMixPlacementZonePreference().withZone("ej")
+ .withRank(220700122)
+ .withTargetMaxCapacity(672653689))));
+ model = BinaryData.fromObject(model).toObject(SkuMixPlacementCapacityProfile.class);
+ Assertions.assertEquals(2017964411, model.capacity());
+ Assertions.assertEquals(SkuMixPlacementCapacityType.VM, model.capacityType());
+ Assertions.assertEquals(SkuMixPlacementPriority.REGULAR, model.priority());
+ Assertions.assertEquals(3.2883493607087533D, model.spotPriorityProfile().maxPricePerVm());
+ Assertions.assertEquals(SkuMixPlacementAllocationStrategy.PRIORITIZED, model.allocationStrategy());
+ Assertions.assertEquals(SkuMixPlacementOSType.WINDOWS, model.osType());
+ Assertions.assertEquals(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_SINGLE_ZONE,
+ model.zoneAllocationPolicy().distributionStrategy());
+ Assertions.assertEquals("ej", model.zoneAllocationPolicy().zonePreferences().get(0).zone());
+ Assertions.assertEquals(220700122, model.zoneAllocationPolicy().zonePreferences().get(0).rank());
+ Assertions.assertEquals(672653689, model.zoneAllocationPolicy().zonePreferences().get(0).targetMaxCapacity());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementDeploymentChoiceTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementDeploymentChoiceTests.java
new file mode 100644
index 000000000000..b9d22e7576be
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementDeploymentChoiceTests.java
@@ -0,0 +1,26 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementDeploymentChoice;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementDeploymentChoiceTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementDeploymentChoice model = BinaryData.fromString(
+ "{\"id\":\"dzevndhkrw\",\"score\":7278367,\"skuSplit\":[{\"name\":\"ppdsbdkvwrwj\",\"priority\":\"Regular\",\"capacity\":2141844336,\"capacityMax\":1882901501,\"zone\":\"utjeltmrldhugj\"}]}")
+ .toObject(SkuMixPlacementDeploymentChoice.class);
+ Assertions.assertEquals("dzevndhkrw", model.id());
+ Assertions.assertEquals(7278367, model.score());
+ Assertions.assertEquals("ppdsbdkvwrwj", model.skuSplit().get(0).name());
+ Assertions.assertEquals(SkuMixPlacementPriority.REGULAR, model.skuSplit().get(0).priority());
+ Assertions.assertEquals(2141844336, model.skuSplit().get(0).capacity());
+ Assertions.assertEquals(1882901501, model.skuSplit().get(0).capacityMax());
+ Assertions.assertEquals("utjeltmrldhugj", model.skuSplit().get(0).zone());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementInstanceDescriptionTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementInstanceDescriptionTests.java
new file mode 100644
index 000000000000..db3172dd0071
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementInstanceDescriptionTests.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementInstanceDescription;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementVMSize;
+import java.util.Arrays;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementInstanceDescriptionTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementInstanceDescription model = BinaryData.fromString(
+ "{\"vmSizes\":[{\"name\":\"jbp\",\"rank\":1969463366},{\"name\":\"s\",\"rank\":96730142},{\"name\":\"gvfcj\",\"rank\":1821850933}]}")
+ .toObject(SkuMixPlacementInstanceDescription.class);
+ Assertions.assertEquals("jbp", model.vmSizes().get(0).name());
+ Assertions.assertEquals(1969463366, model.vmSizes().get(0).rank());
+ }
+
+ @org.junit.jupiter.api.Test
+ public void testSerialize() throws Exception {
+ SkuMixPlacementInstanceDescription model = new SkuMixPlacementInstanceDescription()
+ .withVmSizes(Arrays.asList(new SkuMixPlacementVMSize().withName("jbp").withRank(1969463366),
+ new SkuMixPlacementVMSize().withName("s").withRank(96730142),
+ new SkuMixPlacementVMSize().withName("gvfcj").withRank(1821850933)));
+ model = BinaryData.fromObject(model).toObject(SkuMixPlacementInstanceDescription.class);
+ Assertions.assertEquals("jbp", model.vmSizes().get(0).name());
+ Assertions.assertEquals(1969463366, model.vmSizes().get(0).rank());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementItemTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementItemTests.java
new file mode 100644
index 000000000000..58ffaaad554e
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementItemTests.java
@@ -0,0 +1,24 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementItem;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementItemTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementItem model = BinaryData.fromString(
+ "{\"name\":\"zdatqxhocdg\",\"priority\":\"Spot\",\"capacity\":274751337,\"capacityMax\":885062254,\"zone\":\"huticndvkao\"}")
+ .toObject(SkuMixPlacementItem.class);
+ Assertions.assertEquals("zdatqxhocdg", model.name());
+ Assertions.assertEquals(SkuMixPlacementPriority.SPOT, model.priority());
+ Assertions.assertEquals(274751337, model.capacity());
+ Assertions.assertEquals(885062254, model.capacityMax());
+ Assertions.assertEquals("huticndvkao", model.zone());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementPropertiesTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementPropertiesTests.java
new file mode 100644
index 000000000000..dd5fe092521f
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementPropertiesTests.java
@@ -0,0 +1,18 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementProperties;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementPropertiesTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementProperties model = BinaryData.fromString("{\"supportedResourceTypes\":[\"ybrk\"]}")
+ .toObject(SkuMixPlacementProperties.class);
+ Assertions.assertEquals("ybrk", model.supportedResourceTypes().get(0));
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementRequestTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementRequestTests.java
new file mode 100644
index 000000000000..348147cde6bb
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementRequestTests.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementAllocationStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementInstanceDescription;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementOSType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementSpotPriorityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementVMSize;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonalDistributionStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZoneAllocationPolicy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonePreference;
+import java.util.Arrays;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementRequestTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementRequest model = BinaryData.fromString(
+ "{\"zones\":[\"umjgrtfwvuk\",\"gaudcc\",\"nhsjcnyej\"],\"capacityProfile\":{\"capacity\":1661150390,\"capacityType\":\"VCpu\",\"priority\":\"Spot\",\"spotPriorityProfile\":{\"maxPricePerVm\":67.72184402052227},\"allocationStrategy\":\"Prioritized\",\"osType\":\"Windows\",\"zoneAllocationPolicy\":{\"distributionStrategy\":\"BestEffortBalanced\",\"zonePreferences\":[{\"zone\":\"emkkvnipjox\",\"rank\":1539160915,\"targetMaxCapacity\":275440549},{\"zone\":\"gejspodmailzyde\",\"rank\":1876925756,\"targetMaxCapacity\":1254785420},{\"zone\":\"ahuxinpm\",\"rank\":79874551,\"targetMaxCapacity\":185328444}]}},\"instanceDescription\":{\"vmSizes\":[{\"name\":\"ixjsprozvcputeg\",\"rank\":1903590590},{\"name\":\"mfdatscmdvpj\",\"rank\":1912381604},{\"name\":\"suuv\",\"rank\":838914749}]}}")
+ .toObject(SkuMixPlacementRequest.class);
+ Assertions.assertEquals("umjgrtfwvuk", model.zones().get(0));
+ Assertions.assertEquals(1661150390, model.capacityProfile().capacity());
+ Assertions.assertEquals(SkuMixPlacementCapacityType.VCPU, model.capacityProfile().capacityType());
+ Assertions.assertEquals(SkuMixPlacementPriority.SPOT, model.capacityProfile().priority());
+ Assertions.assertEquals(67.72184402052227D, model.capacityProfile().spotPriorityProfile().maxPricePerVm());
+ Assertions.assertEquals(SkuMixPlacementAllocationStrategy.PRIORITIZED,
+ model.capacityProfile().allocationStrategy());
+ Assertions.assertEquals(SkuMixPlacementOSType.WINDOWS, model.capacityProfile().osType());
+ Assertions.assertEquals(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_BALANCED,
+ model.capacityProfile().zoneAllocationPolicy().distributionStrategy());
+ Assertions.assertEquals("emkkvnipjox",
+ model.capacityProfile().zoneAllocationPolicy().zonePreferences().get(0).zone());
+ Assertions.assertEquals(1539160915,
+ model.capacityProfile().zoneAllocationPolicy().zonePreferences().get(0).rank());
+ Assertions.assertEquals(275440549,
+ model.capacityProfile().zoneAllocationPolicy().zonePreferences().get(0).targetMaxCapacity());
+ Assertions.assertEquals("ixjsprozvcputeg", model.instanceDescription().vmSizes().get(0).name());
+ Assertions.assertEquals(1903590590, model.instanceDescription().vmSizes().get(0).rank());
+ }
+
+ @org.junit.jupiter.api.Test
+ public void testSerialize() throws Exception {
+ SkuMixPlacementRequest model = new SkuMixPlacementRequest()
+ .withZones(Arrays.asList("umjgrtfwvuk", "gaudcc", "nhsjcnyej"))
+ .withCapacityProfile(new SkuMixPlacementCapacityProfile().withCapacity(1661150390)
+ .withCapacityType(SkuMixPlacementCapacityType.VCPU)
+ .withPriority(SkuMixPlacementPriority.SPOT)
+ .withSpotPriorityProfile(new SkuMixPlacementSpotPriorityProfile().withMaxPricePerVm(67.72184402052227D))
+ .withAllocationStrategy(SkuMixPlacementAllocationStrategy.PRIORITIZED)
+ .withOsType(SkuMixPlacementOSType.WINDOWS)
+ .withZoneAllocationPolicy(new SkuMixPlacementZoneAllocationPolicy()
+ .withDistributionStrategy(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_BALANCED)
+ .withZonePreferences(Arrays.asList(
+ new SkuMixPlacementZonePreference().withZone("emkkvnipjox")
+ .withRank(1539160915)
+ .withTargetMaxCapacity(275440549),
+ new SkuMixPlacementZonePreference().withZone("gejspodmailzyde")
+ .withRank(1876925756)
+ .withTargetMaxCapacity(1254785420),
+ new SkuMixPlacementZonePreference().withZone("ahuxinpm")
+ .withRank(79874551)
+ .withTargetMaxCapacity(185328444)))))
+ .withInstanceDescription(new SkuMixPlacementInstanceDescription()
+ .withVmSizes(Arrays.asList(new SkuMixPlacementVMSize().withName("ixjsprozvcputeg").withRank(1903590590),
+ new SkuMixPlacementVMSize().withName("mfdatscmdvpj").withRank(1912381604),
+ new SkuMixPlacementVMSize().withName("suuv").withRank(838914749))));
+ model = BinaryData.fromObject(model).toObject(SkuMixPlacementRequest.class);
+ Assertions.assertEquals("umjgrtfwvuk", model.zones().get(0));
+ Assertions.assertEquals(1661150390, model.capacityProfile().capacity());
+ Assertions.assertEquals(SkuMixPlacementCapacityType.VCPU, model.capacityProfile().capacityType());
+ Assertions.assertEquals(SkuMixPlacementPriority.SPOT, model.capacityProfile().priority());
+ Assertions.assertEquals(67.72184402052227D, model.capacityProfile().spotPriorityProfile().maxPricePerVm());
+ Assertions.assertEquals(SkuMixPlacementAllocationStrategy.PRIORITIZED,
+ model.capacityProfile().allocationStrategy());
+ Assertions.assertEquals(SkuMixPlacementOSType.WINDOWS, model.capacityProfile().osType());
+ Assertions.assertEquals(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_BALANCED,
+ model.capacityProfile().zoneAllocationPolicy().distributionStrategy());
+ Assertions.assertEquals("emkkvnipjox",
+ model.capacityProfile().zoneAllocationPolicy().zonePreferences().get(0).zone());
+ Assertions.assertEquals(1539160915,
+ model.capacityProfile().zoneAllocationPolicy().zonePreferences().get(0).rank());
+ Assertions.assertEquals(275440549,
+ model.capacityProfile().zoneAllocationPolicy().zonePreferences().get(0).targetMaxCapacity());
+ Assertions.assertEquals("ixjsprozvcputeg", model.instanceDescription().vmSizes().get(0).name());
+ Assertions.assertEquals(1903590590, model.instanceDescription().vmSizes().get(0).rank());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementResponseInnerTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementResponseInnerTests.java
new file mode 100644
index 000000000000..d281488704cf
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementResponseInnerTests.java
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.fluent.models.SkuMixPlacementResponseInner;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPartialFulfillmentReason;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import java.time.OffsetDateTime;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementResponseInnerTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementResponseInner model = BinaryData.fromString(
+ "{\"placementChoices\":[{\"id\":\"np\",\"score\":1181425969,\"skuSplit\":[{\"name\":\"pjkjlxofpdv\",\"priority\":\"Regular\",\"capacity\":1792293314,\"capacityMax\":1962979170,\"zone\":\"pini\"},{\"name\":\"mayhuybbkpodepoo\",\"priority\":\"Spot\",\"capacity\":895630833,\"capacityMax\":1290742637,\"zone\":\"mihe\"},{\"name\":\"gnarxzxtheo\",\"priority\":\"Regular\",\"capacity\":372211152,\"capacityMax\":116358937,\"zone\":\"evcciqihnhun\"}]},{\"id\":\"bwjzr\",\"score\":1668036347,\"skuSplit\":[{\"name\":\"gxg\",\"priority\":\"Spot\",\"capacity\":2093374464,\"capacityMax\":408868757,\"zone\":\"tzfkufubl\"},{\"name\":\"ofx\",\"priority\":\"Spot\",\"capacity\":556168533,\"capacityMax\":934373346,\"zone\":\"e\"},{\"name\":\"jhqjbasvmsmjqul\",\"priority\":\"Spot\",\"capacity\":951964300,\"capacityMax\":568686899,\"zone\":\"bybkzgcwrwclxx\"}]},{\"id\":\"rljdouskcqv\",\"score\":1685957957,\"skuSplit\":[{\"name\":\"rcjd\",\"priority\":\"Spot\",\"capacity\":1343054120,\"capacityMax\":1034535063,\"zone\":\"bnjbiksqrglssain\"}]},{\"id\":\"p\",\"score\":1191449994,\"skuSplit\":[{\"name\":\"zlljfmppeebvm\",\"priority\":\"Spot\",\"capacity\":1969125414,\"capacityMax\":1742159588,\"zone\":\"yqduujit\"}]}],\"validUntil\":\"2021-06-27T01:31:51Z\",\"partialFulfillmentReason\":\"None\"}")
+ .toObject(SkuMixPlacementResponseInner.class);
+ Assertions.assertEquals("np", model.placementChoices().get(0).id());
+ Assertions.assertEquals(1181425969, model.placementChoices().get(0).score());
+ Assertions.assertEquals("pjkjlxofpdv", model.placementChoices().get(0).skuSplit().get(0).name());
+ Assertions.assertEquals(SkuMixPlacementPriority.REGULAR,
+ model.placementChoices().get(0).skuSplit().get(0).priority());
+ Assertions.assertEquals(1792293314, model.placementChoices().get(0).skuSplit().get(0).capacity());
+ Assertions.assertEquals(1962979170, model.placementChoices().get(0).skuSplit().get(0).capacityMax());
+ Assertions.assertEquals("pini", model.placementChoices().get(0).skuSplit().get(0).zone());
+ Assertions.assertEquals(OffsetDateTime.parse("2021-06-27T01:31:51Z"), model.validUntil());
+ Assertions.assertEquals(SkuMixPlacementPartialFulfillmentReason.NONE, model.partialFulfillmentReason());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresGetWithResponseMockTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresGetWithResponseMockTests.java
new file mode 100644
index 000000000000..77aebd61d6a1
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresGetWithResponseMockTests.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.credential.AccessToken;
+import com.azure.core.http.HttpClient;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.models.AzureCloud;
+import com.azure.core.test.http.MockHttpResponse;
+import com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementBase;
+import java.nio.charset.StandardCharsets;
+import java.time.OffsetDateTime;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import reactor.core.publisher.Mono;
+
+public final class SkuMixPlacementScoresGetWithResponseMockTests {
+ @Test
+ public void testGetWithResponse() throws Exception {
+ String responseStr
+ = "{\"properties\":{\"supportedResourceTypes\":[\"qidtqajzyu\",\"pku\"]},\"id\":\"krlkhbzhfepg\",\"name\":\"gqexzlocxs\",\"type\":\"paierh\"}";
+
+ HttpClient httpClient
+ = response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8)));
+ ComputeRecommenderManager manager = ComputeRecommenderManager.configure()
+ .withHttpClient(httpClient)
+ .authenticate(tokenRequestContext -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX)),
+ new AzureProfile("", "", AzureCloud.AZURE_PUBLIC_CLOUD));
+
+ SkuMixPlacementBase response = manager.skuMixPlacementScores()
+ .getWithResponse("ljjgpbtoqcjmkl", com.azure.core.util.Context.NONE)
+ .getValue();
+
+ Assertions.assertEquals("qidtqajzyu", response.properties().supportedResourceTypes().get(0));
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresPostWithResponseMockTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresPostWithResponseMockTests.java
new file mode 100644
index 000000000000..bc1c7df8587e
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementScoresPostWithResponseMockTests.java
@@ -0,0 +1,91 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.credential.AccessToken;
+import com.azure.core.http.HttpClient;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.models.AzureCloud;
+import com.azure.core.test.http.MockHttpResponse;
+import com.azure.resourcemanager.compute.recommender.ComputeRecommenderManager;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementAllocationStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementCapacityType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementInstanceDescription;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementOSType;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPartialFulfillmentReason;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementPriority;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementRequest;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementResponse;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementSpotPriorityProfile;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementVMSize;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonalDistributionStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZoneAllocationPolicy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonePreference;
+import java.nio.charset.StandardCharsets;
+import java.time.OffsetDateTime;
+import java.util.Arrays;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import reactor.core.publisher.Mono;
+
+public final class SkuMixPlacementScoresPostWithResponseMockTests {
+ @Test
+ public void testPostWithResponse() throws Exception {
+ String responseStr
+ = "{\"placementChoices\":[{\"id\":\"nxqbzvddn\",\"score\":648028383,\"skuSplit\":[{\"name\":\"deicbtwnpzao\",\"priority\":\"Spot\",\"capacity\":1330155911,\"capacityMax\":114023042,\"zone\":\"cffcyddglmj\"}]},{\"id\":\"hjq\",\"score\":1652029285,\"skuSplit\":[{\"name\":\"yeicxmqciwqvhk\",\"priority\":\"Spot\",\"capacity\":1053923929,\"capacityMax\":213865408,\"zone\":\"dtopbob\"},{\"name\":\"og\",\"priority\":\"Regular\",\"capacity\":13446913,\"capacityMax\":115410873,\"zone\":\"m\"}]},{\"id\":\"uhrzayvvt\",\"score\":1432651590,\"skuSplit\":[{\"name\":\"dfgiot\",\"priority\":\"Spot\",\"capacity\":1659633182,\"capacityMax\":1205198165,\"zone\":\"xlngx\"},{\"name\":\"efgugnxk\",\"priority\":\"Spot\",\"capacity\":1788312026,\"capacityMax\":435751453,\"zone\":\"dt\"}]},{\"id\":\"hzrvqd\",\"score\":1635198846,\"skuSplit\":[{\"name\":\"hjybigehoqfbo\",\"priority\":\"Regular\",\"capacity\":1382683860,\"capacityMax\":465330089,\"zone\":\"ktzlcuiywg\"}]}],\"validUntil\":\"2021-06-17T20:14:54Z\",\"partialFulfillmentReason\":\"None\"}";
+
+ HttpClient httpClient
+ = response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8)));
+ ComputeRecommenderManager manager = ComputeRecommenderManager.configure()
+ .withHttpClient(httpClient)
+ .authenticate(tokenRequestContext -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX)),
+ new AzureProfile("", "", AzureCloud.AZURE_PUBLIC_CLOUD));
+
+ SkuMixPlacementResponse response
+ = manager.skuMixPlacementScores()
+ .postWithResponse("bcsglumma", new SkuMixPlacementRequest().withZones(Arrays.asList("aodxo"))
+ .withCapacityProfile(new SkuMixPlacementCapacityProfile().withCapacity(1341897858)
+ .withCapacityType(SkuMixPlacementCapacityType.VCPU)
+ .withPriority(SkuMixPlacementPriority.REGULAR)
+ .withSpotPriorityProfile(
+ new SkuMixPlacementSpotPriorityProfile().withMaxPricePerVm(12.013875822180943D))
+ .withAllocationStrategy(SkuMixPlacementAllocationStrategy.LOWEST_PRICE)
+ .withOsType(SkuMixPlacementOSType.LINUX)
+ .withZoneAllocationPolicy(new SkuMixPlacementZoneAllocationPolicy()
+ .withDistributionStrategy(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_SINGLE_ZONE)
+ .withZonePreferences(Arrays.asList(
+ new SkuMixPlacementZonePreference().withZone("imexgstxgcpodgma")
+ .withRank(37175495)
+ .withTargetMaxCapacity(526357261),
+ new SkuMixPlacementZonePreference().withZone("djwzrlov")
+ .withRank(1769717852)
+ .withTargetMaxCapacity(1130287748),
+ new SkuMixPlacementZonePreference().withZone("ijcoejctb")
+ .withRank(1083194269)
+ .withTargetMaxCapacity(751291073),
+ new SkuMixPlacementZonePreference().withZone("sycbkbfk")
+ .withRank(1619207085)
+ .withTargetMaxCapacity(2039357898)))))
+ .withInstanceDescription(new SkuMixPlacementInstanceDescription()
+ .withVmSizes(Arrays.asList(new SkuMixPlacementVMSize().withName("xxppofm").withRank(159547648),
+ new SkuMixPlacementVMSize().withName("c").withRank(396023335),
+ new SkuMixPlacementVMSize().withName("gddtocj").withRank(1680873734),
+ new SkuMixPlacementVMSize().withName("vpmouexhdzxib").withRank(427127517)))),
+ com.azure.core.util.Context.NONE)
+ .getValue();
+
+ Assertions.assertEquals("nxqbzvddn", response.placementChoices().get(0).id());
+ Assertions.assertEquals(648028383, response.placementChoices().get(0).score());
+ Assertions.assertEquals("deicbtwnpzao", response.placementChoices().get(0).skuSplit().get(0).name());
+ Assertions.assertEquals(SkuMixPlacementPriority.SPOT,
+ response.placementChoices().get(0).skuSplit().get(0).priority());
+ Assertions.assertEquals(1330155911, response.placementChoices().get(0).skuSplit().get(0).capacity());
+ Assertions.assertEquals(114023042, response.placementChoices().get(0).skuSplit().get(0).capacityMax());
+ Assertions.assertEquals("cffcyddglmj", response.placementChoices().get(0).skuSplit().get(0).zone());
+ Assertions.assertEquals(OffsetDateTime.parse("2021-06-17T20:14:54Z"), response.validUntil());
+ Assertions.assertEquals(SkuMixPlacementPartialFulfillmentReason.NONE, response.partialFulfillmentReason());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementSpotPriorityProfileTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementSpotPriorityProfileTests.java
new file mode 100644
index 000000000000..dfece6633521
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementSpotPriorityProfileTests.java
@@ -0,0 +1,26 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementSpotPriorityProfile;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementSpotPriorityProfileTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementSpotPriorityProfile model = BinaryData.fromString("{\"maxPricePerVm\":33.77051911745761}")
+ .toObject(SkuMixPlacementSpotPriorityProfile.class);
+ Assertions.assertEquals(33.77051911745761D, model.maxPricePerVm());
+ }
+
+ @org.junit.jupiter.api.Test
+ public void testSerialize() throws Exception {
+ SkuMixPlacementSpotPriorityProfile model
+ = new SkuMixPlacementSpotPriorityProfile().withMaxPricePerVm(33.77051911745761D);
+ model = BinaryData.fromObject(model).toObject(SkuMixPlacementSpotPriorityProfile.class);
+ Assertions.assertEquals(33.77051911745761D, model.maxPricePerVm());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementVMSizeTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementVMSizeTests.java
new file mode 100644
index 000000000000..a53db37f3553
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementVMSizeTests.java
@@ -0,0 +1,27 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementVMSize;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementVMSizeTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementVMSize model = BinaryData.fromString("{\"name\":\"oxxjtfelluwf\",\"rank\":1312385221}")
+ .toObject(SkuMixPlacementVMSize.class);
+ Assertions.assertEquals("oxxjtfelluwf", model.name());
+ Assertions.assertEquals(1312385221, model.rank());
+ }
+
+ @org.junit.jupiter.api.Test
+ public void testSerialize() throws Exception {
+ SkuMixPlacementVMSize model = new SkuMixPlacementVMSize().withName("oxxjtfelluwf").withRank(1312385221);
+ model = BinaryData.fromObject(model).toObject(SkuMixPlacementVMSize.class);
+ Assertions.assertEquals("oxxjtfelluwf", model.name());
+ Assertions.assertEquals(1312385221, model.rank());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementZoneAllocationPolicyTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementZoneAllocationPolicyTests.java
new file mode 100644
index 000000000000..3bfe89492f38
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementZoneAllocationPolicyTests.java
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonalDistributionStrategy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZoneAllocationPolicy;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonePreference;
+import java.util.Arrays;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementZoneAllocationPolicyTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementZoneAllocationPolicy model = BinaryData.fromString(
+ "{\"distributionStrategy\":\"BestEffortSingleZone\",\"zonePreferences\":[{\"zone\":\"cctazakljlahbc\",\"rank\":1201536256,\"targetMaxCapacity\":529020115},{\"zone\":\"fdosyg\",\"rank\":1094512246,\"targetMaxCapacity\":1678061557},{\"zone\":\"jakhmsbzjh\",\"rank\":1969349443,\"targetMaxCapacity\":1441176241}]}")
+ .toObject(SkuMixPlacementZoneAllocationPolicy.class);
+ Assertions.assertEquals(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_SINGLE_ZONE,
+ model.distributionStrategy());
+ Assertions.assertEquals("cctazakljlahbc", model.zonePreferences().get(0).zone());
+ Assertions.assertEquals(1201536256, model.zonePreferences().get(0).rank());
+ Assertions.assertEquals(529020115, model.zonePreferences().get(0).targetMaxCapacity());
+ }
+
+ @org.junit.jupiter.api.Test
+ public void testSerialize() throws Exception {
+ SkuMixPlacementZoneAllocationPolicy model = new SkuMixPlacementZoneAllocationPolicy()
+ .withDistributionStrategy(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_SINGLE_ZONE)
+ .withZonePreferences(Arrays.asList(
+ new SkuMixPlacementZonePreference().withZone("cctazakljlahbc")
+ .withRank(1201536256)
+ .withTargetMaxCapacity(529020115),
+ new SkuMixPlacementZonePreference().withZone("fdosyg")
+ .withRank(1094512246)
+ .withTargetMaxCapacity(1678061557),
+ new SkuMixPlacementZonePreference().withZone("jakhmsbzjh")
+ .withRank(1969349443)
+ .withTargetMaxCapacity(1441176241)));
+ model = BinaryData.fromObject(model).toObject(SkuMixPlacementZoneAllocationPolicy.class);
+ Assertions.assertEquals(SkuMixPlacementZonalDistributionStrategy.BEST_EFFORT_SINGLE_ZONE,
+ model.distributionStrategy());
+ Assertions.assertEquals("cctazakljlahbc", model.zonePreferences().get(0).zone());
+ Assertions.assertEquals(1201536256, model.zonePreferences().get(0).rank());
+ Assertions.assertEquals(529020115, model.zonePreferences().get(0).targetMaxCapacity());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementZonePreferenceTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementZonePreferenceTests.java
new file mode 100644
index 000000000000..fa2b4bfed3dd
--- /dev/null
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SkuMixPlacementZonePreferenceTests.java
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.compute.recommender.generated;
+
+import com.azure.core.util.BinaryData;
+import com.azure.resourcemanager.compute.recommender.models.SkuMixPlacementZonePreference;
+import org.junit.jupiter.api.Assertions;
+
+public final class SkuMixPlacementZonePreferenceTests {
+ @org.junit.jupiter.api.Test
+ public void testDeserialize() throws Exception {
+ SkuMixPlacementZonePreference model
+ = BinaryData.fromString("{\"zone\":\"dphlxaolt\",\"rank\":578472109,\"targetMaxCapacity\":545631747}")
+ .toObject(SkuMixPlacementZonePreference.class);
+ Assertions.assertEquals("dphlxaolt", model.zone());
+ Assertions.assertEquals(578472109, model.rank());
+ Assertions.assertEquals(545631747, model.targetMaxCapacity());
+ }
+
+ @org.junit.jupiter.api.Test
+ public void testSerialize() throws Exception {
+ SkuMixPlacementZonePreference model = new SkuMixPlacementZonePreference().withZone("dphlxaolt")
+ .withRank(578472109)
+ .withTargetMaxCapacity(545631747);
+ model = BinaryData.fromObject(model).toObject(SkuMixPlacementZonePreference.class);
+ Assertions.assertEquals("dphlxaolt", model.zone());
+ Assertions.assertEquals(578472109, model.rank());
+ Assertions.assertEquals(545631747, model.targetMaxCapacity());
+ }
+}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetWithResponseMockTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetWithResponseMockTests.java
index 84f113f0e842..ac0ae609c649 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetWithResponseMockTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresGetWithResponseMockTests.java
@@ -21,7 +21,7 @@ public final class SpotPlacementScoresGetWithResponseMockTests {
@Test
public void testGetWithResponse() throws Exception {
String responseStr
- = "{\"properties\":{\"supportedResourceTypes\":[\"ginuvamih\",\"ognarxzxtheotus\",\"vyevcciqi\",\"nhungbw\"]},\"id\":\"rnfygxgispem\",\"name\":\"tzfkufubl\",\"type\":\"ofx\"}";
+ = "{\"properties\":{\"supportedResourceTypes\":[\"cgyncocpecf\",\"m\"]},\"id\":\"oo\",\"name\":\"sxlzevgbmqj\",\"type\":\"abcypmivk\"}";
HttpClient httpClient
= response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8)));
@@ -31,8 +31,8 @@ public void testGetWithResponse() throws Exception {
new AzureProfile("", "", AzureCloud.AZURE_PUBLIC_CLOUD));
ComputeDiagnosticBase response
- = manager.spotPlacementScores().getWithResponse("yhuybbkpod", com.azure.core.util.Context.NONE).getValue();
+ = manager.spotPlacementScores().getWithResponse("ndrvynhzg", com.azure.core.util.Context.NONE).getValue();
- Assertions.assertEquals("ginuvamih", response.properties().supportedResourceTypes().get(0));
+ Assertions.assertEquals("cgyncocpecf", response.properties().supportedResourceTypes().get(0));
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresInputTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresInputTests.java
index 00d14cb94a05..8e4c053300bb 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresInputTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresInputTests.java
@@ -14,27 +14,27 @@ public final class SpotPlacementScoresInputTests {
@org.junit.jupiter.api.Test
public void testDeserialize() throws Exception {
SpotPlacementScoresInput model = BinaryData.fromString(
- "{\"desiredLocations\":[\"umjgrtfwvuk\",\"gaudcc\",\"nhsjcnyej\"],\"desiredSizes\":[{\"sku\":\"htnapczwlokjyem\"},{\"sku\":\"vnipjox\"},{\"sku\":\"nchgej\"},{\"sku\":\"odmailzyd\"}],\"desiredCount\":52138230,\"availabilityZones\":true}")
+ "{\"desiredLocations\":[\"qkgfgibma\",\"gakeqsr\"],\"desiredSizes\":[{\"sku\":\"qqedqytbciqfou\"},{\"sku\":\"mmnkzsmodmgl\"},{\"sku\":\"gpbkwtmut\"},{\"sku\":\"qktapspwgcuert\"}],\"desiredCount\":1634659545,\"availabilityZones\":false}")
.toObject(SpotPlacementScoresInput.class);
- Assertions.assertEquals("umjgrtfwvuk", model.desiredLocations().get(0));
- Assertions.assertEquals("htnapczwlokjyem", model.desiredSizes().get(0).sku());
- Assertions.assertEquals(52138230, model.desiredCount());
- Assertions.assertTrue(model.availabilityZones());
+ Assertions.assertEquals("qkgfgibma", model.desiredLocations().get(0));
+ Assertions.assertEquals("qqedqytbciqfou", model.desiredSizes().get(0).sku());
+ Assertions.assertEquals(1634659545, model.desiredCount());
+ Assertions.assertFalse(model.availabilityZones());
}
@org.junit.jupiter.api.Test
public void testSerialize() throws Exception {
SpotPlacementScoresInput model
- = new SpotPlacementScoresInput().withDesiredLocations(Arrays.asList("umjgrtfwvuk", "gaudcc", "nhsjcnyej"))
- .withDesiredSizes(
- Arrays.asList(new ResourceSize().withSku("htnapczwlokjyem"), new ResourceSize().withSku("vnipjox"),
- new ResourceSize().withSku("nchgej"), new ResourceSize().withSku("odmailzyd")))
- .withDesiredCount(52138230)
- .withAvailabilityZones(true);
+ = new SpotPlacementScoresInput().withDesiredLocations(Arrays.asList("qkgfgibma", "gakeqsr"))
+ .withDesiredSizes(Arrays.asList(new ResourceSize().withSku("qqedqytbciqfou"),
+ new ResourceSize().withSku("mmnkzsmodmgl"), new ResourceSize().withSku("gpbkwtmut"),
+ new ResourceSize().withSku("qktapspwgcuert")))
+ .withDesiredCount(1634659545)
+ .withAvailabilityZones(false);
model = BinaryData.fromObject(model).toObject(SpotPlacementScoresInput.class);
- Assertions.assertEquals("umjgrtfwvuk", model.desiredLocations().get(0));
- Assertions.assertEquals("htnapczwlokjyem", model.desiredSizes().get(0).sku());
- Assertions.assertEquals(52138230, model.desiredCount());
- Assertions.assertTrue(model.availabilityZones());
+ Assertions.assertEquals("qkgfgibma", model.desiredLocations().get(0));
+ Assertions.assertEquals("qqedqytbciqfou", model.desiredSizes().get(0).sku());
+ Assertions.assertEquals(1634659545, model.desiredCount());
+ Assertions.assertFalse(model.availabilityZones());
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostWithResponseMockTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostWithResponseMockTests.java
index a380f64ee135..b7b1e34631cc 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostWithResponseMockTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresPostWithResponseMockTests.java
@@ -24,7 +24,7 @@ public final class SpotPlacementScoresPostWithResponseMockTests {
@Test
public void testPostWithResponse() throws Exception {
String responseStr
- = "{\"desiredLocations\":[\"wrwclxxwrljd\",\"uskcqvkocrcj\",\"kwt\",\"hxbnjbiksqrg\"],\"desiredSizes\":[{\"sku\":\"inqpjwnzll\"},{\"sku\":\"mppeebvmgxs\"},{\"sku\":\"kyqduujit\"}],\"desiredCount\":1447556622,\"availabilityZones\":true,\"placementScores\":[{\"sku\":\"ndhkrw\",\"region\":\"appd\",\"availabilityZone\":\"dkvwrwjfe\",\"score\":\"nhutjeltmrldhugj\",\"isQuotaAvailable\":true},{\"sku\":\"tqxhocdgeab\",\"region\":\"phut\",\"availabilityZone\":\"ndv\",\"score\":\"ozwyiftyhxhuro\",\"isQuotaAvailable\":true}]}";
+ = "{\"desiredLocations\":[\"nwsubisnj\",\"mpmngnzscxaqwoo\",\"hcbonqvpkvlr\"],\"desiredSizes\":[{\"sku\":\"ase\"},{\"sku\":\"heoflokeyyienjbd\"}],\"desiredCount\":1289591857,\"availabilityZones\":true,\"placementScores\":[{\"sku\":\"jp\",\"region\":\"masxazjpqyegu\",\"availabilityZone\":\"hb\",\"score\":\"hejjz\",\"isQuotaAvailable\":true},{\"sku\":\"dgwdslfhot\",\"region\":\"cynpwlbjnp\",\"availabilityZone\":\"cftadeh\",\"score\":\"ltyfsop\",\"isQuotaAvailable\":false},{\"sku\":\"esnzwde\",\"region\":\"avo\",\"availabilityZone\":\"zdmohctbqvu\",\"score\":\"xdn\",\"isQuotaAvailable\":false},{\"sku\":\"w\",\"region\":\"jjugwdkcglhslaz\",\"availabilityZone\":\"yggdtjixh\",\"score\":\"uofqwe\",\"isQuotaAvailable\":true}]}";
HttpClient httpClient
= response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8)));
@@ -34,22 +34,21 @@ public void testPostWithResponse() throws Exception {
new AzureProfile("", "", AzureCloud.AZURE_PUBLIC_CLOUD));
SpotPlacementScoresResponse response = manager.spotPlacementScores()
- .postWithResponse("eofjaeqjh",
- new SpotPlacementScoresInput().withDesiredLocations(Arrays.asList("asvm"))
- .withDesiredSizes(Arrays.asList(new ResourceSize().withSku("ulngsntn")))
- .withDesiredCount(588307069)
- .withAvailabilityZones(false),
- com.azure.core.util.Context.NONE)
+ .postWithResponse("lzu", new SpotPlacementScoresInput().withDesiredLocations(Arrays.asList("fwnfnb"))
+ .withDesiredSizes(
+ Arrays.asList(new ResourceSize().withSku("onlebxetqgtzxdpn"), new ResourceSize().withSku("qqwx")))
+ .withDesiredCount(19464895)
+ .withAvailabilityZones(false), com.azure.core.util.Context.NONE)
.getValue();
- Assertions.assertEquals("wrwclxxwrljd", response.desiredLocations().get(0));
- Assertions.assertEquals("inqpjwnzll", response.desiredSizes().get(0).sku());
- Assertions.assertEquals(1447556622, response.desiredCount());
+ Assertions.assertEquals("nwsubisnj", response.desiredLocations().get(0));
+ Assertions.assertEquals("ase", response.desiredSizes().get(0).sku());
+ Assertions.assertEquals(1289591857, response.desiredCount());
Assertions.assertTrue(response.availabilityZones());
- Assertions.assertEquals("ndhkrw", response.placementScores().get(0).sku());
- Assertions.assertEquals("appd", response.placementScores().get(0).region());
- Assertions.assertEquals("dkvwrwjfe", response.placementScores().get(0).availabilityZone());
- Assertions.assertEquals("nhutjeltmrldhugj", response.placementScores().get(0).score());
+ Assertions.assertEquals("jp", response.placementScores().get(0).sku());
+ Assertions.assertEquals("masxazjpqyegu", response.placementScores().get(0).region());
+ Assertions.assertEquals("hb", response.placementScores().get(0).availabilityZone());
+ Assertions.assertEquals("hejjz", response.placementScores().get(0).score());
Assertions.assertTrue(response.placementScores().get(0).isQuotaAvailable());
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresResponseInnerTests.java b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresResponseInnerTests.java
index b1330ab44460..2be0db7c2624 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresResponseInnerTests.java
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/src/test/java/com/azure/resourcemanager/compute/recommender/generated/SpotPlacementScoresResponseInnerTests.java
@@ -12,16 +12,16 @@ public final class SpotPlacementScoresResponseInnerTests {
@org.junit.jupiter.api.Test
public void testDeserialize() throws Exception {
SpotPlacementScoresResponseInner model = BinaryData.fromString(
- "{\"desiredLocations\":[\"aqwi\",\"jsprozvcpute\",\"jvwmfda\"],\"desiredSizes\":[{\"sku\":\"dvpjhulsuuvmk\"}],\"desiredCount\":1523765181,\"availabilityZones\":false,\"placementScores\":[{\"sku\":\"dio\",\"region\":\"pslwejdpvw\",\"availabilityZone\":\"oqpsoa\",\"score\":\"tazak\",\"isQuotaAvailable\":true}]}")
+ "{\"desiredLocations\":[\"bmbexppbhtqqro\",\"fpfpsalgbquxigj\",\"jgzjaoyfhrtx\"],\"desiredSizes\":[{\"sku\":\"rkujy\"}],\"desiredCount\":227199794,\"availabilityZones\":false,\"placementScores\":[{\"sku\":\"qawrlyxwj\",\"region\":\"prbnwbxgjvtbv\",\"availabilityZone\":\"sszdnru\",\"score\":\"guhmuouqfpr\",\"isQuotaAvailable\":true},{\"sku\":\"nguitnwuizgazxu\",\"region\":\"zuckyfi\",\"availabilityZone\":\"fidfvzw\",\"score\":\"uht\",\"isQuotaAvailable\":false},{\"sku\":\"sdkf\",\"region\":\"wxmnteiwao\",\"availabilityZone\":\"km\",\"score\":\"c\",\"isQuotaAvailable\":false},{\"sku\":\"cufufsrpymz\",\"region\":\"nsez\",\"availabilityZone\":\"tbzsgfyccs\",\"score\":\"wmdwzjeiachboo\",\"isQuotaAvailable\":false}]}")
.toObject(SpotPlacementScoresResponseInner.class);
- Assertions.assertEquals("aqwi", model.desiredLocations().get(0));
- Assertions.assertEquals("dvpjhulsuuvmk", model.desiredSizes().get(0).sku());
- Assertions.assertEquals(1523765181, model.desiredCount());
+ Assertions.assertEquals("bmbexppbhtqqro", model.desiredLocations().get(0));
+ Assertions.assertEquals("rkujy", model.desiredSizes().get(0).sku());
+ Assertions.assertEquals(227199794, model.desiredCount());
Assertions.assertFalse(model.availabilityZones());
- Assertions.assertEquals("dio", model.placementScores().get(0).sku());
- Assertions.assertEquals("pslwejdpvw", model.placementScores().get(0).region());
- Assertions.assertEquals("oqpsoa", model.placementScores().get(0).availabilityZone());
- Assertions.assertEquals("tazak", model.placementScores().get(0).score());
+ Assertions.assertEquals("qawrlyxwj", model.placementScores().get(0).sku());
+ Assertions.assertEquals("prbnwbxgjvtbv", model.placementScores().get(0).region());
+ Assertions.assertEquals("sszdnru", model.placementScores().get(0).availabilityZone());
+ Assertions.assertEquals("guhmuouqfpr", model.placementScores().get(0).score());
Assertions.assertTrue(model.placementScores().get(0).isQuotaAvailable());
}
}
diff --git a/sdk/compute/azure-resourcemanager-compute-recommender/tsp-location.yaml b/sdk/compute/azure-resourcemanager-compute-recommender/tsp-location.yaml
index 2dfdabfb0d2f..c2b0d6eea0b7 100644
--- a/sdk/compute/azure-resourcemanager-compute-recommender/tsp-location.yaml
+++ b/sdk/compute/azure-resourcemanager-compute-recommender/tsp-location.yaml
@@ -1,4 +1,4 @@
-directory: specification/compute/resource-manager/Microsoft.Compute/RecommenderRP
-commit: 8d4f7c60f2a1448a1442399aebf1fc17b208a253
+directory: specification/compute/resource-manager/Microsoft.Compute/Recommender
+commit: 57e7493ae28af7b6ad02338e7a038f06ed6c2203
repo: Azure/azure-rest-api-specs
additionalDirectories: