getWithResponse(
+ String resourceGroupName, String machineName, String metadataName, Context context);
+
+ /**
+ * Gets HybridIdentityMetadata.
+ *
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @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 defines the HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HybridIdentityMetadataInner get(String resourceGroupName, String machineName, String metadataName);
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ *
Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMachines(String resourceGroupName, String machineName);
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ * Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMachines(
+ String resourceGroupName, String machineName, Context context);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/LicenseProfilesClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/LicenseProfilesClient.java
new file mode 100644
index 0000000000000..ba1ba3de2a91a
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/LicenseProfilesClient.java
@@ -0,0 +1,248 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseProfileInner;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileUpdate;
+
+/** An instance of this class provides access to all the operations defined in LicenseProfilesClient. */
+public interface LicenseProfilesClient {
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseProfileInner> beginCreateOrUpdate(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters);
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseProfileInner> beginCreateOrUpdate(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters, Context context);
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseProfileInner createOrUpdate(String resourceGroupName, String machineName, LicenseProfileInner parameters);
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseProfileInner createOrUpdate(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters, Context context);
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseProfileInner> beginUpdate(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters);
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseProfileInner> beginUpdate(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters, Context context);
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseProfileInner update(String resourceGroupName, String machineName, LicenseProfileUpdate parameters);
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseProfileInner update(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters, Context context);
+
+ /**
+ * Retrieves information about the view of a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes a license profile in a hybrid machine along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String machineName, Context context);
+
+ /**
+ * Retrieves information about the view of a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseProfileInner get(String resourceGroupName, String machineName);
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String machineName);
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String machineName, Context context);
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String machineName);
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String machineName, Context context);
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String machineName);
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String machineName, Context context);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/LicensesClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/LicensesClient.java
new file mode 100644
index 0000000000000..7a901c6cb157e
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/LicensesClient.java
@@ -0,0 +1,315 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseInner;
+import com.azure.resourcemanager.hybridcompute.models.LicenseUpdate;
+
+/** An instance of this class provides access to all the operations defined in LicensesClient. */
+public interface LicensesClient {
+ /**
+ * The operation to validate a license.
+ *
+ * @param parameters Parameters supplied to the license validation 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 the {@link SyncPoller} for polling of describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseInner> beginValidateLicense(LicenseInner parameters);
+
+ /**
+ * The operation to validate a license.
+ *
+ * @param parameters Parameters supplied to the license validation 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 the {@link SyncPoller} for polling of describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseInner> beginValidateLicense(LicenseInner parameters, Context context);
+
+ /**
+ * The operation to validate a license.
+ *
+ * @param parameters Parameters supplied to the license validation 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 describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseInner validateLicense(LicenseInner parameters);
+
+ /**
+ * The operation to validate a license.
+ *
+ * @param parameters Parameters supplied to the license validation 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 describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseInner validateLicense(LicenseInner parameters, Context context);
+
+ /**
+ * The operation to create or update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Create license 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 the {@link SyncPoller} for polling of describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseInner> beginCreateOrUpdate(
+ String resourceGroupName, String licenseName, LicenseInner parameters);
+
+ /**
+ * The operation to create or update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Create license 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 the {@link SyncPoller} for polling of describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseInner> beginCreateOrUpdate(
+ String resourceGroupName, String licenseName, LicenseInner parameters, Context context);
+
+ /**
+ * The operation to create or update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Create license 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 describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseInner createOrUpdate(String resourceGroupName, String licenseName, LicenseInner parameters);
+
+ /**
+ * The operation to create or update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Create license 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 describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseInner createOrUpdate(String resourceGroupName, String licenseName, LicenseInner parameters, Context context);
+
+ /**
+ * The operation to update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Update license 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 the {@link SyncPoller} for polling of describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseInner> beginUpdate(
+ String resourceGroupName, String licenseName, LicenseUpdate parameters);
+
+ /**
+ * The operation to update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Update license 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 the {@link SyncPoller} for polling of describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LicenseInner> beginUpdate(
+ String resourceGroupName, String licenseName, LicenseUpdate parameters, Context context);
+
+ /**
+ * The operation to update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Update license 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 describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseInner update(String resourceGroupName, String licenseName, LicenseUpdate parameters);
+
+ /**
+ * The operation to update a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @param parameters Parameters supplied to the Update license 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 describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseInner update(String resourceGroupName, String licenseName, LicenseUpdate parameters, Context context);
+
+ /**
+ * Retrieves information about the view of a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @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 describes a license in a hybrid machine along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String licenseName, Context context);
+
+ /**
+ * Retrieves information about the view of a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @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 describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LicenseInner getByResourceGroup(String resourceGroupName, String licenseName);
+
+ /**
+ * The operation to delete a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String licenseName);
+
+ /**
+ * The operation to delete a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String licenseName, Context context);
+
+ /**
+ * The operation to delete a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String licenseName);
+
+ /**
+ * The operation to delete a license.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param licenseName The name of the license.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String licenseName, Context context);
+
+ /**
+ * The operation to get all licenses of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 the List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * The operation to get all licenses of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 the List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * The operation to get all licenses of a non-Azure machine.
+ *
+ * @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 the List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * The operation to get all licenses of a non-Azure machine.
+ *
+ * @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 the List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachinesClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachinesClient.java
index d0ecfaa568607..08574840b0364 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachinesClient.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachinesClient.java
@@ -8,14 +8,19 @@
import com.azure.core.annotation.ServiceMethod;
import com.azure.core.http.rest.PagedIterable;
import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybridcompute.fluent.models.MachineAssessPatchesResultInner;
import com.azure.resourcemanager.hybridcompute.fluent.models.MachineInner;
+import com.azure.resourcemanager.hybridcompute.fluent.models.MachineInstallPatchesResultInner;
import com.azure.resourcemanager.hybridcompute.models.InstanceViewTypes;
+import com.azure.resourcemanager.hybridcompute.models.MachineInstallPatchesParameters;
/** An instance of this class provides access to all the operations defined in MachinesClient. */
public interface MachinesClient {
/**
- * The operation to remove a hybrid machine identity in Azure.
+ * The operation to delete a hybrid machine.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the hybrid machine.
@@ -29,7 +34,7 @@ public interface MachinesClient {
Response deleteWithResponse(String resourceGroupName, String machineName, Context context);
/**
- * The operation to remove a hybrid machine identity in Azure.
+ * The operation to delete a hybrid machine.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the hybrid machine.
@@ -69,6 +74,124 @@ Response getByResourceGroupWithResponse(
@ServiceMethod(returns = ReturnType.SINGLE)
MachineInner getByResourceGroup(String resourceGroupName, String machineName);
+ /**
+ * The operation to assess patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @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 the {@link SyncPoller} for polling of describes the properties of an AssessPatches result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineAssessPatchesResultInner> beginAssessPatches(
+ String resourceGroupName, String name);
+
+ /**
+ * The operation to assess patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @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 the {@link SyncPoller} for polling of describes the properties of an AssessPatches result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineAssessPatchesResultInner> beginAssessPatches(
+ String resourceGroupName, String name, Context context);
+
+ /**
+ * The operation to assess patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @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 describes the properties of an AssessPatches result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineAssessPatchesResultInner assessPatches(String resourceGroupName, String name);
+
+ /**
+ * The operation to assess patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @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 describes the properties of an AssessPatches result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineAssessPatchesResultInner assessPatches(String resourceGroupName, String name, Context context);
+
+ /**
+ * The operation to install patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @param installPatchesInput Input for InstallPatches as directly received by the API.
+ * @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 the {@link SyncPoller} for polling of the result summary of an installation operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineInstallPatchesResultInner> beginInstallPatches(
+ String resourceGroupName, String name, MachineInstallPatchesParameters installPatchesInput);
+
+ /**
+ * The operation to install patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @param installPatchesInput Input for InstallPatches as directly received by the API.
+ * @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 the {@link SyncPoller} for polling of the result summary of an installation operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineInstallPatchesResultInner> beginInstallPatches(
+ String resourceGroupName, String name, MachineInstallPatchesParameters installPatchesInput, Context context);
+
+ /**
+ * The operation to install patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @param installPatchesInput Input for InstallPatches as directly received by the API.
+ * @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 the result summary of an installation operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineInstallPatchesResultInner installPatches(
+ String resourceGroupName, String name, MachineInstallPatchesParameters installPatchesInput);
+
+ /**
+ * The operation to install patches on a hybrid machine identity in Azure.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param name The name of the hybrid machine.
+ * @param installPatchesInput Input for InstallPatches as directly received by the API.
+ * @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 the result summary of an installation operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineInstallPatchesResultInner installPatches(
+ String resourceGroupName, String name, MachineInstallPatchesParameters installPatchesInput, Context context);
+
/**
* Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get
* the next page of hybrid machines.
@@ -87,6 +210,7 @@ Response getByResourceGroupWithResponse(
* the next page of hybrid machines.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param expand Expands referenced resources.
* @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.
@@ -94,7 +218,7 @@ Response getByResourceGroupWithResponse(
* @return the List hybrid machine operation response as paginated response with {@link PagedIterable}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
- PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+ PagedIterable listByResourceGroup(String resourceGroupName, String expand, Context context);
/**
* Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/NetworkProfilesClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/NetworkProfilesClient.java
new file mode 100644
index 0000000000000..12bad427e256b
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/NetworkProfilesClient.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.hybridcompute.fluent.models.NetworkProfileInner;
+
+/** An instance of this class provides access to all the operations defined in NetworkProfilesClient. */
+public interface NetworkProfilesClient {
+ /**
+ * The operation to get network information of hybrid machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes the network information on this machine along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String machineName, Context context);
+
+ /**
+ * The operation to get network information of hybrid machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes the network information on this machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkProfileInner get(String resourceGroupName, String machineName);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/ResourceProvidersClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/ResourceProvidersClient.java
new file mode 100644
index 0000000000000..22c4e9a1c6958
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/ResourceProvidersClient.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybridcompute.models.MachineExtensionUpgrade;
+
+/** An instance of this class provides access to all the operations defined in ResourceProvidersClient. */
+public interface ResourceProvidersClient {
+ /**
+ * The operation to Upgrade Machine Extensions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param extensionUpgradeParameters Parameters supplied to the Upgrade Extensions 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginUpgradeExtensions(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters);
+
+ /**
+ * The operation to Upgrade Machine Extensions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param extensionUpgradeParameters Parameters supplied to the Upgrade Extensions 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginUpgradeExtensions(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context);
+
+ /**
+ * The operation to Upgrade Machine Extensions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param extensionUpgradeParameters Parameters supplied to the Upgrade Extensions 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void upgradeExtensions(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters);
+
+ /**
+ * The operation to Upgrade Machine Extensions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param extensionUpgradeParameters Parameters supplied to the Upgrade Extensions 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void upgradeExtensions(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/AgentVersionInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/AgentVersionInner.java
new file mode 100644
index 0000000000000..489dd78204cab
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/AgentVersionInner.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes properties of Agent Version. */
+@Fluent
+public final class AgentVersionInner {
+ /*
+ * Represents the agent version.
+ */
+ @JsonProperty(value = "agentVersion")
+ private String agentVersion;
+
+ /*
+ * Represents the download link of specific agent version.
+ */
+ @JsonProperty(value = "downloadLink")
+ private String downloadLink;
+
+ /*
+ * Defines the os type.
+ */
+ @JsonProperty(value = "osType")
+ private String osType;
+
+ /** Creates an instance of AgentVersionInner class. */
+ public AgentVersionInner() {
+ }
+
+ /**
+ * Get the agentVersion property: Represents the agent version.
+ *
+ * @return the agentVersion value.
+ */
+ public String agentVersion() {
+ return this.agentVersion;
+ }
+
+ /**
+ * Set the agentVersion property: Represents the agent version.
+ *
+ * @param agentVersion the agentVersion value to set.
+ * @return the AgentVersionInner object itself.
+ */
+ public AgentVersionInner withAgentVersion(String agentVersion) {
+ this.agentVersion = agentVersion;
+ return this;
+ }
+
+ /**
+ * Get the downloadLink property: Represents the download link of specific agent version.
+ *
+ * @return the downloadLink value.
+ */
+ public String downloadLink() {
+ return this.downloadLink;
+ }
+
+ /**
+ * Set the downloadLink property: Represents the download link of specific agent version.
+ *
+ * @param downloadLink the downloadLink value to set.
+ * @return the AgentVersionInner object itself.
+ */
+ public AgentVersionInner withDownloadLink(String downloadLink) {
+ this.downloadLink = downloadLink;
+ return this;
+ }
+
+ /**
+ * Get the osType property: Defines the os type.
+ *
+ * @return the osType value.
+ */
+ public String osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the osType property: Defines the os type.
+ *
+ * @param osType the osType value to set.
+ * @return the AgentVersionInner object itself.
+ */
+ public AgentVersionInner withOsType(String osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/AgentVersionsListInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/AgentVersionsListInner.java
new file mode 100644
index 0000000000000..23a48f953f4a5
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/AgentVersionsListInner.java
@@ -0,0 +1,80 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Describes AgentVersions List. */
+@Fluent
+public final class AgentVersionsListInner {
+ /*
+ * The list of available Agent Versions.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /*
+ * The URI to fetch the next 10 available Agent Versions.
+ */
+ @JsonProperty(value = "nextLink")
+ private String nextLink;
+
+ /** Creates an instance of AgentVersionsListInner class. */
+ public AgentVersionsListInner() {
+ }
+
+ /**
+ * Get the value property: The list of available Agent Versions.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The list of available Agent Versions.
+ *
+ * @param value the value value to set.
+ * @return the AgentVersionsListInner object itself.
+ */
+ public AgentVersionsListInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: The URI to fetch the next 10 available Agent Versions.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Set the nextLink property: The URI to fetch the next 10 available Agent Versions.
+ *
+ * @param nextLink the nextLink value to set.
+ * @return the AgentVersionsListInner object itself.
+ */
+ public AgentVersionsListInner withNextLink(String nextLink) {
+ this.nextLink = nextLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/EsuProfileUpdateProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/EsuProfileUpdateProperties.java
new file mode 100644
index 0000000000000..e714b1d7e7878
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/EsuProfileUpdateProperties.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes the Update properties of a License Profile. */
+@Fluent
+public final class EsuProfileUpdateProperties {
+ /*
+ * The resource id of the license.
+ */
+ @JsonProperty(value = "assignedLicense")
+ private String assignedLicense;
+
+ /** Creates an instance of EsuProfileUpdateProperties class. */
+ public EsuProfileUpdateProperties() {
+ }
+
+ /**
+ * Get the assignedLicense property: The resource id of the license.
+ *
+ * @return the assignedLicense value.
+ */
+ public String assignedLicense() {
+ return this.assignedLicense;
+ }
+
+ /**
+ * Set the assignedLicense property: The resource id of the license.
+ *
+ * @param assignedLicense the assignedLicense value to set.
+ * @return the EsuProfileUpdateProperties object itself.
+ */
+ public EsuProfileUpdateProperties withAssignedLicense(String assignedLicense) {
+ this.assignedLicense = assignedLicense;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/ExtensionValueInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/ExtensionValueInner.java
new file mode 100644
index 0000000000000..2dbed12fa9426
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/ExtensionValueInner.java
@@ -0,0 +1,86 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes a Extension Metadata. */
+@Immutable
+public final class ExtensionValueInner extends ProxyResource {
+ /*
+ * The single extension based on search criteria
+ */
+ @JsonProperty(value = "properties")
+ private ExtensionValueProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ExtensionValueInner class. */
+ public ExtensionValueInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The single extension based on search criteria.
+ *
+ * @return the innerProperties value.
+ */
+ private ExtensionValueProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 version property: The version of the Extension being received.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.innerProperties() == null ? null : this.innerProperties().version();
+ }
+
+ /**
+ * Get the extensionType property: The type of the Extension being received.
+ *
+ * @return the extensionType value.
+ */
+ public String extensionType() {
+ return this.innerProperties() == null ? null : this.innerProperties().extensionType();
+ }
+
+ /**
+ * Get the publisher property: The publisher of the Extension being received.
+ *
+ * @return the publisher value.
+ */
+ public String publisher() {
+ return this.innerProperties() == null ? null : this.innerProperties().publisher();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/ExtensionValueProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/ExtensionValueProperties.java
new file mode 100644
index 0000000000000..e4d1cd9242230
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/ExtensionValueProperties.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes Extension Metadata properties. */
+@Immutable
+public final class ExtensionValueProperties {
+ /*
+ * The version of the Extension being received.
+ */
+ @JsonProperty(value = "version", access = JsonProperty.Access.WRITE_ONLY)
+ private String version;
+
+ /*
+ * The type of the Extension being received.
+ */
+ @JsonProperty(value = "extensionType", access = JsonProperty.Access.WRITE_ONLY)
+ private String extensionType;
+
+ /*
+ * The publisher of the Extension being received.
+ */
+ @JsonProperty(value = "publisher", access = JsonProperty.Access.WRITE_ONLY)
+ private String publisher;
+
+ /** Creates an instance of ExtensionValueProperties class. */
+ public ExtensionValueProperties() {
+ }
+
+ /**
+ * Get the version property: The version of the Extension being received.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Get the extensionType property: The type of the Extension being received.
+ *
+ * @return the extensionType value.
+ */
+ public String extensionType() {
+ return this.extensionType;
+ }
+
+ /**
+ * Get the publisher property: The publisher of the Extension being received.
+ *
+ * @return the publisher value.
+ */
+ public String publisher() {
+ return this.publisher;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/HybridIdentityMetadataInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/HybridIdentityMetadataInner.java
new file mode 100644
index 0000000000000..fcb730451606d
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/HybridIdentityMetadataInner.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybridcompute.models.Identity;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Defines the HybridIdentityMetadata. */
+@Fluent
+public final class HybridIdentityMetadataInner extends ProxyResource {
+ /*
+ * Resource properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private HybridIdentityMetadataProperties innerProperties = new HybridIdentityMetadataProperties();
+
+ /** Creates an instance of HybridIdentityMetadataInner class. */
+ public HybridIdentityMetadataInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Resource properties.
+ *
+ * @return the innerProperties value.
+ */
+ private HybridIdentityMetadataProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the vmId property: The unique identifier for the resource.
+ *
+ * @return the vmId value.
+ */
+ public String vmId() {
+ return this.innerProperties() == null ? null : this.innerProperties().vmId();
+ }
+
+ /**
+ * Set the vmId property: The unique identifier for the resource.
+ *
+ * @param vmId the vmId value to set.
+ * @return the HybridIdentityMetadataInner object itself.
+ */
+ public HybridIdentityMetadataInner withVmId(String vmId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new HybridIdentityMetadataProperties();
+ }
+ this.innerProperties().withVmId(vmId);
+ return this;
+ }
+
+ /**
+ * Get the publicKey property: The Public Key.
+ *
+ * @return the publicKey value.
+ */
+ public String publicKey() {
+ return this.innerProperties() == null ? null : this.innerProperties().publicKey();
+ }
+
+ /**
+ * Set the publicKey property: The Public Key.
+ *
+ * @param publicKey the publicKey value to set.
+ * @return the HybridIdentityMetadataInner object itself.
+ */
+ public HybridIdentityMetadataInner withPublicKey(String publicKey) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new HybridIdentityMetadataProperties();
+ }
+ this.innerProperties().withPublicKey(publicKey);
+ return this;
+ }
+
+ /**
+ * Get the identity property: Identity for the resource.
+ *
+ * @return the identity value.
+ */
+ public Identity identity() {
+ return this.innerProperties() == null ? null : this.innerProperties().identity();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model HybridIdentityMetadataInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(HybridIdentityMetadataInner.class);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/HybridIdentityMetadataProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/HybridIdentityMetadataProperties.java
new file mode 100644
index 0000000000000..04f76fb8a56ac
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/HybridIdentityMetadataProperties.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.Identity;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Defines the resource properties. */
+@Fluent
+public final class HybridIdentityMetadataProperties {
+ /*
+ * The unique identifier for the resource.
+ */
+ @JsonProperty(value = "vmId")
+ private String vmId;
+
+ /*
+ * The Public Key.
+ */
+ @JsonProperty(value = "publicKey")
+ private String publicKey;
+
+ /*
+ * Identity for the resource.
+ */
+ @JsonProperty(value = "identity", access = JsonProperty.Access.WRITE_ONLY)
+ private Identity identity;
+
+ /** Creates an instance of HybridIdentityMetadataProperties class. */
+ public HybridIdentityMetadataProperties() {
+ }
+
+ /**
+ * Get the vmId property: The unique identifier for the resource.
+ *
+ * @return the vmId value.
+ */
+ public String vmId() {
+ return this.vmId;
+ }
+
+ /**
+ * Set the vmId property: The unique identifier for the resource.
+ *
+ * @param vmId the vmId value to set.
+ * @return the HybridIdentityMetadataProperties object itself.
+ */
+ public HybridIdentityMetadataProperties withVmId(String vmId) {
+ this.vmId = vmId;
+ return this;
+ }
+
+ /**
+ * Get the publicKey property: The Public Key.
+ *
+ * @return the publicKey value.
+ */
+ public String publicKey() {
+ return this.publicKey;
+ }
+
+ /**
+ * Set the publicKey property: The Public Key.
+ *
+ * @param publicKey the publicKey value to set.
+ * @return the HybridIdentityMetadataProperties object itself.
+ */
+ public HybridIdentityMetadataProperties withPublicKey(String publicKey) {
+ this.publicKey = publicKey;
+ return this;
+ }
+
+ /**
+ * Get the identity property: Identity for the resource.
+ *
+ * @return the identity value.
+ */
+ public Identity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseInner.java
new file mode 100644
index 0000000000000..d75e46f85d24b
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.hybridcompute.models.LicenseDetails;
+import com.azure.resourcemanager.hybridcompute.models.LicenseType;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Describes a license in a hybrid machine. */
+@Fluent
+public final class LicenseInner extends Resource {
+ /*
+ * Hybrid Compute License properties
+ */
+ @JsonProperty(value = "properties")
+ private LicenseProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of LicenseInner class. */
+ public LicenseInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Hybrid Compute License properties.
+ *
+ * @return the innerProperties value.
+ */
+ private LicenseProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LicenseInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LicenseInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the tenantId property: Describes the tenant id.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.innerProperties() == null ? null : this.innerProperties().tenantId();
+ }
+
+ /**
+ * Set the tenantId property: Describes the tenant id.
+ *
+ * @param tenantId the tenantId value to set.
+ * @return the LicenseInner object itself.
+ */
+ public LicenseInner withTenantId(String tenantId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LicenseProperties();
+ }
+ this.innerProperties().withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Get the licenseType property: The type of the license resource.
+ *
+ * @return the licenseType value.
+ */
+ public LicenseType licenseType() {
+ return this.innerProperties() == null ? null : this.innerProperties().licenseType();
+ }
+
+ /**
+ * Set the licenseType property: The type of the license resource.
+ *
+ * @param licenseType the licenseType value to set.
+ * @return the LicenseInner object itself.
+ */
+ public LicenseInner withLicenseType(LicenseType licenseType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LicenseProperties();
+ }
+ this.innerProperties().withLicenseType(licenseType);
+ return this;
+ }
+
+ /**
+ * Get the licenseDetails property: Describes the properties of a License.
+ *
+ * @return the licenseDetails value.
+ */
+ public LicenseDetails licenseDetails() {
+ return this.innerProperties() == null ? null : this.innerProperties().licenseDetails();
+ }
+
+ /**
+ * Set the licenseDetails property: Describes the properties of a License.
+ *
+ * @param licenseDetails the licenseDetails value to set.
+ * @return the LicenseInner object itself.
+ */
+ public LicenseInner withLicenseDetails(LicenseDetails licenseDetails) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LicenseProperties();
+ }
+ this.innerProperties().withLicenseDetails(licenseDetails);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileArmEsuProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileArmEsuProperties.java
new file mode 100644
index 0000000000000..4675b6febe23b
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileArmEsuProperties.java
@@ -0,0 +1,53 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileArmEsuPropertiesWithoutAssignedLicense;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes the properties of a License Profile ARM model. */
+@Fluent
+public final class LicenseProfileArmEsuProperties extends LicenseProfileArmEsuPropertiesWithoutAssignedLicense {
+ /*
+ * The resource id of the license.
+ */
+ @JsonProperty(value = "assignedLicense")
+ private String assignedLicense;
+
+ /** Creates an instance of LicenseProfileArmEsuProperties class. */
+ public LicenseProfileArmEsuProperties() {
+ }
+
+ /**
+ * Get the assignedLicense property: The resource id of the license.
+ *
+ * @return the assignedLicense value.
+ */
+ public String assignedLicense() {
+ return this.assignedLicense;
+ }
+
+ /**
+ * Set the assignedLicense property: The resource id of the license.
+ *
+ * @param assignedLicense the assignedLicense value to set.
+ * @return the LicenseProfileArmEsuProperties object itself.
+ */
+ public LicenseProfileArmEsuProperties withAssignedLicense(String assignedLicense) {
+ this.assignedLicense = assignedLicense;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileInner.java
new file mode 100644
index 0000000000000..bc0d498a982c6
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileInner.java
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.hybridcompute.models.EsuEligibility;
+import com.azure.resourcemanager.hybridcompute.models.EsuKey;
+import com.azure.resourcemanager.hybridcompute.models.EsuKeyState;
+import com.azure.resourcemanager.hybridcompute.models.EsuServerType;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Describes a license profile in a hybrid machine. */
+@Fluent
+public final class LicenseProfileInner extends Resource {
+ /*
+ * Describe the properties of a license profile.
+ */
+ @JsonProperty(value = "properties")
+ private LicenseProfileProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of LicenseProfileInner class. */
+ public LicenseProfileInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Describe the properties of a license profile.
+ *
+ * @return the innerProperties value.
+ */
+ private LicenseProfileProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LicenseProfileInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LicenseProfileInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the assignedLicense property: The resource id of the license.
+ *
+ * @return the assignedLicense value.
+ */
+ public String assignedLicense() {
+ return this.innerProperties() == null ? null : this.innerProperties().assignedLicense();
+ }
+
+ /**
+ * Set the assignedLicense property: The resource id of the license.
+ *
+ * @param assignedLicense the assignedLicense value to set.
+ * @return the LicenseProfileInner object itself.
+ */
+ public LicenseProfileInner withAssignedLicense(String assignedLicense) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LicenseProfileProperties();
+ }
+ this.innerProperties().withAssignedLicense(assignedLicense);
+ return this;
+ }
+
+ /**
+ * Get the serverType property: The type of the Esu servers.
+ *
+ * @return the serverType value.
+ */
+ public EsuServerType serverType() {
+ return this.innerProperties() == null ? null : this.innerProperties().serverType();
+ }
+
+ /**
+ * Get the esuEligibility property: Indicates the eligibility state of Esu.
+ *
+ * @return the esuEligibility value.
+ */
+ public EsuEligibility esuEligibility() {
+ return this.innerProperties() == null ? null : this.innerProperties().esuEligibility();
+ }
+
+ /**
+ * Get the esuKeyState property: Indicates whether there is an ESU Key currently active for the machine.
+ *
+ * @return the esuKeyState value.
+ */
+ public EsuKeyState esuKeyState() {
+ return this.innerProperties() == null ? null : this.innerProperties().esuKeyState();
+ }
+
+ /**
+ * Get the assignedLicenseImmutableId property: The guid id of the license.
+ *
+ * @return the assignedLicenseImmutableId value.
+ */
+ public String assignedLicenseImmutableId() {
+ return this.innerProperties() == null ? null : this.innerProperties().assignedLicenseImmutableId();
+ }
+
+ /**
+ * Get the esuKeys property: The list of ESU keys.
+ *
+ * @return the esuKeys value.
+ */
+ public List esuKeys() {
+ return this.innerProperties() == null ? null : this.innerProperties().esuKeys();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileMachineInstanceViewEsuPropertiesInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileMachineInstanceViewEsuPropertiesInner.java
new file mode 100644
index 0000000000000..a061c8af5002e
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileMachineInstanceViewEsuPropertiesInner.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.LicenseAssignmentState;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileArmEsuPropertiesWithoutAssignedLicense;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Properties for the Machine ESU profile. */
+@Fluent
+public final class LicenseProfileMachineInstanceViewEsuPropertiesInner
+ extends LicenseProfileArmEsuPropertiesWithoutAssignedLicense {
+ /*
+ * The assigned license resource.
+ */
+ @JsonProperty(value = "assignedLicense")
+ private LicenseInner assignedLicense;
+
+ /*
+ * Describes the license assignment state (Assigned or NotAssigned).
+ */
+ @JsonProperty(value = "licenseAssignmentState")
+ private LicenseAssignmentState licenseAssignmentState;
+
+ /** Creates an instance of LicenseProfileMachineInstanceViewEsuPropertiesInner class. */
+ public LicenseProfileMachineInstanceViewEsuPropertiesInner() {
+ }
+
+ /**
+ * Get the assignedLicense property: The assigned license resource.
+ *
+ * @return the assignedLicense value.
+ */
+ public LicenseInner assignedLicense() {
+ return this.assignedLicense;
+ }
+
+ /**
+ * Set the assignedLicense property: The assigned license resource.
+ *
+ * @param assignedLicense the assignedLicense value to set.
+ * @return the LicenseProfileMachineInstanceViewEsuPropertiesInner object itself.
+ */
+ public LicenseProfileMachineInstanceViewEsuPropertiesInner withAssignedLicense(LicenseInner assignedLicense) {
+ this.assignedLicense = assignedLicense;
+ return this;
+ }
+
+ /**
+ * Get the licenseAssignmentState property: Describes the license assignment state (Assigned or NotAssigned).
+ *
+ * @return the licenseAssignmentState value.
+ */
+ public LicenseAssignmentState licenseAssignmentState() {
+ return this.licenseAssignmentState;
+ }
+
+ /**
+ * Set the licenseAssignmentState property: Describes the license assignment state (Assigned or NotAssigned).
+ *
+ * @param licenseAssignmentState the licenseAssignmentState value to set.
+ * @return the LicenseProfileMachineInstanceViewEsuPropertiesInner object itself.
+ */
+ public LicenseProfileMachineInstanceViewEsuPropertiesInner withLicenseAssignmentState(
+ LicenseAssignmentState licenseAssignmentState) {
+ this.licenseAssignmentState = licenseAssignmentState;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (assignedLicense() != null) {
+ assignedLicense().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileMachineInstanceViewInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileMachineInstanceViewInner.java
new file mode 100644
index 0000000000000..0e6520ad9bbf0
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileMachineInstanceViewInner.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** License Profile Instance View in Machine Properties. */
+@Fluent
+public final class LicenseProfileMachineInstanceViewInner {
+ /*
+ * Properties for the Machine ESU profile.
+ */
+ @JsonProperty(value = "esuProfile")
+ private LicenseProfileMachineInstanceViewEsuPropertiesInner esuProfile;
+
+ /** Creates an instance of LicenseProfileMachineInstanceViewInner class. */
+ public LicenseProfileMachineInstanceViewInner() {
+ }
+
+ /**
+ * Get the esuProfile property: Properties for the Machine ESU profile.
+ *
+ * @return the esuProfile value.
+ */
+ public LicenseProfileMachineInstanceViewEsuPropertiesInner esuProfile() {
+ return this.esuProfile;
+ }
+
+ /**
+ * Set the esuProfile property: Properties for the Machine ESU profile.
+ *
+ * @param esuProfile the esuProfile value to set.
+ * @return the LicenseProfileMachineInstanceViewInner object itself.
+ */
+ public LicenseProfileMachineInstanceViewInner withEsuProfile(
+ LicenseProfileMachineInstanceViewEsuPropertiesInner esuProfile) {
+ this.esuProfile = esuProfile;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (esuProfile() != null) {
+ esuProfile().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileProperties.java
new file mode 100644
index 0000000000000..fdee30e5357b8
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileProperties.java
@@ -0,0 +1,131 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.EsuEligibility;
+import com.azure.resourcemanager.hybridcompute.models.EsuKey;
+import com.azure.resourcemanager.hybridcompute.models.EsuKeyState;
+import com.azure.resourcemanager.hybridcompute.models.EsuServerType;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Describe the properties of a license profile. */
+@Fluent
+public final class LicenseProfileProperties {
+ /*
+ * Hybrid Compute ESU Profile properties
+ */
+ @JsonProperty(value = "esuProfile")
+ private LicenseProfileArmEsuProperties innerEsuProfile;
+
+ /*
+ * The provisioning state, which only appears in the response.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /** Creates an instance of LicenseProfileProperties class. */
+ public LicenseProfileProperties() {
+ }
+
+ /**
+ * Get the innerEsuProfile property: Hybrid Compute ESU Profile properties.
+ *
+ * @return the innerEsuProfile value.
+ */
+ private LicenseProfileArmEsuProperties innerEsuProfile() {
+ return this.innerEsuProfile;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the assignedLicense property: The resource id of the license.
+ *
+ * @return the assignedLicense value.
+ */
+ public String assignedLicense() {
+ return this.innerEsuProfile() == null ? null : this.innerEsuProfile().assignedLicense();
+ }
+
+ /**
+ * Set the assignedLicense property: The resource id of the license.
+ *
+ * @param assignedLicense the assignedLicense value to set.
+ * @return the LicenseProfileProperties object itself.
+ */
+ public LicenseProfileProperties withAssignedLicense(String assignedLicense) {
+ if (this.innerEsuProfile() == null) {
+ this.innerEsuProfile = new LicenseProfileArmEsuProperties();
+ }
+ this.innerEsuProfile().withAssignedLicense(assignedLicense);
+ return this;
+ }
+
+ /**
+ * Get the serverType property: The type of the Esu servers.
+ *
+ * @return the serverType value.
+ */
+ public EsuServerType serverType() {
+ return this.innerEsuProfile() == null ? null : this.innerEsuProfile().serverType();
+ }
+
+ /**
+ * Get the esuEligibility property: Indicates the eligibility state of Esu.
+ *
+ * @return the esuEligibility value.
+ */
+ public EsuEligibility esuEligibility() {
+ return this.innerEsuProfile() == null ? null : this.innerEsuProfile().esuEligibility();
+ }
+
+ /**
+ * Get the esuKeyState property: Indicates whether there is an ESU Key currently active for the machine.
+ *
+ * @return the esuKeyState value.
+ */
+ public EsuKeyState esuKeyState() {
+ return this.innerEsuProfile() == null ? null : this.innerEsuProfile().esuKeyState();
+ }
+
+ /**
+ * Get the assignedLicenseImmutableId property: The guid id of the license.
+ *
+ * @return the assignedLicenseImmutableId value.
+ */
+ public String assignedLicenseImmutableId() {
+ return this.innerEsuProfile() == null ? null : this.innerEsuProfile().assignedLicenseImmutableId();
+ }
+
+ /**
+ * Get the esuKeys property: The list of ESU keys.
+ *
+ * @return the esuKeys value.
+ */
+ public List esuKeys() {
+ return this.innerEsuProfile() == null ? null : this.innerEsuProfile().esuKeys();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerEsuProfile() != null) {
+ innerEsuProfile().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileUpdateProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileUpdateProperties.java
new file mode 100644
index 0000000000000..3e97daf3ef5b3
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProfileUpdateProperties.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describe the Update properties of a license profile. */
+@Fluent
+public final class LicenseProfileUpdateProperties {
+ /*
+ * Hybrid Compute ESU Profile Update properties
+ */
+ @JsonProperty(value = "esuProfile")
+ private EsuProfileUpdateProperties innerEsuProfile;
+
+ /** Creates an instance of LicenseProfileUpdateProperties class. */
+ public LicenseProfileUpdateProperties() {
+ }
+
+ /**
+ * Get the innerEsuProfile property: Hybrid Compute ESU Profile Update properties.
+ *
+ * @return the innerEsuProfile value.
+ */
+ private EsuProfileUpdateProperties innerEsuProfile() {
+ return this.innerEsuProfile;
+ }
+
+ /**
+ * Get the assignedLicense property: The resource id of the license.
+ *
+ * @return the assignedLicense value.
+ */
+ public String assignedLicense() {
+ return this.innerEsuProfile() == null ? null : this.innerEsuProfile().assignedLicense();
+ }
+
+ /**
+ * Set the assignedLicense property: The resource id of the license.
+ *
+ * @param assignedLicense the assignedLicense value to set.
+ * @return the LicenseProfileUpdateProperties object itself.
+ */
+ public LicenseProfileUpdateProperties withAssignedLicense(String assignedLicense) {
+ if (this.innerEsuProfile() == null) {
+ this.innerEsuProfile = new EsuProfileUpdateProperties();
+ }
+ this.innerEsuProfile().withAssignedLicense(assignedLicense);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerEsuProfile() != null) {
+ innerEsuProfile().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProperties.java
new file mode 100644
index 0000000000000..ecc7fb845ac79
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseProperties.java
@@ -0,0 +1,123 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.LicenseDetails;
+import com.azure.resourcemanager.hybridcompute.models.LicenseType;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes the properties of a License Profile. */
+@Fluent
+public final class LicenseProperties {
+ /*
+ * The provisioning state, which only appears in the response.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Describes the tenant id.
+ */
+ @JsonProperty(value = "tenantId")
+ private String tenantId;
+
+ /*
+ * The type of the license resource.
+ */
+ @JsonProperty(value = "licenseType")
+ private LicenseType licenseType;
+
+ /*
+ * Describes the properties of a License.
+ */
+ @JsonProperty(value = "licenseDetails")
+ private LicenseDetails licenseDetails;
+
+ /** Creates an instance of LicenseProperties class. */
+ public LicenseProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the tenantId property: Describes the tenant id.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Set the tenantId property: Describes the tenant id.
+ *
+ * @param tenantId the tenantId value to set.
+ * @return the LicenseProperties object itself.
+ */
+ public LicenseProperties withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ /**
+ * Get the licenseType property: The type of the license resource.
+ *
+ * @return the licenseType value.
+ */
+ public LicenseType licenseType() {
+ return this.licenseType;
+ }
+
+ /**
+ * Set the licenseType property: The type of the license resource.
+ *
+ * @param licenseType the licenseType value to set.
+ * @return the LicenseProperties object itself.
+ */
+ public LicenseProperties withLicenseType(LicenseType licenseType) {
+ this.licenseType = licenseType;
+ return this;
+ }
+
+ /**
+ * Get the licenseDetails property: Describes the properties of a License.
+ *
+ * @return the licenseDetails value.
+ */
+ public LicenseDetails licenseDetails() {
+ return this.licenseDetails;
+ }
+
+ /**
+ * Set the licenseDetails property: Describes the properties of a License.
+ *
+ * @param licenseDetails the licenseDetails value to set.
+ * @return the LicenseProperties object itself.
+ */
+ public LicenseProperties withLicenseDetails(LicenseDetails licenseDetails) {
+ this.licenseDetails = licenseDetails;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (licenseDetails() != null) {
+ licenseDetails().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseUpdateProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseUpdateProperties.java
new file mode 100644
index 0000000000000..d219afcc2400c
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseUpdateProperties.java
@@ -0,0 +1,188 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.LicenseCoreType;
+import com.azure.resourcemanager.hybridcompute.models.LicenseEdition;
+import com.azure.resourcemanager.hybridcompute.models.LicenseState;
+import com.azure.resourcemanager.hybridcompute.models.LicenseTarget;
+import com.azure.resourcemanager.hybridcompute.models.LicenseType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes the Update properties of a License Profile. */
+@Fluent
+public final class LicenseUpdateProperties {
+ /*
+ * The type of the license resource.
+ */
+ @JsonProperty(value = "licenseType")
+ private LicenseType licenseType;
+
+ /*
+ * The licenseDetails property.
+ */
+ @JsonProperty(value = "licenseDetails")
+ private LicenseUpdatePropertiesLicenseDetails innerLicenseDetails;
+
+ /** Creates an instance of LicenseUpdateProperties class. */
+ public LicenseUpdateProperties() {
+ }
+
+ /**
+ * Get the licenseType property: The type of the license resource.
+ *
+ * @return the licenseType value.
+ */
+ public LicenseType licenseType() {
+ return this.licenseType;
+ }
+
+ /**
+ * Set the licenseType property: The type of the license resource.
+ *
+ * @param licenseType the licenseType value to set.
+ * @return the LicenseUpdateProperties object itself.
+ */
+ public LicenseUpdateProperties withLicenseType(LicenseType licenseType) {
+ this.licenseType = licenseType;
+ return this;
+ }
+
+ /**
+ * Get the innerLicenseDetails property: The licenseDetails property.
+ *
+ * @return the innerLicenseDetails value.
+ */
+ private LicenseUpdatePropertiesLicenseDetails innerLicenseDetails() {
+ return this.innerLicenseDetails;
+ }
+
+ /**
+ * Get the state property: Describes the state of the license.
+ *
+ * @return the state value.
+ */
+ public LicenseState state() {
+ return this.innerLicenseDetails() == null ? null : this.innerLicenseDetails().state();
+ }
+
+ /**
+ * Set the state property: Describes the state of the license.
+ *
+ * @param state the state value to set.
+ * @return the LicenseUpdateProperties object itself.
+ */
+ public LicenseUpdateProperties withState(LicenseState state) {
+ if (this.innerLicenseDetails() == null) {
+ this.innerLicenseDetails = new LicenseUpdatePropertiesLicenseDetails();
+ }
+ this.innerLicenseDetails().withState(state);
+ return this;
+ }
+
+ /**
+ * Get the target property: Describes the license target server.
+ *
+ * @return the target value.
+ */
+ public LicenseTarget target() {
+ return this.innerLicenseDetails() == null ? null : this.innerLicenseDetails().target();
+ }
+
+ /**
+ * Set the target property: Describes the license target server.
+ *
+ * @param target the target value to set.
+ * @return the LicenseUpdateProperties object itself.
+ */
+ public LicenseUpdateProperties withTarget(LicenseTarget target) {
+ if (this.innerLicenseDetails() == null) {
+ this.innerLicenseDetails = new LicenseUpdatePropertiesLicenseDetails();
+ }
+ this.innerLicenseDetails().withTarget(target);
+ return this;
+ }
+
+ /**
+ * Get the edition property: Describes the edition of the license. The values are either Standard or Datacenter.
+ *
+ * @return the edition value.
+ */
+ public LicenseEdition edition() {
+ return this.innerLicenseDetails() == null ? null : this.innerLicenseDetails().edition();
+ }
+
+ /**
+ * Set the edition property: Describes the edition of the license. The values are either Standard or Datacenter.
+ *
+ * @param edition the edition value to set.
+ * @return the LicenseUpdateProperties object itself.
+ */
+ public LicenseUpdateProperties withEdition(LicenseEdition edition) {
+ if (this.innerLicenseDetails() == null) {
+ this.innerLicenseDetails = new LicenseUpdatePropertiesLicenseDetails();
+ }
+ this.innerLicenseDetails().withEdition(edition);
+ return this;
+ }
+
+ /**
+ * Get the type property: Describes the license core type (pCore or vCore).
+ *
+ * @return the type value.
+ */
+ public LicenseCoreType type() {
+ return this.innerLicenseDetails() == null ? null : this.innerLicenseDetails().type();
+ }
+
+ /**
+ * Set the type property: Describes the license core type (pCore or vCore).
+ *
+ * @param type the type value to set.
+ * @return the LicenseUpdateProperties object itself.
+ */
+ public LicenseUpdateProperties withType(LicenseCoreType type) {
+ if (this.innerLicenseDetails() == null) {
+ this.innerLicenseDetails = new LicenseUpdatePropertiesLicenseDetails();
+ }
+ this.innerLicenseDetails().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the processors property: Describes the number of processors.
+ *
+ * @return the processors value.
+ */
+ public Integer processors() {
+ return this.innerLicenseDetails() == null ? null : this.innerLicenseDetails().processors();
+ }
+
+ /**
+ * Set the processors property: Describes the number of processors.
+ *
+ * @param processors the processors value to set.
+ * @return the LicenseUpdateProperties object itself.
+ */
+ public LicenseUpdateProperties withProcessors(Integer processors) {
+ if (this.innerLicenseDetails() == null) {
+ this.innerLicenseDetails = new LicenseUpdatePropertiesLicenseDetails();
+ }
+ this.innerLicenseDetails().withProcessors(processors);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerLicenseDetails() != null) {
+ innerLicenseDetails().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseUpdatePropertiesLicenseDetails.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseUpdatePropertiesLicenseDetails.java
new file mode 100644
index 0000000000000..03b0ab0ed7825
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/LicenseUpdatePropertiesLicenseDetails.java
@@ -0,0 +1,158 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.LicenseCoreType;
+import com.azure.resourcemanager.hybridcompute.models.LicenseEdition;
+import com.azure.resourcemanager.hybridcompute.models.LicenseState;
+import com.azure.resourcemanager.hybridcompute.models.LicenseTarget;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The LicenseUpdatePropertiesLicenseDetails model. */
+@Fluent
+public final class LicenseUpdatePropertiesLicenseDetails {
+ /*
+ * Describes the state of the license.
+ */
+ @JsonProperty(value = "state")
+ private LicenseState state;
+
+ /*
+ * Describes the license target server.
+ */
+ @JsonProperty(value = "target")
+ private LicenseTarget target;
+
+ /*
+ * Describes the edition of the license. The values are either Standard or Datacenter.
+ */
+ @JsonProperty(value = "edition")
+ private LicenseEdition edition;
+
+ /*
+ * Describes the license core type (pCore or vCore).
+ */
+ @JsonProperty(value = "type")
+ private LicenseCoreType type;
+
+ /*
+ * Describes the number of processors.
+ */
+ @JsonProperty(value = "processors")
+ private Integer processors;
+
+ /** Creates an instance of LicenseUpdatePropertiesLicenseDetails class. */
+ public LicenseUpdatePropertiesLicenseDetails() {
+ }
+
+ /**
+ * Get the state property: Describes the state of the license.
+ *
+ * @return the state value.
+ */
+ public LicenseState state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: Describes the state of the license.
+ *
+ * @param state the state value to set.
+ * @return the LicenseUpdatePropertiesLicenseDetails object itself.
+ */
+ public LicenseUpdatePropertiesLicenseDetails withState(LicenseState state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the target property: Describes the license target server.
+ *
+ * @return the target value.
+ */
+ public LicenseTarget target() {
+ return this.target;
+ }
+
+ /**
+ * Set the target property: Describes the license target server.
+ *
+ * @param target the target value to set.
+ * @return the LicenseUpdatePropertiesLicenseDetails object itself.
+ */
+ public LicenseUpdatePropertiesLicenseDetails withTarget(LicenseTarget target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the edition property: Describes the edition of the license. The values are either Standard or Datacenter.
+ *
+ * @return the edition value.
+ */
+ public LicenseEdition edition() {
+ return this.edition;
+ }
+
+ /**
+ * Set the edition property: Describes the edition of the license. The values are either Standard or Datacenter.
+ *
+ * @param edition the edition value to set.
+ * @return the LicenseUpdatePropertiesLicenseDetails object itself.
+ */
+ public LicenseUpdatePropertiesLicenseDetails withEdition(LicenseEdition edition) {
+ this.edition = edition;
+ return this;
+ }
+
+ /**
+ * Get the type property: Describes the license core type (pCore or vCore).
+ *
+ * @return the type value.
+ */
+ public LicenseCoreType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: Describes the license core type (pCore or vCore).
+ *
+ * @param type the type value to set.
+ * @return the LicenseUpdatePropertiesLicenseDetails object itself.
+ */
+ public LicenseUpdatePropertiesLicenseDetails withType(LicenseCoreType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the processors property: Describes the number of processors.
+ *
+ * @return the processors value.
+ */
+ public Integer processors() {
+ return this.processors;
+ }
+
+ /**
+ * Set the processors property: Describes the number of processors.
+ *
+ * @param processors the processors value to set.
+ * @return the LicenseUpdatePropertiesLicenseDetails object itself.
+ */
+ public LicenseUpdatePropertiesLicenseDetails withProcessors(Integer processors) {
+ this.processors = processors;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineAssessPatchesResultInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineAssessPatchesResultInner.java
new file mode 100644
index 0000000000000..7b9d96ca3f069
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineAssessPatchesResultInner.java
@@ -0,0 +1,204 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.resourcemanager.hybridcompute.models.AvailablePatchCountByClassification;
+import com.azure.resourcemanager.hybridcompute.models.OsType;
+import com.azure.resourcemanager.hybridcompute.models.PatchOperationStartedBy;
+import com.azure.resourcemanager.hybridcompute.models.PatchOperationStatus;
+import com.azure.resourcemanager.hybridcompute.models.PatchServiceUsed;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Describes the properties of an AssessPatches result. */
+@Fluent
+public final class MachineAssessPatchesResultInner {
+ /*
+ * The overall success or failure status of the operation. It remains "InProgress" until the operation completes.
+ * At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings."
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private PatchOperationStatus status;
+
+ /*
+ * The activity ID of the operation that produced this result.
+ */
+ @JsonProperty(value = "assessmentActivityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String assessmentActivityId;
+
+ /*
+ * The overall reboot status of the VM. It will be true when partially installed patches require a reboot to
+ * complete installation but the reboot has not yet occurred.
+ */
+ @JsonProperty(value = "rebootPending", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean rebootPending;
+
+ /*
+ * Summarization of patches available for installation on the machine by classification.
+ */
+ @JsonProperty(value = "availablePatchCountByClassification")
+ private AvailablePatchCountByClassification availablePatchCountByClassification;
+
+ /*
+ * The UTC timestamp when the operation began.
+ */
+ @JsonProperty(value = "startDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime startDateTime;
+
+ /*
+ * The UTC timestamp when the operation finished.
+ */
+ @JsonProperty(value = "lastModifiedDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedDateTime;
+
+ /*
+ * Indicates if operation was triggered by user or by platform.
+ */
+ @JsonProperty(value = "startedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private PatchOperationStartedBy startedBy;
+
+ /*
+ * Specifies the patch service used for the operation.
+ */
+ @JsonProperty(value = "patchServiceUsed", access = JsonProperty.Access.WRITE_ONLY)
+ private PatchServiceUsed patchServiceUsed;
+
+ /*
+ * The operating system type of the machine.
+ */
+ @JsonProperty(value = "osType", access = JsonProperty.Access.WRITE_ONLY)
+ private OsType osType;
+
+ /*
+ * The errors that were encountered during execution of the operation. The details array contains the list of them.
+ */
+ @JsonProperty(value = "errorDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private ManagementError errorDetails;
+
+ /** Creates an instance of MachineAssessPatchesResultInner class. */
+ public MachineAssessPatchesResultInner() {
+ }
+
+ /**
+ * Get the status property: The overall success or failure status of the operation. It remains "InProgress" until
+ * the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or
+ * "CompletedWithWarnings.".
+ *
+ * @return the status value.
+ */
+ public PatchOperationStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the assessmentActivityId property: The activity ID of the operation that produced this result.
+ *
+ * @return the assessmentActivityId value.
+ */
+ public String assessmentActivityId() {
+ return this.assessmentActivityId;
+ }
+
+ /**
+ * Get the rebootPending property: The overall reboot status of the VM. It will be true when partially installed
+ * patches require a reboot to complete installation but the reboot has not yet occurred.
+ *
+ * @return the rebootPending value.
+ */
+ public Boolean rebootPending() {
+ return this.rebootPending;
+ }
+
+ /**
+ * Get the availablePatchCountByClassification property: Summarization of patches available for installation on the
+ * machine by classification.
+ *
+ * @return the availablePatchCountByClassification value.
+ */
+ public AvailablePatchCountByClassification availablePatchCountByClassification() {
+ return this.availablePatchCountByClassification;
+ }
+
+ /**
+ * Set the availablePatchCountByClassification property: Summarization of patches available for installation on the
+ * machine by classification.
+ *
+ * @param availablePatchCountByClassification the availablePatchCountByClassification value to set.
+ * @return the MachineAssessPatchesResultInner object itself.
+ */
+ public MachineAssessPatchesResultInner withAvailablePatchCountByClassification(
+ AvailablePatchCountByClassification availablePatchCountByClassification) {
+ this.availablePatchCountByClassification = availablePatchCountByClassification;
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: The UTC timestamp when the operation began.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.startDateTime;
+ }
+
+ /**
+ * Get the lastModifiedDateTime property: The UTC timestamp when the operation finished.
+ *
+ * @return the lastModifiedDateTime value.
+ */
+ public OffsetDateTime lastModifiedDateTime() {
+ return this.lastModifiedDateTime;
+ }
+
+ /**
+ * Get the startedBy property: Indicates if operation was triggered by user or by platform.
+ *
+ * @return the startedBy value.
+ */
+ public PatchOperationStartedBy startedBy() {
+ return this.startedBy;
+ }
+
+ /**
+ * Get the patchServiceUsed property: Specifies the patch service used for the operation.
+ *
+ * @return the patchServiceUsed value.
+ */
+ public PatchServiceUsed patchServiceUsed() {
+ return this.patchServiceUsed;
+ }
+
+ /**
+ * Get the osType property: The operating system type of the machine.
+ *
+ * @return the osType value.
+ */
+ public OsType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Get the errorDetails property: The errors that were encountered during execution of the operation. The details
+ * array contains the list of them.
+ *
+ * @return the errorDetails value.
+ */
+ public ManagementError errorDetails() {
+ return this.errorDetails;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (availablePatchCountByClassification() != null) {
+ availablePatchCountByClassification().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineExtensionInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineExtensionInner.java
index 1f893b5ee14f7..5501264ebd43f 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineExtensionInner.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineExtensionInner.java
@@ -21,7 +21,7 @@ public final class MachineExtensionInner extends Resource {
private MachineExtensionProperties properties;
/*
- * The system meta data relating to this resource.
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
@JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
private SystemData systemData;
@@ -51,7 +51,7 @@ public MachineExtensionInner withProperties(MachineExtensionProperties propertie
}
/**
- * Get the systemData property: The system meta data relating to this resource.
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineExtensionUpdateProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineExtensionUpdateProperties.java
similarity index 79%
rename from sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineExtensionUpdateProperties.java
rename to sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineExtensionUpdateProperties.java
index 113b394ab1288..18a4c376960b6 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineExtensionUpdateProperties.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineExtensionUpdateProperties.java
@@ -2,10 +2,12 @@
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
-package com.azure.resourcemanager.hybridcompute.models;
+package com.azure.resourcemanager.hybridcompute.fluent.models;
import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
/** Describes the properties of a Machine Extension. */
@Fluent
@@ -34,6 +36,13 @@ public final class MachineExtensionUpdateProperties {
@JsonProperty(value = "typeHandlerVersion")
private String typeHandlerVersion;
+ /*
+ * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version
+ * available.
+ */
+ @JsonProperty(value = "enableAutomaticUpgrade")
+ private Boolean enableAutomaticUpgrade;
+
/*
* Indicates whether the extension should use a newer minor version if one is available at deployment time. Once
* deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set
@@ -46,14 +55,16 @@ public final class MachineExtensionUpdateProperties {
* Json formatted public settings for the extension.
*/
@JsonProperty(value = "settings")
- private Object settings;
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map settings;
/*
* The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at
* all.
*/
@JsonProperty(value = "protectedSettings")
- private Object protectedSettings;
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map protectedSettings;
/** Creates an instance of MachineExtensionUpdateProperties class. */
public MachineExtensionUpdateProperties() {
@@ -141,6 +152,28 @@ public MachineExtensionUpdateProperties withTypeHandlerVersion(String typeHandle
return this;
}
+ /**
+ * Get the enableAutomaticUpgrade property: Indicates whether the extension should be automatically upgraded by the
+ * platform if there is a newer version available.
+ *
+ * @return the enableAutomaticUpgrade value.
+ */
+ public Boolean enableAutomaticUpgrade() {
+ return this.enableAutomaticUpgrade;
+ }
+
+ /**
+ * Set the enableAutomaticUpgrade property: Indicates whether the extension should be automatically upgraded by the
+ * platform if there is a newer version available.
+ *
+ * @param enableAutomaticUpgrade the enableAutomaticUpgrade value to set.
+ * @return the MachineExtensionUpdateProperties object itself.
+ */
+ public MachineExtensionUpdateProperties withEnableAutomaticUpgrade(Boolean enableAutomaticUpgrade) {
+ this.enableAutomaticUpgrade = enableAutomaticUpgrade;
+ return this;
+ }
+
/**
* Get the autoUpgradeMinorVersion property: Indicates whether the extension should use a newer minor version if one
* is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless
@@ -170,7 +203,7 @@ public MachineExtensionUpdateProperties withAutoUpgradeMinorVersion(Boolean auto
*
* @return the settings value.
*/
- public Object settings() {
+ public Map settings() {
return this.settings;
}
@@ -180,7 +213,7 @@ public Object settings() {
* @param settings the settings value to set.
* @return the MachineExtensionUpdateProperties object itself.
*/
- public MachineExtensionUpdateProperties withSettings(Object settings) {
+ public MachineExtensionUpdateProperties withSettings(Map settings) {
this.settings = settings;
return this;
}
@@ -191,7 +224,7 @@ public MachineExtensionUpdateProperties withSettings(Object settings) {
*
* @return the protectedSettings value.
*/
- public Object protectedSettings() {
+ public Map protectedSettings() {
return this.protectedSettings;
}
@@ -202,7 +235,7 @@ public Object protectedSettings() {
* @param protectedSettings the protectedSettings value to set.
* @return the MachineExtensionUpdateProperties object itself.
*/
- public MachineExtensionUpdateProperties withProtectedSettings(Object protectedSettings) {
+ public MachineExtensionUpdateProperties withProtectedSettings(Map protectedSettings) {
this.protectedSettings = protectedSettings;
return this;
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java
index c883d1849d630..bf64bc22079d5 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java
@@ -7,9 +7,20 @@
import com.azure.core.annotation.Fluent;
import com.azure.core.management.Resource;
import com.azure.core.management.SystemData;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.resourcemanager.hybridcompute.models.AgentConfiguration;
+import com.azure.resourcemanager.hybridcompute.models.AgentUpgrade;
+import com.azure.resourcemanager.hybridcompute.models.ArcKindEnum;
+import com.azure.resourcemanager.hybridcompute.models.CloudMetadata;
import com.azure.resourcemanager.hybridcompute.models.Identity;
-import com.azure.resourcemanager.hybridcompute.models.MachineProperties;
+import com.azure.resourcemanager.hybridcompute.models.LocationData;
+import com.azure.resourcemanager.hybridcompute.models.MachineExtensionInstanceView;
+import com.azure.resourcemanager.hybridcompute.models.OSProfile;
+import com.azure.resourcemanager.hybridcompute.models.ServiceStatuses;
+import com.azure.resourcemanager.hybridcompute.models.StatusTypes;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
import java.util.Map;
/** Describes a hybrid machine. */
@@ -19,7 +30,13 @@ public final class MachineInner extends Resource {
* Hybrid Compute Machine properties
*/
@JsonProperty(value = "properties")
- private MachineProperties properties;
+ private MachinePropertiesInner innerProperties;
+
+ /*
+ * The list of extensions affiliated to the machine
+ */
+ @JsonProperty(value = "resources", access = JsonProperty.Access.WRITE_ONLY)
+ private List resources;
/*
* Identity for the resource.
@@ -28,7 +45,13 @@ public final class MachineInner extends Resource {
private Identity identity;
/*
- * The system meta data relating to this resource.
+ * Indicates which kind of Arc machine placement on-premises, such as HCI, SCVMM or VMware etc.
+ */
+ @JsonProperty(value = "kind")
+ private ArcKindEnum kind;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
@JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
private SystemData systemData;
@@ -38,23 +61,21 @@ public MachineInner() {
}
/**
- * Get the properties property: Hybrid Compute Machine properties.
+ * Get the innerProperties property: Hybrid Compute Machine properties.
*
- * @return the properties value.
+ * @return the innerProperties value.
*/
- public MachineProperties properties() {
- return this.properties;
+ private MachinePropertiesInner innerProperties() {
+ return this.innerProperties;
}
/**
- * Set the properties property: Hybrid Compute Machine properties.
+ * Get the resources property: The list of extensions affiliated to the machine.
*
- * @param properties the properties value to set.
- * @return the MachineInner object itself.
+ * @return the resources value.
*/
- public MachineInner withProperties(MachineProperties properties) {
- this.properties = properties;
- return this;
+ public List resources() {
+ return this.resources;
}
/**
@@ -78,7 +99,29 @@ public MachineInner withIdentity(Identity identity) {
}
/**
- * Get the systemData property: The system meta data relating to this resource.
+ * Get the kind property: Indicates which kind of Arc machine placement on-premises, such as HCI, SCVMM or VMware
+ * etc.
+ *
+ * @return the kind value.
+ */
+ public ArcKindEnum kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the kind property: Indicates which kind of Arc machine placement on-premises, such as HCI, SCVMM or VMware
+ * etc.
+ *
+ * @param kind the kind value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withKind(ArcKindEnum kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
@@ -100,14 +143,476 @@ public MachineInner withTags(Map tags) {
return this;
}
+ /**
+ * Get the locationData property: Metadata pertaining to the geographic location of the resource.
+ *
+ * @return the locationData value.
+ */
+ public LocationData locationData() {
+ return this.innerProperties() == null ? null : this.innerProperties().locationData();
+ }
+
+ /**
+ * Set the locationData property: Metadata pertaining to the geographic location of the resource.
+ *
+ * @param locationData the locationData value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withLocationData(LocationData locationData) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withLocationData(locationData);
+ return this;
+ }
+
+ /**
+ * Get the agentConfiguration property: Configurable properties that the user can set locally via the azcmagent
+ * config command, or remotely via ARM.
+ *
+ * @return the agentConfiguration value.
+ */
+ public AgentConfiguration agentConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().agentConfiguration();
+ }
+
+ /**
+ * Get the serviceStatuses property: Statuses of dependent services that are reported back to ARM.
+ *
+ * @return the serviceStatuses value.
+ */
+ public ServiceStatuses serviceStatuses() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceStatuses();
+ }
+
+ /**
+ * Set the serviceStatuses property: Statuses of dependent services that are reported back to ARM.
+ *
+ * @param serviceStatuses the serviceStatuses value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withServiceStatuses(ServiceStatuses serviceStatuses) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withServiceStatuses(serviceStatuses);
+ return this;
+ }
+
+ /**
+ * Get the cloudMetadata property: The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ *
+ * @return the cloudMetadata value.
+ */
+ public CloudMetadata cloudMetadata() {
+ return this.innerProperties() == null ? null : this.innerProperties().cloudMetadata();
+ }
+
+ /**
+ * Set the cloudMetadata property: The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ *
+ * @param cloudMetadata the cloudMetadata value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withCloudMetadata(CloudMetadata cloudMetadata) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withCloudMetadata(cloudMetadata);
+ return this;
+ }
+
+ /**
+ * Get the agentUpgrade property: The info of the machine w.r.t Agent Upgrade.
+ *
+ * @return the agentUpgrade value.
+ */
+ public AgentUpgrade agentUpgrade() {
+ return this.innerProperties() == null ? null : this.innerProperties().agentUpgrade();
+ }
+
+ /**
+ * Set the agentUpgrade property: The info of the machine w.r.t Agent Upgrade.
+ *
+ * @param agentUpgrade the agentUpgrade value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withAgentUpgrade(AgentUpgrade agentUpgrade) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withAgentUpgrade(agentUpgrade);
+ return this;
+ }
+
+ /**
+ * Get the osProfile property: Specifies the operating system settings for the hybrid machine.
+ *
+ * @return the osProfile value.
+ */
+ public OSProfile osProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().osProfile();
+ }
+
+ /**
+ * Set the osProfile property: Specifies the operating system settings for the hybrid machine.
+ *
+ * @param osProfile the osProfile value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withOsProfile(OSProfile osProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withOsProfile(osProfile);
+ return this;
+ }
+
+ /**
+ * Get the licenseProfile property: Specifies the ESU related properties for a machine.
+ *
+ * @return the licenseProfile value.
+ */
+ public LicenseProfileMachineInstanceViewInner licenseProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().licenseProfile();
+ }
+
+ /**
+ * Set the licenseProfile property: Specifies the ESU related properties for a machine.
+ *
+ * @param licenseProfile the licenseProfile value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withLicenseProfile(LicenseProfileMachineInstanceViewInner licenseProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withLicenseProfile(licenseProfile);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the status property: The status of the hybrid machine agent.
+ *
+ * @return the status value.
+ */
+ public StatusTypes status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the lastStatusChange property: The time of the last status change.
+ *
+ * @return the lastStatusChange value.
+ */
+ public OffsetDateTime lastStatusChange() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastStatusChange();
+ }
+
+ /**
+ * Get the errorDetails property: Details about the error state.
+ *
+ * @return the errorDetails value.
+ */
+ public List errorDetails() {
+ return this.innerProperties() == null ? null : this.innerProperties().errorDetails();
+ }
+
+ /**
+ * Get the agentVersion property: The hybrid machine agent full version.
+ *
+ * @return the agentVersion value.
+ */
+ public String agentVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().agentVersion();
+ }
+
+ /**
+ * Get the vmId property: Specifies the hybrid machine unique ID.
+ *
+ * @return the vmId value.
+ */
+ public String vmId() {
+ return this.innerProperties() == null ? null : this.innerProperties().vmId();
+ }
+
+ /**
+ * Set the vmId property: Specifies the hybrid machine unique ID.
+ *
+ * @param vmId the vmId value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withVmId(String vmId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withVmId(vmId);
+ return this;
+ }
+
+ /**
+ * Get the displayName property: Specifies the hybrid machine display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Get the machineFqdn property: Specifies the hybrid machine FQDN.
+ *
+ * @return the machineFqdn value.
+ */
+ public String machineFqdn() {
+ return this.innerProperties() == null ? null : this.innerProperties().machineFqdn();
+ }
+
+ /**
+ * Get the clientPublicKey property: Public Key that the client provides to be used during initial resource
+ * onboarding.
+ *
+ * @return the clientPublicKey value.
+ */
+ public String clientPublicKey() {
+ return this.innerProperties() == null ? null : this.innerProperties().clientPublicKey();
+ }
+
+ /**
+ * Set the clientPublicKey property: Public Key that the client provides to be used during initial resource
+ * onboarding.
+ *
+ * @param clientPublicKey the clientPublicKey value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withClientPublicKey(String clientPublicKey) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withClientPublicKey(clientPublicKey);
+ return this;
+ }
+
+ /**
+ * Get the osName property: The Operating System running on the hybrid machine.
+ *
+ * @return the osName value.
+ */
+ public String osName() {
+ return this.innerProperties() == null ? null : this.innerProperties().osName();
+ }
+
+ /**
+ * Get the osVersion property: The version of Operating System running on the hybrid machine.
+ *
+ * @return the osVersion value.
+ */
+ public String osVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().osVersion();
+ }
+
+ /**
+ * Get the osType property: The type of Operating System (windows/linux).
+ *
+ * @return the osType value.
+ */
+ public String osType() {
+ return this.innerProperties() == null ? null : this.innerProperties().osType();
+ }
+
+ /**
+ * Set the osType property: The type of Operating System (windows/linux).
+ *
+ * @param osType the osType value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withOsType(String osType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withOsType(osType);
+ return this;
+ }
+
+ /**
+ * Get the vmUuid property: Specifies the Arc Machine's unique SMBIOS ID.
+ *
+ * @return the vmUuid value.
+ */
+ public String vmUuid() {
+ return this.innerProperties() == null ? null : this.innerProperties().vmUuid();
+ }
+
+ /**
+ * Get the extensions property: Machine Extensions information (deprecated field).
+ *
+ * @return the extensions value.
+ */
+ public List extensions() {
+ return this.innerProperties() == null ? null : this.innerProperties().extensions();
+ }
+
+ /**
+ * Set the extensions property: Machine Extensions information (deprecated field).
+ *
+ * @param extensions the extensions value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withExtensions(List extensions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withExtensions(extensions);
+ return this;
+ }
+
+ /**
+ * Get the osSku property: Specifies the Operating System product SKU.
+ *
+ * @return the osSku value.
+ */
+ public String osSku() {
+ return this.innerProperties() == null ? null : this.innerProperties().osSku();
+ }
+
+ /**
+ * Get the domainName property: Specifies the Windows domain name.
+ *
+ * @return the domainName value.
+ */
+ public String domainName() {
+ return this.innerProperties() == null ? null : this.innerProperties().domainName();
+ }
+
+ /**
+ * Get the adFqdn property: Specifies the AD fully qualified display name.
+ *
+ * @return the adFqdn value.
+ */
+ public String adFqdn() {
+ return this.innerProperties() == null ? null : this.innerProperties().adFqdn();
+ }
+
+ /**
+ * Get the dnsFqdn property: Specifies the DNS fully qualified display name.
+ *
+ * @return the dnsFqdn value.
+ */
+ public String dnsFqdn() {
+ return this.innerProperties() == null ? null : this.innerProperties().dnsFqdn();
+ }
+
+ /**
+ * Get the privateLinkScopeResourceId property: The resource id of the private link scope this machine is assigned
+ * to, if any.
+ *
+ * @return the privateLinkScopeResourceId value.
+ */
+ public String privateLinkScopeResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateLinkScopeResourceId();
+ }
+
+ /**
+ * Set the privateLinkScopeResourceId property: The resource id of the private link scope this machine is assigned
+ * to, if any.
+ *
+ * @param privateLinkScopeResourceId the privateLinkScopeResourceId value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withPrivateLinkScopeResourceId(String privateLinkScopeResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withPrivateLinkScopeResourceId(privateLinkScopeResourceId);
+ return this;
+ }
+
+ /**
+ * Get the parentClusterResourceId property: The resource id of the parent cluster (Azure HCI) this machine is
+ * assigned to, if any.
+ *
+ * @return the parentClusterResourceId value.
+ */
+ public String parentClusterResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().parentClusterResourceId();
+ }
+
+ /**
+ * Set the parentClusterResourceId property: The resource id of the parent cluster (Azure HCI) this machine is
+ * assigned to, if any.
+ *
+ * @param parentClusterResourceId the parentClusterResourceId value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withParentClusterResourceId(String parentClusterResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withParentClusterResourceId(parentClusterResourceId);
+ return this;
+ }
+
+ /**
+ * Get the mssqlDiscovered property: Specifies whether any MS SQL instance is discovered on the machine.
+ *
+ * @return the mssqlDiscovered value.
+ */
+ public String mssqlDiscovered() {
+ return this.innerProperties() == null ? null : this.innerProperties().mssqlDiscovered();
+ }
+
+ /**
+ * Set the mssqlDiscovered property: Specifies whether any MS SQL instance is discovered on the machine.
+ *
+ * @param mssqlDiscovered the mssqlDiscovered value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withMssqlDiscovered(String mssqlDiscovered) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachinePropertiesInner();
+ }
+ this.innerProperties().withMssqlDiscovered(mssqlDiscovered);
+ return this;
+ }
+
+ /**
+ * Get the detectedProperties property: Detected properties from the machine.
+ *
+ * @return the detectedProperties value.
+ */
+ public Map detectedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().detectedProperties();
+ }
+
+ /**
+ * Get the networkProfile property: Information about the network the machine is on.
+ *
+ * @return the networkProfile value.
+ */
+ public NetworkProfileInner networkProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkProfile();
+ }
+
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
- if (properties() != null) {
- properties().validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ if (resources() != null) {
+ resources().forEach(e -> e.validate());
}
if (identity() != null) {
identity().validate();
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInstallPatchesResultInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInstallPatchesResultInner.java
new file mode 100644
index 0000000000000..3c078ae9f8fe3
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInstallPatchesResultInner.java
@@ -0,0 +1,266 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.resourcemanager.hybridcompute.models.OsType;
+import com.azure.resourcemanager.hybridcompute.models.PatchOperationStartedBy;
+import com.azure.resourcemanager.hybridcompute.models.PatchOperationStatus;
+import com.azure.resourcemanager.hybridcompute.models.PatchServiceUsed;
+import com.azure.resourcemanager.hybridcompute.models.VMGuestPatchRebootStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** The result summary of an installation operation. */
+@Immutable
+public final class MachineInstallPatchesResultInner {
+ /*
+ * The overall success or failure status of the operation. It remains "InProgress" until the operation completes.
+ * At that point it will become "Failed", "Succeeded", "Unknown" or "CompletedWithWarnings."
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private PatchOperationStatus status;
+
+ /*
+ * The activity ID of the operation that produced this result.
+ */
+ @JsonProperty(value = "installationActivityId", access = JsonProperty.Access.WRITE_ONLY)
+ private String installationActivityId;
+
+ /*
+ * The reboot state of the VM following completion of the operation.
+ */
+ @JsonProperty(value = "rebootStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private VMGuestPatchRebootStatus rebootStatus;
+
+ /*
+ * Whether the operation ran out of time before it completed all its intended actions.
+ */
+ @JsonProperty(value = "maintenanceWindowExceeded", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean maintenanceWindowExceeded;
+
+ /*
+ * The number of patches that were not installed due to the user blocking their installation.
+ */
+ @JsonProperty(value = "excludedPatchCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer excludedPatchCount;
+
+ /*
+ * The number of patches that were detected as available for install, but did not meet the operation's criteria.
+ */
+ @JsonProperty(value = "notSelectedPatchCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer notSelectedPatchCount;
+
+ /*
+ * The number of patches that were identified as meeting the installation criteria, but were not able to be
+ * installed. Typically this happens when maintenanceWindowExceeded == true.
+ */
+ @JsonProperty(value = "pendingPatchCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer pendingPatchCount;
+
+ /*
+ * The number of patches successfully installed.
+ */
+ @JsonProperty(value = "installedPatchCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer installedPatchCount;
+
+ /*
+ * The number of patches that could not be installed due to some issue. See errors for details.
+ */
+ @JsonProperty(value = "failedPatchCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer failedPatchCount;
+
+ /*
+ * The UTC timestamp when the operation began.
+ */
+ @JsonProperty(value = "startDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime startDateTime;
+
+ /*
+ * The UTC timestamp when the operation finished.
+ */
+ @JsonProperty(value = "lastModifiedDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedDateTime;
+
+ /*
+ * Indicates if operation was triggered by user or by platform.
+ */
+ @JsonProperty(value = "startedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private PatchOperationStartedBy startedBy;
+
+ /*
+ * Specifies the patch service used for the operation.
+ */
+ @JsonProperty(value = "patchServiceUsed", access = JsonProperty.Access.WRITE_ONLY)
+ private PatchServiceUsed patchServiceUsed;
+
+ /*
+ * The operating system type of the machine.
+ */
+ @JsonProperty(value = "osType", access = JsonProperty.Access.WRITE_ONLY)
+ private OsType osType;
+
+ /*
+ * The errors that were encountered during execution of the operation. The details array contains the list of them.
+ */
+ @JsonProperty(value = "errorDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private ManagementError errorDetails;
+
+ /** Creates an instance of MachineInstallPatchesResultInner class. */
+ public MachineInstallPatchesResultInner() {
+ }
+
+ /**
+ * Get the status property: The overall success or failure status of the operation. It remains "InProgress" until
+ * the operation completes. At that point it will become "Failed", "Succeeded", "Unknown" or
+ * "CompletedWithWarnings.".
+ *
+ * @return the status value.
+ */
+ public PatchOperationStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the installationActivityId property: The activity ID of the operation that produced this result.
+ *
+ * @return the installationActivityId value.
+ */
+ public String installationActivityId() {
+ return this.installationActivityId;
+ }
+
+ /**
+ * Get the rebootStatus property: The reboot state of the VM following completion of the operation.
+ *
+ * @return the rebootStatus value.
+ */
+ public VMGuestPatchRebootStatus rebootStatus() {
+ return this.rebootStatus;
+ }
+
+ /**
+ * Get the maintenanceWindowExceeded property: Whether the operation ran out of time before it completed all its
+ * intended actions.
+ *
+ * @return the maintenanceWindowExceeded value.
+ */
+ public Boolean maintenanceWindowExceeded() {
+ return this.maintenanceWindowExceeded;
+ }
+
+ /**
+ * Get the excludedPatchCount property: The number of patches that were not installed due to the user blocking their
+ * installation.
+ *
+ * @return the excludedPatchCount value.
+ */
+ public Integer excludedPatchCount() {
+ return this.excludedPatchCount;
+ }
+
+ /**
+ * Get the notSelectedPatchCount property: The number of patches that were detected as available for install, but
+ * did not meet the operation's criteria.
+ *
+ * @return the notSelectedPatchCount value.
+ */
+ public Integer notSelectedPatchCount() {
+ return this.notSelectedPatchCount;
+ }
+
+ /**
+ * Get the pendingPatchCount property: The number of patches that were identified as meeting the installation
+ * criteria, but were not able to be installed. Typically this happens when maintenanceWindowExceeded == true.
+ *
+ * @return the pendingPatchCount value.
+ */
+ public Integer pendingPatchCount() {
+ return this.pendingPatchCount;
+ }
+
+ /**
+ * Get the installedPatchCount property: The number of patches successfully installed.
+ *
+ * @return the installedPatchCount value.
+ */
+ public Integer installedPatchCount() {
+ return this.installedPatchCount;
+ }
+
+ /**
+ * Get the failedPatchCount property: The number of patches that could not be installed due to some issue. See
+ * errors for details.
+ *
+ * @return the failedPatchCount value.
+ */
+ public Integer failedPatchCount() {
+ return this.failedPatchCount;
+ }
+
+ /**
+ * Get the startDateTime property: The UTC timestamp when the operation began.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.startDateTime;
+ }
+
+ /**
+ * Get the lastModifiedDateTime property: The UTC timestamp when the operation finished.
+ *
+ * @return the lastModifiedDateTime value.
+ */
+ public OffsetDateTime lastModifiedDateTime() {
+ return this.lastModifiedDateTime;
+ }
+
+ /**
+ * Get the startedBy property: Indicates if operation was triggered by user or by platform.
+ *
+ * @return the startedBy value.
+ */
+ public PatchOperationStartedBy startedBy() {
+ return this.startedBy;
+ }
+
+ /**
+ * Get the patchServiceUsed property: Specifies the patch service used for the operation.
+ *
+ * @return the patchServiceUsed value.
+ */
+ public PatchServiceUsed patchServiceUsed() {
+ return this.patchServiceUsed;
+ }
+
+ /**
+ * Get the osType property: The operating system type of the machine.
+ *
+ * @return the osType value.
+ */
+ public OsType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Get the errorDetails property: The errors that were encountered during execution of the operation. The details
+ * array contains the list of them.
+ *
+ * @return the errorDetails value.
+ */
+ public ManagementError errorDetails() {
+ return this.errorDetails;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachinePropertiesInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachinePropertiesInner.java
new file mode 100644
index 0000000000000..8dd8509eca755
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachinePropertiesInner.java
@@ -0,0 +1,665 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.resourcemanager.hybridcompute.models.AgentConfiguration;
+import com.azure.resourcemanager.hybridcompute.models.AgentUpgrade;
+import com.azure.resourcemanager.hybridcompute.models.CloudMetadata;
+import com.azure.resourcemanager.hybridcompute.models.LocationData;
+import com.azure.resourcemanager.hybridcompute.models.MachineExtensionInstanceView;
+import com.azure.resourcemanager.hybridcompute.models.OSProfile;
+import com.azure.resourcemanager.hybridcompute.models.ServiceStatuses;
+import com.azure.resourcemanager.hybridcompute.models.StatusTypes;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/** Describes the properties of a hybrid machine. */
+@Fluent
+public final class MachinePropertiesInner {
+ /*
+ * Metadata pertaining to the geographic location of the resource.
+ */
+ @JsonProperty(value = "locationData")
+ private LocationData locationData;
+
+ /*
+ * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM.
+ */
+ @JsonProperty(value = "agentConfiguration", access = JsonProperty.Access.WRITE_ONLY)
+ private AgentConfiguration agentConfiguration;
+
+ /*
+ * Statuses of dependent services that are reported back to ARM.
+ */
+ @JsonProperty(value = "serviceStatuses")
+ private ServiceStatuses serviceStatuses;
+
+ /*
+ * The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ */
+ @JsonProperty(value = "cloudMetadata")
+ private CloudMetadata cloudMetadata;
+
+ /*
+ * The info of the machine w.r.t Agent Upgrade
+ */
+ @JsonProperty(value = "agentUpgrade")
+ private AgentUpgrade agentUpgrade;
+
+ /*
+ * Specifies the operating system settings for the hybrid machine.
+ */
+ @JsonProperty(value = "osProfile")
+ private OSProfile osProfile;
+
+ /*
+ * Specifies the ESU related properties for a machine.
+ */
+ @JsonProperty(value = "licenseProfile")
+ private LicenseProfileMachineInstanceViewInner licenseProfile;
+
+ /*
+ * The provisioning state, which only appears in the response.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * The status of the hybrid machine agent.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private StatusTypes status;
+
+ /*
+ * The time of the last status change.
+ */
+ @JsonProperty(value = "lastStatusChange", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastStatusChange;
+
+ /*
+ * Details about the error state.
+ */
+ @JsonProperty(value = "errorDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private List errorDetails;
+
+ /*
+ * The hybrid machine agent full version.
+ */
+ @JsonProperty(value = "agentVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String agentVersion;
+
+ /*
+ * Specifies the hybrid machine unique ID.
+ */
+ @JsonProperty(value = "vmId")
+ private String vmId;
+
+ /*
+ * Specifies the hybrid machine display name.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /*
+ * Specifies the hybrid machine FQDN.
+ */
+ @JsonProperty(value = "machineFqdn", access = JsonProperty.Access.WRITE_ONLY)
+ private String machineFqdn;
+
+ /*
+ * Public Key that the client provides to be used during initial resource onboarding
+ */
+ @JsonProperty(value = "clientPublicKey")
+ private String clientPublicKey;
+
+ /*
+ * The Operating System running on the hybrid machine.
+ */
+ @JsonProperty(value = "osName", access = JsonProperty.Access.WRITE_ONLY)
+ private String osName;
+
+ /*
+ * The version of Operating System running on the hybrid machine.
+ */
+ @JsonProperty(value = "osVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String osVersion;
+
+ /*
+ * The type of Operating System (windows/linux).
+ */
+ @JsonProperty(value = "osType")
+ private String osType;
+
+ /*
+ * Specifies the Arc Machine's unique SMBIOS ID
+ */
+ @JsonProperty(value = "vmUuid", access = JsonProperty.Access.WRITE_ONLY)
+ private String vmUuid;
+
+ /*
+ * Machine Extensions information (deprecated field)
+ */
+ @JsonProperty(value = "extensions")
+ private List extensions;
+
+ /*
+ * Specifies the Operating System product SKU.
+ */
+ @JsonProperty(value = "osSku", access = JsonProperty.Access.WRITE_ONLY)
+ private String osSku;
+
+ /*
+ * Specifies the Windows domain name.
+ */
+ @JsonProperty(value = "domainName", access = JsonProperty.Access.WRITE_ONLY)
+ private String domainName;
+
+ /*
+ * Specifies the AD fully qualified display name.
+ */
+ @JsonProperty(value = "adFqdn", access = JsonProperty.Access.WRITE_ONLY)
+ private String adFqdn;
+
+ /*
+ * Specifies the DNS fully qualified display name.
+ */
+ @JsonProperty(value = "dnsFqdn", access = JsonProperty.Access.WRITE_ONLY)
+ private String dnsFqdn;
+
+ /*
+ * The resource id of the private link scope this machine is assigned to, if any.
+ */
+ @JsonProperty(value = "privateLinkScopeResourceId")
+ private String privateLinkScopeResourceId;
+
+ /*
+ * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any.
+ */
+ @JsonProperty(value = "parentClusterResourceId")
+ private String parentClusterResourceId;
+
+ /*
+ * Specifies whether any MS SQL instance is discovered on the machine.
+ */
+ @JsonProperty(value = "mssqlDiscovered")
+ private String mssqlDiscovered;
+
+ /*
+ * Detected properties from the machine.
+ */
+ @JsonProperty(value = "detectedProperties", access = JsonProperty.Access.WRITE_ONLY)
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map detectedProperties;
+
+ /*
+ * Information about the network the machine is on.
+ */
+ @JsonProperty(value = "networkProfile", access = JsonProperty.Access.WRITE_ONLY)
+ private NetworkProfileInner networkProfile;
+
+ /** Creates an instance of MachinePropertiesInner class. */
+ public MachinePropertiesInner() {
+ }
+
+ /**
+ * Get the locationData property: Metadata pertaining to the geographic location of the resource.
+ *
+ * @return the locationData value.
+ */
+ public LocationData locationData() {
+ return this.locationData;
+ }
+
+ /**
+ * Set the locationData property: Metadata pertaining to the geographic location of the resource.
+ *
+ * @param locationData the locationData value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withLocationData(LocationData locationData) {
+ this.locationData = locationData;
+ return this;
+ }
+
+ /**
+ * Get the agentConfiguration property: Configurable properties that the user can set locally via the azcmagent
+ * config command, or remotely via ARM.
+ *
+ * @return the agentConfiguration value.
+ */
+ public AgentConfiguration agentConfiguration() {
+ return this.agentConfiguration;
+ }
+
+ /**
+ * Get the serviceStatuses property: Statuses of dependent services that are reported back to ARM.
+ *
+ * @return the serviceStatuses value.
+ */
+ public ServiceStatuses serviceStatuses() {
+ return this.serviceStatuses;
+ }
+
+ /**
+ * Set the serviceStatuses property: Statuses of dependent services that are reported back to ARM.
+ *
+ * @param serviceStatuses the serviceStatuses value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withServiceStatuses(ServiceStatuses serviceStatuses) {
+ this.serviceStatuses = serviceStatuses;
+ return this;
+ }
+
+ /**
+ * Get the cloudMetadata property: The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ *
+ * @return the cloudMetadata value.
+ */
+ public CloudMetadata cloudMetadata() {
+ return this.cloudMetadata;
+ }
+
+ /**
+ * Set the cloudMetadata property: The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ *
+ * @param cloudMetadata the cloudMetadata value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withCloudMetadata(CloudMetadata cloudMetadata) {
+ this.cloudMetadata = cloudMetadata;
+ return this;
+ }
+
+ /**
+ * Get the agentUpgrade property: The info of the machine w.r.t Agent Upgrade.
+ *
+ * @return the agentUpgrade value.
+ */
+ public AgentUpgrade agentUpgrade() {
+ return this.agentUpgrade;
+ }
+
+ /**
+ * Set the agentUpgrade property: The info of the machine w.r.t Agent Upgrade.
+ *
+ * @param agentUpgrade the agentUpgrade value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withAgentUpgrade(AgentUpgrade agentUpgrade) {
+ this.agentUpgrade = agentUpgrade;
+ return this;
+ }
+
+ /**
+ * Get the osProfile property: Specifies the operating system settings for the hybrid machine.
+ *
+ * @return the osProfile value.
+ */
+ public OSProfile osProfile() {
+ return this.osProfile;
+ }
+
+ /**
+ * Set the osProfile property: Specifies the operating system settings for the hybrid machine.
+ *
+ * @param osProfile the osProfile value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withOsProfile(OSProfile osProfile) {
+ this.osProfile = osProfile;
+ return this;
+ }
+
+ /**
+ * Get the licenseProfile property: Specifies the ESU related properties for a machine.
+ *
+ * @return the licenseProfile value.
+ */
+ public LicenseProfileMachineInstanceViewInner licenseProfile() {
+ return this.licenseProfile;
+ }
+
+ /**
+ * Set the licenseProfile property: Specifies the ESU related properties for a machine.
+ *
+ * @param licenseProfile the licenseProfile value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withLicenseProfile(LicenseProfileMachineInstanceViewInner licenseProfile) {
+ this.licenseProfile = licenseProfile;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the status property: The status of the hybrid machine agent.
+ *
+ * @return the status value.
+ */
+ public StatusTypes status() {
+ return this.status;
+ }
+
+ /**
+ * Get the lastStatusChange property: The time of the last status change.
+ *
+ * @return the lastStatusChange value.
+ */
+ public OffsetDateTime lastStatusChange() {
+ return this.lastStatusChange;
+ }
+
+ /**
+ * Get the errorDetails property: Details about the error state.
+ *
+ * @return the errorDetails value.
+ */
+ public List errorDetails() {
+ return this.errorDetails;
+ }
+
+ /**
+ * Get the agentVersion property: The hybrid machine agent full version.
+ *
+ * @return the agentVersion value.
+ */
+ public String agentVersion() {
+ return this.agentVersion;
+ }
+
+ /**
+ * Get the vmId property: Specifies the hybrid machine unique ID.
+ *
+ * @return the vmId value.
+ */
+ public String vmId() {
+ return this.vmId;
+ }
+
+ /**
+ * Set the vmId property: Specifies the hybrid machine unique ID.
+ *
+ * @param vmId the vmId value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withVmId(String vmId) {
+ this.vmId = vmId;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: Specifies the hybrid machine display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get the machineFqdn property: Specifies the hybrid machine FQDN.
+ *
+ * @return the machineFqdn value.
+ */
+ public String machineFqdn() {
+ return this.machineFqdn;
+ }
+
+ /**
+ * Get the clientPublicKey property: Public Key that the client provides to be used during initial resource
+ * onboarding.
+ *
+ * @return the clientPublicKey value.
+ */
+ public String clientPublicKey() {
+ return this.clientPublicKey;
+ }
+
+ /**
+ * Set the clientPublicKey property: Public Key that the client provides to be used during initial resource
+ * onboarding.
+ *
+ * @param clientPublicKey the clientPublicKey value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withClientPublicKey(String clientPublicKey) {
+ this.clientPublicKey = clientPublicKey;
+ return this;
+ }
+
+ /**
+ * Get the osName property: The Operating System running on the hybrid machine.
+ *
+ * @return the osName value.
+ */
+ public String osName() {
+ return this.osName;
+ }
+
+ /**
+ * Get the osVersion property: The version of Operating System running on the hybrid machine.
+ *
+ * @return the osVersion value.
+ */
+ public String osVersion() {
+ return this.osVersion;
+ }
+
+ /**
+ * Get the osType property: The type of Operating System (windows/linux).
+ *
+ * @return the osType value.
+ */
+ public String osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the osType property: The type of Operating System (windows/linux).
+ *
+ * @param osType the osType value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withOsType(String osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the vmUuid property: Specifies the Arc Machine's unique SMBIOS ID.
+ *
+ * @return the vmUuid value.
+ */
+ public String vmUuid() {
+ return this.vmUuid;
+ }
+
+ /**
+ * Get the extensions property: Machine Extensions information (deprecated field).
+ *
+ * @return the extensions value.
+ */
+ public List extensions() {
+ return this.extensions;
+ }
+
+ /**
+ * Set the extensions property: Machine Extensions information (deprecated field).
+ *
+ * @param extensions the extensions value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withExtensions(List extensions) {
+ this.extensions = extensions;
+ return this;
+ }
+
+ /**
+ * Get the osSku property: Specifies the Operating System product SKU.
+ *
+ * @return the osSku value.
+ */
+ public String osSku() {
+ return this.osSku;
+ }
+
+ /**
+ * Get the domainName property: Specifies the Windows domain name.
+ *
+ * @return the domainName value.
+ */
+ public String domainName() {
+ return this.domainName;
+ }
+
+ /**
+ * Get the adFqdn property: Specifies the AD fully qualified display name.
+ *
+ * @return the adFqdn value.
+ */
+ public String adFqdn() {
+ return this.adFqdn;
+ }
+
+ /**
+ * Get the dnsFqdn property: Specifies the DNS fully qualified display name.
+ *
+ * @return the dnsFqdn value.
+ */
+ public String dnsFqdn() {
+ return this.dnsFqdn;
+ }
+
+ /**
+ * Get the privateLinkScopeResourceId property: The resource id of the private link scope this machine is assigned
+ * to, if any.
+ *
+ * @return the privateLinkScopeResourceId value.
+ */
+ public String privateLinkScopeResourceId() {
+ return this.privateLinkScopeResourceId;
+ }
+
+ /**
+ * Set the privateLinkScopeResourceId property: The resource id of the private link scope this machine is assigned
+ * to, if any.
+ *
+ * @param privateLinkScopeResourceId the privateLinkScopeResourceId value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withPrivateLinkScopeResourceId(String privateLinkScopeResourceId) {
+ this.privateLinkScopeResourceId = privateLinkScopeResourceId;
+ return this;
+ }
+
+ /**
+ * Get the parentClusterResourceId property: The resource id of the parent cluster (Azure HCI) this machine is
+ * assigned to, if any.
+ *
+ * @return the parentClusterResourceId value.
+ */
+ public String parentClusterResourceId() {
+ return this.parentClusterResourceId;
+ }
+
+ /**
+ * Set the parentClusterResourceId property: The resource id of the parent cluster (Azure HCI) this machine is
+ * assigned to, if any.
+ *
+ * @param parentClusterResourceId the parentClusterResourceId value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withParentClusterResourceId(String parentClusterResourceId) {
+ this.parentClusterResourceId = parentClusterResourceId;
+ return this;
+ }
+
+ /**
+ * Get the mssqlDiscovered property: Specifies whether any MS SQL instance is discovered on the machine.
+ *
+ * @return the mssqlDiscovered value.
+ */
+ public String mssqlDiscovered() {
+ return this.mssqlDiscovered;
+ }
+
+ /**
+ * Set the mssqlDiscovered property: Specifies whether any MS SQL instance is discovered on the machine.
+ *
+ * @param mssqlDiscovered the mssqlDiscovered value to set.
+ * @return the MachinePropertiesInner object itself.
+ */
+ public MachinePropertiesInner withMssqlDiscovered(String mssqlDiscovered) {
+ this.mssqlDiscovered = mssqlDiscovered;
+ return this;
+ }
+
+ /**
+ * Get the detectedProperties property: Detected properties from the machine.
+ *
+ * @return the detectedProperties value.
+ */
+ public Map detectedProperties() {
+ return this.detectedProperties;
+ }
+
+ /**
+ * Get the networkProfile property: Information about the network the machine is on.
+ *
+ * @return the networkProfile value.
+ */
+ public NetworkProfileInner networkProfile() {
+ return this.networkProfile;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (locationData() != null) {
+ locationData().validate();
+ }
+ if (agentConfiguration() != null) {
+ agentConfiguration().validate();
+ }
+ if (serviceStatuses() != null) {
+ serviceStatuses().validate();
+ }
+ if (cloudMetadata() != null) {
+ cloudMetadata().validate();
+ }
+ if (agentUpgrade() != null) {
+ agentUpgrade().validate();
+ }
+ if (osProfile() != null) {
+ osProfile().validate();
+ }
+ if (licenseProfile() != null) {
+ licenseProfile().validate();
+ }
+ if (extensions() != null) {
+ extensions().forEach(e -> e.validate());
+ }
+ if (networkProfile() != null) {
+ networkProfile().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineUpdateProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineUpdateProperties.java
similarity index 55%
rename from sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineUpdateProperties.java
rename to sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineUpdateProperties.java
index a1e9e601abf02..4ddd5a76ca2b0 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineUpdateProperties.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineUpdateProperties.java
@@ -2,9 +2,13 @@
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
-package com.azure.resourcemanager.hybridcompute.models;
+package com.azure.resourcemanager.hybridcompute.fluent.models;
import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.AgentUpgrade;
+import com.azure.resourcemanager.hybridcompute.models.CloudMetadata;
+import com.azure.resourcemanager.hybridcompute.models.LocationData;
+import com.azure.resourcemanager.hybridcompute.models.OSProfile;
import com.fasterxml.jackson.annotation.JsonProperty;
/** Describes the ARM updatable properties of a hybrid machine. */
@@ -16,6 +20,24 @@ public final class MachineUpdateProperties {
@JsonProperty(value = "locationData")
private LocationData locationData;
+ /*
+ * Specifies the operating system settings for the hybrid machine.
+ */
+ @JsonProperty(value = "osProfile")
+ private OSProfile osProfile;
+
+ /*
+ * The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ */
+ @JsonProperty(value = "cloudMetadata")
+ private CloudMetadata cloudMetadata;
+
+ /*
+ * The info of the machine w.r.t Agent Upgrade
+ */
+ @JsonProperty(value = "agentUpgrade")
+ private AgentUpgrade agentUpgrade;
+
/*
* The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any.
*/
@@ -52,6 +74,66 @@ public MachineUpdateProperties withLocationData(LocationData locationData) {
return this;
}
+ /**
+ * Get the osProfile property: Specifies the operating system settings for the hybrid machine.
+ *
+ * @return the osProfile value.
+ */
+ public OSProfile osProfile() {
+ return this.osProfile;
+ }
+
+ /**
+ * Set the osProfile property: Specifies the operating system settings for the hybrid machine.
+ *
+ * @param osProfile the osProfile value to set.
+ * @return the MachineUpdateProperties object itself.
+ */
+ public MachineUpdateProperties withOsProfile(OSProfile osProfile) {
+ this.osProfile = osProfile;
+ return this;
+ }
+
+ /**
+ * Get the cloudMetadata property: The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ *
+ * @return the cloudMetadata value.
+ */
+ public CloudMetadata cloudMetadata() {
+ return this.cloudMetadata;
+ }
+
+ /**
+ * Set the cloudMetadata property: The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
+ *
+ * @param cloudMetadata the cloudMetadata value to set.
+ * @return the MachineUpdateProperties object itself.
+ */
+ public MachineUpdateProperties withCloudMetadata(CloudMetadata cloudMetadata) {
+ this.cloudMetadata = cloudMetadata;
+ return this;
+ }
+
+ /**
+ * Get the agentUpgrade property: The info of the machine w.r.t Agent Upgrade.
+ *
+ * @return the agentUpgrade value.
+ */
+ public AgentUpgrade agentUpgrade() {
+ return this.agentUpgrade;
+ }
+
+ /**
+ * Set the agentUpgrade property: The info of the machine w.r.t Agent Upgrade.
+ *
+ * @param agentUpgrade the agentUpgrade value to set.
+ * @return the MachineUpdateProperties object itself.
+ */
+ public MachineUpdateProperties withAgentUpgrade(AgentUpgrade agentUpgrade) {
+ this.agentUpgrade = agentUpgrade;
+ return this;
+ }
+
/**
* Get the parentClusterResourceId property: The resource id of the parent cluster (Azure HCI) this machine is
* assigned to, if any.
@@ -105,5 +187,14 @@ public void validate() {
if (locationData() != null) {
locationData().validate();
}
+ if (osProfile() != null) {
+ osProfile().validate();
+ }
+ if (cloudMetadata() != null) {
+ cloudMetadata().validate();
+ }
+ if (agentUpgrade() != null) {
+ agentUpgrade().validate();
+ }
}
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/NetworkProfileInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/NetworkProfileInner.java
new file mode 100644
index 0000000000000..41cdc8378ef09
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/NetworkProfileInner.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.NetworkInterface;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Describes the network information on this machine. */
+@Fluent
+public final class NetworkProfileInner {
+ /*
+ * The list of network interfaces.
+ */
+ @JsonProperty(value = "networkInterfaces")
+ private List networkInterfaces;
+
+ /** Creates an instance of NetworkProfileInner class. */
+ public NetworkProfileInner() {
+ }
+
+ /**
+ * Get the networkInterfaces property: The list of network interfaces.
+ *
+ * @return the networkInterfaces value.
+ */
+ public List networkInterfaces() {
+ return this.networkInterfaces;
+ }
+
+ /**
+ * Set the networkInterfaces property: The list of network interfaces.
+ *
+ * @param networkInterfaces the networkInterfaces value to set.
+ * @return the NetworkProfileInner object itself.
+ */
+ public NetworkProfileInner withNetworkInterfaces(List networkInterfaces) {
+ this.networkInterfaces = networkInterfaces;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (networkInterfaces() != null) {
+ networkInterfaces().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/OperationValueInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/OperationValueInner.java
index 2f663ffbd5f3b..3db00f32a5f0c 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/OperationValueInner.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/OperationValueInner.java
@@ -29,6 +29,12 @@ public final class OperationValueInner {
@JsonProperty(value = "display")
private OperationValueDisplay display;
+ /*
+ * This property indicates if the operation is an action or a data action
+ */
+ @JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDataAction;
+
/** Creates an instance of OperationValueInner class. */
public OperationValueInner() {
}
@@ -71,6 +77,15 @@ public OperationValueInner withDisplay(OperationValueDisplay display) {
return this;
}
+ /**
+ * Get the isDataAction property: This property indicates if the operation is an action or a data action.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
/**
* Validates the instance.
*
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PatchSettings.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PatchSettings.java
new file mode 100644
index 0000000000000..d92448aa83ca9
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PatchSettings.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hybridcompute.models.AssessmentModeTypes;
+import com.azure.resourcemanager.hybridcompute.models.PatchModeTypes;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Specifies the patch settings. */
+@Fluent
+public final class PatchSettings {
+ /*
+ * Specifies the assessment mode.
+ */
+ @JsonProperty(value = "assessmentMode")
+ private AssessmentModeTypes assessmentMode;
+
+ /*
+ * Specifies the patch mode.
+ */
+ @JsonProperty(value = "patchMode")
+ private PatchModeTypes patchMode;
+
+ /** Creates an instance of PatchSettings class. */
+ public PatchSettings() {
+ }
+
+ /**
+ * Get the assessmentMode property: Specifies the assessment mode.
+ *
+ * @return the assessmentMode value.
+ */
+ public AssessmentModeTypes assessmentMode() {
+ return this.assessmentMode;
+ }
+
+ /**
+ * Set the assessmentMode property: Specifies the assessment mode.
+ *
+ * @param assessmentMode the assessmentMode value to set.
+ * @return the PatchSettings object itself.
+ */
+ public PatchSettings withAssessmentMode(AssessmentModeTypes assessmentMode) {
+ this.assessmentMode = assessmentMode;
+ return this;
+ }
+
+ /**
+ * Get the patchMode property: Specifies the patch mode.
+ *
+ * @return the patchMode value.
+ */
+ public PatchModeTypes patchMode() {
+ return this.patchMode;
+ }
+
+ /**
+ * Set the patchMode property: Specifies the patch mode.
+ *
+ * @param patchMode the patchMode value to set.
+ * @return the PatchSettings object itself.
+ */
+ public PatchSettings withPatchMode(PatchModeTypes patchMode) {
+ this.patchMode = patchMode;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateEndpointConnectionInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateEndpointConnectionInner.java
index 457a90a2c289a..be116f8d7c073 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateEndpointConnectionInner.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateEndpointConnectionInner.java
@@ -6,7 +6,6 @@
import com.azure.core.annotation.Fluent;
import com.azure.core.management.ProxyResource;
-import com.azure.core.management.SystemData;
import com.azure.resourcemanager.hybridcompute.models.PrivateEndpointConnectionProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -19,12 +18,6 @@ public final class PrivateEndpointConnectionInner extends ProxyResource {
@JsonProperty(value = "properties")
private PrivateEndpointConnectionProperties properties;
- /*
- * The system meta data relating to this resource.
- */
- @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
- private SystemData systemData;
-
/** Creates an instance of PrivateEndpointConnectionInner class. */
public PrivateEndpointConnectionInner() {
}
@@ -49,15 +42,6 @@ public PrivateEndpointConnectionInner withProperties(PrivateEndpointConnectionPr
return this;
}
- /**
- * Get the systemData property: The system meta data relating to this resource.
- *
- * @return the systemData value.
- */
- public SystemData systemData() {
- return this.systemData;
- }
-
/**
* Validates the instance.
*
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateLinkResourceInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateLinkResourceInner.java
index 6994d21ca666c..08eaf8dfc5091 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateLinkResourceInner.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/PrivateLinkResourceInner.java
@@ -6,7 +6,6 @@
import com.azure.core.annotation.Fluent;
import com.azure.core.management.ProxyResource;
-import com.azure.core.management.SystemData;
import com.azure.resourcemanager.hybridcompute.models.PrivateLinkResourceProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -19,12 +18,6 @@ public final class PrivateLinkResourceInner extends ProxyResource {
@JsonProperty(value = "properties")
private PrivateLinkResourceProperties properties;
- /*
- * The system meta data relating to this resource.
- */
- @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
- private SystemData systemData;
-
/** Creates an instance of PrivateLinkResourceInner class. */
public PrivateLinkResourceInner() {
}
@@ -49,15 +42,6 @@ public PrivateLinkResourceInner withProperties(PrivateLinkResourceProperties pro
return this;
}
- /**
- * Get the systemData property: The system meta data relating to this resource.
- *
- * @return the systemData value.
- */
- public SystemData systemData() {
- return this.systemData;
- }
-
/**
* Validates the instance.
*
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionImpl.java
new file mode 100644
index 0000000000000..3ba70efedbc48
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionImpl.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.resourcemanager.hybridcompute.fluent.models.AgentVersionInner;
+import com.azure.resourcemanager.hybridcompute.models.AgentVersion;
+
+public final class AgentVersionImpl implements AgentVersion {
+ private AgentVersionInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ AgentVersionImpl(
+ AgentVersionInner innerObject, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String agentVersion() {
+ return this.innerModel().agentVersion();
+ }
+
+ public String downloadLink() {
+ return this.innerModel().downloadLink();
+ }
+
+ public String osType() {
+ return this.innerModel().osType();
+ }
+
+ public AgentVersionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsClientImpl.java
new file mode 100644
index 0000000000000..b4d1153103033
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsClientImpl.java
@@ -0,0 +1,289 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+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.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.hybridcompute.fluent.AgentVersionsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.AgentVersionInner;
+import com.azure.resourcemanager.hybridcompute.fluent.models.AgentVersionsListInner;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AgentVersionsClient. */
+public final class AgentVersionsClientImpl implements AgentVersionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AgentVersionsService service;
+
+ /** The service client containing this operation class. */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AgentVersionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AgentVersionsClientImpl(HybridComputeManagementClientImpl client) {
+ this.service =
+ RestProxy.create(AgentVersionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientAgentVersions to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface AgentVersionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("osType") String osType,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/providers/Microsoft.HybridCompute/osType/{osType}/agentVersions/{version}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("osType") String osType,
+ @PathParam("version") String version,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets all Agent Versions along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @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 all Agent Versions along with the download link currently present along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listWithResponseAsync(String osType) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (osType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter osType is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service.list(this.client.getEndpoint(), this.client.getApiVersion(), osType, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets all Agent Versions along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @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 all Agent Versions along with the download link currently present along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listWithResponseAsync(String osType, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (osType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter osType is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.list(this.client.getEndpoint(), this.client.getApiVersion(), osType, accept, context);
+ }
+
+ /**
+ * Gets all Agent Versions along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @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 all Agent Versions along with the download link currently present on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono listAsync(String osType) {
+ return listWithResponseAsync(osType).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets all Agent Versions along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @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 all Agent Versions along with the download link currently present along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response listWithResponse(String osType, Context context) {
+ return listWithResponseAsync(osType, context).block();
+ }
+
+ /**
+ * Gets all Agent Versions along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @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 all Agent Versions along with the download link currently present.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentVersionsListInner list(String osType) {
+ return listWithResponse(osType, Context.NONE).getValue();
+ }
+
+ /**
+ * Gets an Agent Version along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @param version Defines the agent version. To get latest, use latest or else a specific agent version.
+ * @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 an Agent Version along with the download link currently present along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String osType, String version) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (osType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter osType is required and cannot be null."));
+ }
+ if (version == null) {
+ return Mono.error(new IllegalArgumentException("Parameter version is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(this.client.getEndpoint(), this.client.getApiVersion(), osType, version, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets an Agent Version along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @param version Defines the agent version. To get latest, use latest or else a specific agent version.
+ * @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 an Agent Version along with the download link currently present along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String osType, String version, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (osType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter osType is required and cannot be null."));
+ }
+ if (version == null) {
+ return Mono.error(new IllegalArgumentException("Parameter version is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getApiVersion(), osType, version, accept, context);
+ }
+
+ /**
+ * Gets an Agent Version along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @param version Defines the agent version. To get latest, use latest or else a specific agent version.
+ * @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 an Agent Version along with the download link currently present on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String osType, String version) {
+ return getWithResponseAsync(osType, version).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets an Agent Version along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @param version Defines the agent version. To get latest, use latest or else a specific agent version.
+ * @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 an Agent Version along with the download link currently present along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String osType, String version, Context context) {
+ return getWithResponseAsync(osType, version, context).block();
+ }
+
+ /**
+ * Gets an Agent Version along with the download link currently present.
+ *
+ * @param osType Defines the os type.
+ * @param version Defines the agent version. To get latest, use latest or else a specific agent version.
+ * @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 an Agent Version along with the download link currently present.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentVersionInner get(String osType, String version) {
+ return getWithResponse(osType, version, Context.NONE).getValue();
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsImpl.java
new file mode 100644
index 0000000000000..170e3ac0a3bce
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsImpl.java
@@ -0,0 +1,82 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.hybridcompute.fluent.AgentVersionsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.AgentVersionInner;
+import com.azure.resourcemanager.hybridcompute.fluent.models.AgentVersionsListInner;
+import com.azure.resourcemanager.hybridcompute.models.AgentVersion;
+import com.azure.resourcemanager.hybridcompute.models.AgentVersions;
+import com.azure.resourcemanager.hybridcompute.models.AgentVersionsList;
+
+public final class AgentVersionsImpl implements AgentVersions {
+ private static final ClientLogger LOGGER = new ClientLogger(AgentVersionsImpl.class);
+
+ private final AgentVersionsClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public AgentVersionsImpl(
+ AgentVersionsClient innerClient, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response listWithResponse(String osType, Context context) {
+ Response inner = this.serviceClient().listWithResponse(osType, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AgentVersionsListImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AgentVersionsList list(String osType) {
+ AgentVersionsListInner inner = this.serviceClient().list(osType);
+ if (inner != null) {
+ return new AgentVersionsListImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(String osType, String version, Context context) {
+ Response inner = this.serviceClient().getWithResponse(osType, version, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AgentVersionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AgentVersion get(String osType, String version) {
+ AgentVersionInner inner = this.serviceClient().get(osType, version);
+ if (inner != null) {
+ return new AgentVersionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private AgentVersionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsListImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsListImpl.java
new file mode 100644
index 0000000000000..1b39845dd757d
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/AgentVersionsListImpl.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.resourcemanager.hybridcompute.fluent.models.AgentVersionInner;
+import com.azure.resourcemanager.hybridcompute.fluent.models.AgentVersionsListInner;
+import com.azure.resourcemanager.hybridcompute.models.AgentVersion;
+import com.azure.resourcemanager.hybridcompute.models.AgentVersionsList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public final class AgentVersionsListImpl implements AgentVersionsList {
+ private AgentVersionsListInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ AgentVersionsListImpl(
+ AgentVersionsListInner innerObject,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public List value() {
+ List inner = this.innerModel().value();
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new AgentVersionImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public String nextLink() {
+ return this.innerModel().nextLink();
+ }
+
+ public AgentVersionsListInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionMetadatasClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionMetadatasClientImpl.java
new file mode 100644
index 0000000000000..72dd3859cc556
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionMetadatasClientImpl.java
@@ -0,0 +1,445 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+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.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.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+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.hybridcompute.fluent.ExtensionMetadatasClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.ExtensionValueInner;
+import com.azure.resourcemanager.hybridcompute.models.ExtensionValueListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ExtensionMetadatasClient. */
+public final class ExtensionMetadatasClientImpl implements ExtensionMetadatasClient {
+ /** The proxy service used to perform REST calls. */
+ private final ExtensionMetadatasService service;
+
+ /** The service client containing this operation class. */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ExtensionMetadatasClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ExtensionMetadatasClientImpl(HybridComputeManagementClientImpl client) {
+ this.service =
+ RestProxy.create(ExtensionMetadatasService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientExtensionMetadatas to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface ExtensionMetadatasService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location,
+ @PathParam("publisher") String publisher,
+ @PathParam("extensionType") String extensionType,
+ @PathParam("version") String version,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location,
+ @PathParam("publisher") String publisher,
+ @PathParam("extensionType") String extensionType,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets an Extension Metadata based on location, publisher, extensionType and version.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @param version The version of the Extension being received.
+ * @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 an Extension Metadata based on location, publisher, extensionType and version along with {@link Response}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String location, String publisher, String extensionType, String version) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (publisher == null) {
+ return Mono.error(new IllegalArgumentException("Parameter publisher is required and cannot be null."));
+ }
+ if (extensionType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionType is required and cannot be null."));
+ }
+ if (version == null) {
+ return Mono.error(new IllegalArgumentException("Parameter version is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ location,
+ publisher,
+ extensionType,
+ version,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets an Extension Metadata based on location, publisher, extensionType and version.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @param version The version of the Extension being received.
+ * @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 an Extension Metadata based on location, publisher, extensionType and version along with {@link Response}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String location, String publisher, String extensionType, String version, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (publisher == null) {
+ return Mono.error(new IllegalArgumentException("Parameter publisher is required and cannot be null."));
+ }
+ if (extensionType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionType is required and cannot be null."));
+ }
+ if (version == null) {
+ return Mono.error(new IllegalArgumentException("Parameter version is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ location,
+ publisher,
+ extensionType,
+ version,
+ accept,
+ context);
+ }
+
+ /**
+ * Gets an Extension Metadata based on location, publisher, extensionType and version.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @param version The version of the Extension being received.
+ * @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 an Extension Metadata based on location, publisher, extensionType and version on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String location, String publisher, String extensionType, String version) {
+ return getWithResponseAsync(location, publisher, extensionType, version)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets an Extension Metadata based on location, publisher, extensionType and version.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @param version The version of the Extension being received.
+ * @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 an Extension Metadata based on location, publisher, extensionType and version along with {@link
+ * Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String location, String publisher, String extensionType, String version, Context context) {
+ return getWithResponseAsync(location, publisher, extensionType, version, context).block();
+ }
+
+ /**
+ * Gets an Extension Metadata based on location, publisher, extensionType and version.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @param version The version of the Extension being received.
+ * @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 an Extension Metadata based on location, publisher, extensionType and version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExtensionValueInner get(String location, String publisher, String extensionType, String version) {
+ return getWithResponse(location, publisher, extensionType, version, Context.NONE).getValue();
+ }
+
+ /**
+ * Gets all Extension versions based on location, publisher, extensionType.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @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 all Extension versions based on location, publisher, extensionType along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String location, String publisher, String extensionType) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (publisher == null) {
+ return Mono.error(new IllegalArgumentException("Parameter publisher is required and cannot be null."));
+ }
+ if (extensionType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionType is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ location,
+ publisher,
+ extensionType,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets all Extension versions based on location, publisher, extensionType.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @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 all Extension versions based on location, publisher, extensionType along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String location, String publisher, String extensionType, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (publisher == null) {
+ return Mono.error(new IllegalArgumentException("Parameter publisher is required and cannot be null."));
+ }
+ if (extensionType == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionType is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ location,
+ publisher,
+ extensionType,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null));
+ }
+
+ /**
+ * Gets all Extension versions based on location, publisher, extensionType.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @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 all Extension versions based on location, publisher, extensionType as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String location, String publisher, String extensionType) {
+ return new PagedFlux<>(() -> listSinglePageAsync(location, publisher, extensionType));
+ }
+
+ /**
+ * Gets all Extension versions based on location, publisher, extensionType.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @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 all Extension versions based on location, publisher, extensionType as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String location, String publisher, String extensionType, Context context) {
+ return new PagedFlux<>(() -> listSinglePageAsync(location, publisher, extensionType, context));
+ }
+
+ /**
+ * Gets all Extension versions based on location, publisher, extensionType.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @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 all Extension versions based on location, publisher, extensionType as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String location, String publisher, String extensionType) {
+ return new PagedIterable<>(listAsync(location, publisher, extensionType));
+ }
+
+ /**
+ * Gets all Extension versions based on location, publisher, extensionType.
+ *
+ * @param location The location of the Extension being received.
+ * @param publisher The publisher of the Extension being received.
+ * @param extensionType The extensionType of the Extension being received.
+ * @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 all Extension versions based on location, publisher, extensionType as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String location, String publisher, String extensionType, Context context) {
+ return new PagedIterable<>(listAsync(location, publisher, extensionType, context));
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionMetadatasImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionMetadatasImpl.java
new file mode 100644
index 0000000000000..bbcaeb86922d2
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionMetadatasImpl.java
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+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.hybridcompute.fluent.ExtensionMetadatasClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.ExtensionValueInner;
+import com.azure.resourcemanager.hybridcompute.models.ExtensionMetadatas;
+import com.azure.resourcemanager.hybridcompute.models.ExtensionValue;
+
+public final class ExtensionMetadatasImpl implements ExtensionMetadatas {
+ private static final ClientLogger LOGGER = new ClientLogger(ExtensionMetadatasImpl.class);
+
+ private final ExtensionMetadatasClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public ExtensionMetadatasImpl(
+ ExtensionMetadatasClient innerClient,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(
+ String location, String publisher, String extensionType, String version, Context context) {
+ Response inner =
+ this.serviceClient().getWithResponse(location, publisher, extensionType, version, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new ExtensionValueImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public ExtensionValue get(String location, String publisher, String extensionType, String version) {
+ ExtensionValueInner inner = this.serviceClient().get(location, publisher, extensionType, version);
+ if (inner != null) {
+ return new ExtensionValueImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public PagedIterable list(String location, String publisher, String extensionType) {
+ PagedIterable inner = this.serviceClient().list(location, publisher, extensionType);
+ return Utils.mapPage(inner, inner1 -> new ExtensionValueImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(
+ String location, String publisher, String extensionType, Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(location, publisher, extensionType, context);
+ return Utils.mapPage(inner, inner1 -> new ExtensionValueImpl(inner1, this.manager()));
+ }
+
+ private ExtensionMetadatasClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionValueImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionValueImpl.java
new file mode 100644
index 0000000000000..a39bbab312c23
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ExtensionValueImpl.java
@@ -0,0 +1,57 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.hybridcompute.fluent.models.ExtensionValueInner;
+import com.azure.resourcemanager.hybridcompute.models.ExtensionValue;
+
+public final class ExtensionValueImpl implements ExtensionValue {
+ private ExtensionValueInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ ExtensionValueImpl(
+ ExtensionValueInner innerObject, com.azure.resourcemanager.hybridcompute.HybridComputeManager 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 SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String version() {
+ return this.innerModel().version();
+ }
+
+ public String extensionType() {
+ return this.innerModel().extensionType();
+ }
+
+ public String publisher() {
+ return this.innerModel().publisher();
+ }
+
+ public ExtensionValueInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientBuilder.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientBuilder.java
index b38ce59ecf9f9..8e5b40e2375c6 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientBuilder.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientBuilder.java
@@ -137,7 +137,7 @@ public HybridComputeManagementClientImpl buildClient() {
localSerializerAdapter,
localDefaultPollInterval,
localEnvironment,
- subscriptionId,
+ this.subscriptionId,
localEndpoint);
return client;
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java
index fac37bfdac2bc..46187e7c6ba0a 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java
@@ -22,13 +22,20 @@
import com.azure.core.util.polling.PollerFlux;
import com.azure.core.util.serializer.SerializerAdapter;
import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.hybridcompute.fluent.AgentVersionsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.ExtensionMetadatasClient;
import com.azure.resourcemanager.hybridcompute.fluent.HybridComputeManagementClient;
+import com.azure.resourcemanager.hybridcompute.fluent.HybridIdentityMetadatasClient;
+import com.azure.resourcemanager.hybridcompute.fluent.LicenseProfilesClient;
+import com.azure.resourcemanager.hybridcompute.fluent.LicensesClient;
import com.azure.resourcemanager.hybridcompute.fluent.MachineExtensionsClient;
import com.azure.resourcemanager.hybridcompute.fluent.MachinesClient;
+import com.azure.resourcemanager.hybridcompute.fluent.NetworkProfilesClient;
import com.azure.resourcemanager.hybridcompute.fluent.OperationsClient;
import com.azure.resourcemanager.hybridcompute.fluent.PrivateEndpointConnectionsClient;
import com.azure.resourcemanager.hybridcompute.fluent.PrivateLinkResourcesClient;
import com.azure.resourcemanager.hybridcompute.fluent.PrivateLinkScopesClient;
+import com.azure.resourcemanager.hybridcompute.fluent.ResourceProvidersClient;
import java.io.IOException;
import java.lang.reflect.Type;
import java.nio.ByteBuffer;
@@ -113,6 +120,18 @@ public Duration getDefaultPollInterval() {
return this.defaultPollInterval;
}
+ /** The LicensesClient object to access its operations. */
+ private final LicensesClient licenses;
+
+ /**
+ * Gets the LicensesClient object to access its operations.
+ *
+ * @return the LicensesClient object.
+ */
+ public LicensesClient getLicenses() {
+ return this.licenses;
+ }
+
/** The MachinesClient object to access its operations. */
private final MachinesClient machines;
@@ -125,6 +144,18 @@ public MachinesClient getMachines() {
return this.machines;
}
+ /** The LicenseProfilesClient object to access its operations. */
+ private final LicenseProfilesClient licenseProfiles;
+
+ /**
+ * Gets the LicenseProfilesClient object to access its operations.
+ *
+ * @return the LicenseProfilesClient object.
+ */
+ public LicenseProfilesClient getLicenseProfiles() {
+ return this.licenseProfiles;
+ }
+
/** The MachineExtensionsClient object to access its operations. */
private final MachineExtensionsClient machineExtensions;
@@ -137,6 +168,30 @@ public MachineExtensionsClient getMachineExtensions() {
return this.machineExtensions;
}
+ /** The ResourceProvidersClient object to access its operations. */
+ private final ResourceProvidersClient resourceProviders;
+
+ /**
+ * Gets the ResourceProvidersClient object to access its operations.
+ *
+ * @return the ResourceProvidersClient object.
+ */
+ public ResourceProvidersClient getResourceProviders() {
+ return this.resourceProviders;
+ }
+
+ /** The ExtensionMetadatasClient object to access its operations. */
+ private final ExtensionMetadatasClient extensionMetadatas;
+
+ /**
+ * Gets the ExtensionMetadatasClient object to access its operations.
+ *
+ * @return the ExtensionMetadatasClient object.
+ */
+ public ExtensionMetadatasClient getExtensionMetadatas() {
+ return this.extensionMetadatas;
+ }
+
/** The OperationsClient object to access its operations. */
private final OperationsClient operations;
@@ -149,6 +204,42 @@ public OperationsClient getOperations() {
return this.operations;
}
+ /** The NetworkProfilesClient object to access its operations. */
+ private final NetworkProfilesClient networkProfiles;
+
+ /**
+ * Gets the NetworkProfilesClient object to access its operations.
+ *
+ * @return the NetworkProfilesClient object.
+ */
+ public NetworkProfilesClient getNetworkProfiles() {
+ return this.networkProfiles;
+ }
+
+ /** The HybridIdentityMetadatasClient object to access its operations. */
+ private final HybridIdentityMetadatasClient hybridIdentityMetadatas;
+
+ /**
+ * Gets the HybridIdentityMetadatasClient object to access its operations.
+ *
+ * @return the HybridIdentityMetadatasClient object.
+ */
+ public HybridIdentityMetadatasClient getHybridIdentityMetadatas() {
+ return this.hybridIdentityMetadatas;
+ }
+
+ /** The AgentVersionsClient object to access its operations. */
+ private final AgentVersionsClient agentVersions;
+
+ /**
+ * Gets the AgentVersionsClient object to access its operations.
+ *
+ * @return the AgentVersionsClient object.
+ */
+ public AgentVersionsClient getAgentVersions() {
+ return this.agentVersions;
+ }
+
/** The PrivateLinkScopesClient object to access its operations. */
private final PrivateLinkScopesClient privateLinkScopes;
@@ -207,10 +298,17 @@ public PrivateEndpointConnectionsClient getPrivateEndpointConnections() {
this.defaultPollInterval = defaultPollInterval;
this.subscriptionId = subscriptionId;
this.endpoint = endpoint;
- this.apiVersion = "2021-03-25-preview";
+ this.apiVersion = "2023-06-20-preview";
+ this.licenses = new LicensesClientImpl(this);
this.machines = new MachinesClientImpl(this);
+ this.licenseProfiles = new LicenseProfilesClientImpl(this);
this.machineExtensions = new MachineExtensionsClientImpl(this);
+ this.resourceProviders = new ResourceProvidersClientImpl(this);
+ this.extensionMetadatas = new ExtensionMetadatasClientImpl(this);
this.operations = new OperationsClientImpl(this);
+ this.networkProfiles = new NetworkProfilesClientImpl(this);
+ this.hybridIdentityMetadatas = new HybridIdentityMetadatasClientImpl(this);
+ this.agentVersions = new AgentVersionsClientImpl(this);
this.privateLinkScopes = new PrivateLinkScopesClientImpl(this);
this.privateLinkResources = new PrivateLinkResourcesClientImpl(this);
this.privateEndpointConnections = new PrivateEndpointConnectionsClientImpl(this);
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadataImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadataImpl.java
new file mode 100644
index 0000000000000..0dedf3a361406
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadataImpl.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.resourcemanager.hybridcompute.fluent.models.HybridIdentityMetadataInner;
+import com.azure.resourcemanager.hybridcompute.models.HybridIdentityMetadata;
+import com.azure.resourcemanager.hybridcompute.models.Identity;
+
+public final class HybridIdentityMetadataImpl implements HybridIdentityMetadata {
+ private HybridIdentityMetadataInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ HybridIdentityMetadataImpl(
+ HybridIdentityMetadataInner innerObject,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager 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 String vmId() {
+ return this.innerModel().vmId();
+ }
+
+ public String publicKey() {
+ return this.innerModel().publicKey();
+ }
+
+ public Identity identity() {
+ return this.innerModel().identity();
+ }
+
+ public HybridIdentityMetadataInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadatasClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadatasClientImpl.java
new file mode 100644
index 0000000000000..912f01bdd74af
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadatasClientImpl.java
@@ -0,0 +1,531 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+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.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.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+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.hybridcompute.fluent.HybridIdentityMetadatasClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.HybridIdentityMetadataInner;
+import com.azure.resourcemanager.hybridcompute.models.HybridIdentityMetadataList;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in HybridIdentityMetadatasClient. */
+public final class HybridIdentityMetadatasClientImpl implements HybridIdentityMetadatasClient {
+ /** The proxy service used to perform REST calls. */
+ private final HybridIdentityMetadatasService service;
+
+ /** The service client containing this operation class. */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of HybridIdentityMetadatasClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ HybridIdentityMetadatasClientImpl(HybridComputeManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(HybridIdentityMetadatasService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientHybridIdentityMetadatas to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface HybridIdentityMetadatasService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata/{metadataName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @PathParam("metadataName") String metadataName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/hybridIdentityMetadata")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByMachines(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByMachinesNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets HybridIdentityMetadata.
+ *
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @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 defines the HybridIdentityMetadata along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String machineName, String metadataName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (metadataName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter metadataName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ metadataName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets HybridIdentityMetadata.
+ *
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @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 defines the HybridIdentityMetadata along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String machineName, String metadataName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (metadataName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter metadataName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ metadataName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets HybridIdentityMetadata.
+ *
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @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 defines the HybridIdentityMetadata on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName, String machineName, String metadataName) {
+ return getWithResponseAsync(resourceGroupName, machineName, metadataName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets HybridIdentityMetadata.
+ *
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @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 defines the HybridIdentityMetadata along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName, String machineName, String metadataName, Context context) {
+ return getWithResponseAsync(resourceGroupName, machineName, metadataName, context).block();
+ }
+
+ /**
+ * Gets HybridIdentityMetadata.
+ *
+ * Implements HybridIdentityMetadata GET method.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param metadataName Name of the HybridIdentityMetadata.
+ * @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 defines the HybridIdentityMetadata.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HybridIdentityMetadataInner get(String resourceGroupName, String machineName, String metadataName) {
+ return getWithResponse(resourceGroupName, machineName, metadataName, Context.NONE).getValue();
+ }
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ *
Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByMachinesSinglePageAsync(
+ String resourceGroupName, String machineName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByMachines(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ * Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByMachinesSinglePageAsync(
+ String resourceGroupName, String machineName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByMachines(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ * Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByMachinesAsync(String resourceGroupName, String machineName) {
+ return new PagedFlux<>(
+ () -> listByMachinesSinglePageAsync(resourceGroupName, machineName),
+ nextLink -> listByMachinesNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ * Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByMachinesAsync(
+ String resourceGroupName, String machineName, Context context) {
+ return new PagedFlux<>(
+ () -> listByMachinesSinglePageAsync(resourceGroupName, machineName, context),
+ nextLink -> listByMachinesNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ * Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByMachines(String resourceGroupName, String machineName) {
+ return new PagedIterable<>(listByMachinesAsync(resourceGroupName, machineName));
+ }
+
+ /**
+ * Implements GET HybridIdentityMetadata in a machine.
+ *
+ * Returns the list of HybridIdentityMetadata of the given machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 list of HybridIdentityMetadata as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByMachines(
+ String resourceGroupName, String machineName, Context context) {
+ return new PagedIterable<>(listByMachinesAsync(resourceGroupName, machineName, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @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 list of HybridIdentityMetadata along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByMachinesNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByMachinesNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @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 list of HybridIdentityMetadata along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByMachinesNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByMachinesNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadatasImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadatasImpl.java
new file mode 100644
index 0000000000000..8a63fea6a8fa7
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridIdentityMetadatasImpl.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+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.hybridcompute.fluent.HybridIdentityMetadatasClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.HybridIdentityMetadataInner;
+import com.azure.resourcemanager.hybridcompute.models.HybridIdentityMetadata;
+import com.azure.resourcemanager.hybridcompute.models.HybridIdentityMetadatas;
+
+public final class HybridIdentityMetadatasImpl implements HybridIdentityMetadatas {
+ private static final ClientLogger LOGGER = new ClientLogger(HybridIdentityMetadatasImpl.class);
+
+ private final HybridIdentityMetadatasClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public HybridIdentityMetadatasImpl(
+ HybridIdentityMetadatasClient innerClient,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName, String machineName, String metadataName, Context context) {
+ Response inner =
+ this.serviceClient().getWithResponse(resourceGroupName, machineName, metadataName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new HybridIdentityMetadataImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public HybridIdentityMetadata get(String resourceGroupName, String machineName, String metadataName) {
+ HybridIdentityMetadataInner inner = this.serviceClient().get(resourceGroupName, machineName, metadataName);
+ if (inner != null) {
+ return new HybridIdentityMetadataImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public PagedIterable listByMachines(String resourceGroupName, String machineName) {
+ PagedIterable inner =
+ this.serviceClient().listByMachines(resourceGroupName, machineName);
+ return Utils.mapPage(inner, inner1 -> new HybridIdentityMetadataImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByMachines(
+ String resourceGroupName, String machineName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().listByMachines(resourceGroupName, machineName, context);
+ return Utils.mapPage(inner, inner1 -> new HybridIdentityMetadataImpl(inner1, this.manager()));
+ }
+
+ private HybridIdentityMetadatasClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseImpl.java
new file mode 100644
index 0000000000000..2777a40782913
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseImpl.java
@@ -0,0 +1,246 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseInner;
+import com.azure.resourcemanager.hybridcompute.models.License;
+import com.azure.resourcemanager.hybridcompute.models.LicenseCoreType;
+import com.azure.resourcemanager.hybridcompute.models.LicenseDetails;
+import com.azure.resourcemanager.hybridcompute.models.LicenseEdition;
+import com.azure.resourcemanager.hybridcompute.models.LicenseState;
+import com.azure.resourcemanager.hybridcompute.models.LicenseTarget;
+import com.azure.resourcemanager.hybridcompute.models.LicenseType;
+import com.azure.resourcemanager.hybridcompute.models.LicenseUpdate;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import java.util.Collections;
+import java.util.Map;
+
+public final class LicenseImpl implements License, License.Definition, License.Update {
+ private LicenseInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public String tenantId() {
+ return this.innerModel().tenantId();
+ }
+
+ public LicenseType licenseType() {
+ return this.innerModel().licenseType();
+ }
+
+ public LicenseDetails licenseDetails() {
+ return this.innerModel().licenseDetails();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public LicenseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String licenseName;
+
+ private LicenseUpdate updateParameters;
+
+ public LicenseImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public License create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenses()
+ .createOrUpdate(resourceGroupName, licenseName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public License create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenses()
+ .createOrUpdate(resourceGroupName, licenseName, this.innerModel(), context);
+ return this;
+ }
+
+ LicenseImpl(String name, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = new LicenseInner();
+ this.serviceManager = serviceManager;
+ this.licenseName = name;
+ }
+
+ public LicenseImpl update() {
+ this.updateParameters = new LicenseUpdate();
+ return this;
+ }
+
+ public License apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenses()
+ .update(resourceGroupName, licenseName, updateParameters, Context.NONE);
+ return this;
+ }
+
+ public License apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenses()
+ .update(resourceGroupName, licenseName, updateParameters, context);
+ return this;
+ }
+
+ LicenseImpl(LicenseInner innerObject, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.licenseName = Utils.getValueFromIdByName(innerObject.id(), "licenses");
+ }
+
+ public License refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenses()
+ .getByResourceGroupWithResponse(resourceGroupName, licenseName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public License refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenses()
+ .getByResourceGroupWithResponse(resourceGroupName, licenseName, context)
+ .getValue();
+ return this;
+ }
+
+ public LicenseImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public LicenseImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public LicenseImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateParameters.withTags(tags);
+ return this;
+ }
+ }
+
+ public LicenseImpl withTenantId(String tenantId) {
+ this.innerModel().withTenantId(tenantId);
+ return this;
+ }
+
+ public LicenseImpl withLicenseType(LicenseType licenseType) {
+ if (isInCreateMode()) {
+ this.innerModel().withLicenseType(licenseType);
+ return this;
+ } else {
+ this.updateParameters.withLicenseType(licenseType);
+ return this;
+ }
+ }
+
+ public LicenseImpl withLicenseDetails(LicenseDetails licenseDetails) {
+ this.innerModel().withLicenseDetails(licenseDetails);
+ return this;
+ }
+
+ public LicenseImpl withState(LicenseState state) {
+ this.updateParameters.withState(state);
+ return this;
+ }
+
+ public LicenseImpl withTarget(LicenseTarget target) {
+ this.updateParameters.withTarget(target);
+ return this;
+ }
+
+ public LicenseImpl withEdition(LicenseEdition edition) {
+ this.updateParameters.withEdition(edition);
+ return this;
+ }
+
+ public LicenseImpl withType(LicenseCoreType type) {
+ this.updateParameters.withType(type);
+ return this;
+ }
+
+ public LicenseImpl withProcessors(Integer processors) {
+ this.updateParameters.withProcessors(processors);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileImpl.java
new file mode 100644
index 0000000000000..1e6d8c83034a1
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileImpl.java
@@ -0,0 +1,228 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseProfileInner;
+import com.azure.resourcemanager.hybridcompute.models.EsuEligibility;
+import com.azure.resourcemanager.hybridcompute.models.EsuKey;
+import com.azure.resourcemanager.hybridcompute.models.EsuKeyState;
+import com.azure.resourcemanager.hybridcompute.models.EsuServerType;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfile;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileUpdate;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class LicenseProfileImpl implements LicenseProfile, LicenseProfile.Definition, LicenseProfile.Update {
+ private LicenseProfileInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public String assignedLicense() {
+ return this.innerModel().assignedLicense();
+ }
+
+ public EsuServerType serverType() {
+ return this.innerModel().serverType();
+ }
+
+ public EsuEligibility esuEligibility() {
+ return this.innerModel().esuEligibility();
+ }
+
+ public EsuKeyState esuKeyState() {
+ return this.innerModel().esuKeyState();
+ }
+
+ public String assignedLicenseImmutableId() {
+ return this.innerModel().assignedLicenseImmutableId();
+ }
+
+ public List esuKeys() {
+ List inner = this.innerModel().esuKeys();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public LicenseProfileInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String machineName;
+
+ private LicenseProfileUpdate updateParameters;
+
+ public LicenseProfileImpl withExistingMachine(String resourceGroupName, String machineName) {
+ this.resourceGroupName = resourceGroupName;
+ this.machineName = machineName;
+ return this;
+ }
+
+ public LicenseProfile create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenseProfiles()
+ .createOrUpdate(resourceGroupName, machineName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public LicenseProfile create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenseProfiles()
+ .createOrUpdate(resourceGroupName, machineName, this.innerModel(), context);
+ return this;
+ }
+
+ LicenseProfileImpl(com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = new LicenseProfileInner();
+ this.serviceManager = serviceManager;
+ }
+
+ public LicenseProfileImpl update() {
+ this.updateParameters = new LicenseProfileUpdate();
+ return this;
+ }
+
+ public LicenseProfile apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenseProfiles()
+ .update(resourceGroupName, machineName, updateParameters, Context.NONE);
+ return this;
+ }
+
+ public LicenseProfile apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenseProfiles()
+ .update(resourceGroupName, machineName, updateParameters, context);
+ return this;
+ }
+
+ LicenseProfileImpl(
+ LicenseProfileInner innerObject, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.machineName = Utils.getValueFromIdByName(innerObject.id(), "machines");
+ }
+
+ public LicenseProfile refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenseProfiles()
+ .getWithResponse(resourceGroupName, machineName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public LicenseProfile refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getLicenseProfiles()
+ .getWithResponse(resourceGroupName, machineName, context)
+ .getValue();
+ return this;
+ }
+
+ public LicenseProfileImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public LicenseProfileImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public LicenseProfileImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateParameters.withTags(tags);
+ return this;
+ }
+ }
+
+ public LicenseProfileImpl withAssignedLicense(String assignedLicense) {
+ if (isInCreateMode()) {
+ this.innerModel().withAssignedLicense(assignedLicense);
+ return this;
+ } else {
+ this.updateParameters.withAssignedLicense(assignedLicense);
+ return this;
+ }
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileMachineInstanceViewEsuPropertiesImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileMachineInstanceViewEsuPropertiesImpl.java
new file mode 100644
index 0000000000000..dcde12fc19c38
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileMachineInstanceViewEsuPropertiesImpl.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseInner;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseProfileMachineInstanceViewEsuPropertiesInner;
+import com.azure.resourcemanager.hybridcompute.models.EsuEligibility;
+import com.azure.resourcemanager.hybridcompute.models.EsuKey;
+import com.azure.resourcemanager.hybridcompute.models.EsuKeyState;
+import com.azure.resourcemanager.hybridcompute.models.EsuServerType;
+import com.azure.resourcemanager.hybridcompute.models.License;
+import com.azure.resourcemanager.hybridcompute.models.LicenseAssignmentState;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileMachineInstanceViewEsuProperties;
+import java.util.Collections;
+import java.util.List;
+
+public final class LicenseProfileMachineInstanceViewEsuPropertiesImpl
+ implements LicenseProfileMachineInstanceViewEsuProperties {
+ private LicenseProfileMachineInstanceViewEsuPropertiesInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ LicenseProfileMachineInstanceViewEsuPropertiesImpl(
+ LicenseProfileMachineInstanceViewEsuPropertiesInner innerObject,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String assignedLicenseImmutableId() {
+ return this.innerModel().assignedLicenseImmutableId();
+ }
+
+ public List esuKeys() {
+ List inner = this.innerModel().esuKeys();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public EsuServerType serverType() {
+ return this.innerModel().serverType();
+ }
+
+ public EsuEligibility esuEligibility() {
+ return this.innerModel().esuEligibility();
+ }
+
+ public EsuKeyState esuKeyState() {
+ return this.innerModel().esuKeyState();
+ }
+
+ public License assignedLicense() {
+ LicenseInner inner = this.innerModel().assignedLicense();
+ if (inner != null) {
+ return new LicenseImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public LicenseAssignmentState licenseAssignmentState() {
+ return this.innerModel().licenseAssignmentState();
+ }
+
+ public LicenseProfileMachineInstanceViewEsuPropertiesInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileMachineInstanceViewImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileMachineInstanceViewImpl.java
new file mode 100644
index 0000000000000..ee5c6599952bc
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfileMachineInstanceViewImpl.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseProfileMachineInstanceViewEsuPropertiesInner;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseProfileMachineInstanceViewInner;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileMachineInstanceView;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileMachineInstanceViewEsuProperties;
+
+public final class LicenseProfileMachineInstanceViewImpl implements LicenseProfileMachineInstanceView {
+ private LicenseProfileMachineInstanceViewInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ LicenseProfileMachineInstanceViewImpl(
+ LicenseProfileMachineInstanceViewInner innerObject,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public LicenseProfileMachineInstanceViewEsuProperties esuProfile() {
+ LicenseProfileMachineInstanceViewEsuPropertiesInner inner = this.innerModel().esuProfile();
+ if (inner != null) {
+ return new LicenseProfileMachineInstanceViewEsuPropertiesImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public LicenseProfileMachineInstanceViewInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfilesClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfilesClientImpl.java
new file mode 100644
index 0000000000000..467c893cb0cb9
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfilesClientImpl.java
@@ -0,0 +1,1331 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+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.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+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.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+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.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybridcompute.fluent.LicenseProfilesClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseProfileInner;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfileUpdate;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfilesListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in LicenseProfilesClient. */
+public final class LicenseProfilesClientImpl implements LicenseProfilesClient {
+ /** The proxy service used to perform REST calls. */
+ private final LicenseProfilesService service;
+
+ /** The service client containing this operation class. */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of LicenseProfilesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ LicenseProfilesClientImpl(HybridComputeManagementClientImpl client) {
+ this.service =
+ RestProxy.create(LicenseProfilesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientLicenseProfiles to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface LicenseProfilesService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @PathParam("licenseProfileName") String licenseProfileName,
+ @BodyParam("application/json") LicenseProfileInner parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @PathParam("licenseProfileName") String licenseProfileName,
+ @BodyParam("application/json") LicenseProfileUpdate parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @PathParam("licenseProfileName") String licenseProfileName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}")
+ @ExpectedResponses({202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @PathParam("licenseProfileName") String licenseProfileName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ parameters,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ parameters,
+ accept,
+ context);
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 the {@link PollerFlux} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LicenseProfileInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters) {
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(resourceGroupName, machineName, parameters);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ LicenseProfileInner.class,
+ LicenseProfileInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 the {@link PollerFlux} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LicenseProfileInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(resourceGroupName, machineName, parameters, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), LicenseProfileInner.class, LicenseProfileInner.class, context);
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LicenseProfileInner> beginCreateOrUpdate(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, machineName, parameters).getSyncPoller();
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LicenseProfileInner> beginCreateOrUpdate(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters, Context context) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, machineName, parameters, context).getSyncPoller();
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters) {
+ return beginCreateOrUpdateAsync(resourceGroupName, machineName, parameters)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters, Context context) {
+ return beginCreateOrUpdateAsync(resourceGroupName, machineName, parameters, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LicenseProfileInner createOrUpdate(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters) {
+ return createOrUpdateAsync(resourceGroupName, machineName, parameters).block();
+ }
+
+ /**
+ * The operation to create or update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Create license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LicenseProfileInner createOrUpdate(
+ String resourceGroupName, String machineName, LicenseProfileInner parameters, Context context) {
+ return createOrUpdateAsync(resourceGroupName, machineName, parameters, context).block();
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ parameters,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ parameters,
+ accept,
+ context);
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 the {@link PollerFlux} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LicenseProfileInner> beginUpdateAsync(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters) {
+ Mono>> mono = updateWithResponseAsync(resourceGroupName, machineName, parameters);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ LicenseProfileInner.class,
+ LicenseProfileInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 the {@link PollerFlux} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LicenseProfileInner> beginUpdateAsync(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ updateWithResponseAsync(resourceGroupName, machineName, parameters, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), LicenseProfileInner.class, LicenseProfileInner.class, context);
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LicenseProfileInner> beginUpdate(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters) {
+ return this.beginUpdateAsync(resourceGroupName, machineName, parameters).getSyncPoller();
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 the {@link SyncPoller} for polling of describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LicenseProfileInner> beginUpdate(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters, Context context) {
+ return this.beginUpdateAsync(resourceGroupName, machineName, parameters, context).getSyncPoller();
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters) {
+ return beginUpdateAsync(resourceGroupName, machineName, parameters)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters, Context context) {
+ return beginUpdateAsync(resourceGroupName, machineName, parameters, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LicenseProfileInner update(String resourceGroupName, String machineName, LicenseProfileUpdate parameters) {
+ return updateAsync(resourceGroupName, machineName, parameters).block();
+ }
+
+ /**
+ * The operation to update a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param parameters Parameters supplied to the Update license profile 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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LicenseProfileInner update(
+ String resourceGroupName, String machineName, LicenseProfileUpdate parameters, Context context) {
+ return updateAsync(resourceGroupName, machineName, parameters, context).block();
+ }
+
+ /**
+ * Retrieves information about the view of a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes a license profile in a hybrid machine along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String machineName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Retrieves information about the view of a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes a license profile in a hybrid machine along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String machineName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ accept,
+ context);
+ }
+
+ /**
+ * Retrieves information about the view of a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes a license profile in a hybrid machine on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String machineName) {
+ return getWithResponseAsync(resourceGroupName, machineName).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Retrieves information about the view of a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes a license profile in a hybrid machine along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName, String machineName, Context context) {
+ return getWithResponseAsync(resourceGroupName, machineName, context).block();
+ }
+
+ /**
+ * Retrieves information about the view of a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes a license profile in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LicenseProfileInner get(String resourceGroupName, String machineName) {
+ return getWithResponse(resourceGroupName, machineName, Context.NONE).getValue();
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String machineName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String machineName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ final String licenseProfileName = "default";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ licenseProfileName,
+ accept,
+ context);
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String machineName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, machineName);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), Void.class, Void.class, this.client.getContext());
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String machineName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, machineName, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String machineName) {
+ return this.beginDeleteAsync(resourceGroupName, machineName).getSyncPoller();
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String machineName, Context context) {
+ return this.beginDeleteAsync(resourceGroupName, machineName, context).getSyncPoller();
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String machineName) {
+ return beginDeleteAsync(resourceGroupName, machineName).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String machineName, Context context) {
+ return beginDeleteAsync(resourceGroupName, machineName, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String machineName) {
+ deleteAsync(resourceGroupName, machineName).block();
+ }
+
+ /**
+ * The operation to delete a license profile.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String machineName, Context context) {
+ deleteAsync(resourceGroupName, machineName, context).block();
+ }
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(String resourceGroupName, String machineName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ machineName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName, String machineName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ machineName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String resourceGroupName, String machineName) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, machineName), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String resourceGroupName, String machineName, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, machineName, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String resourceGroupName, String machineName) {
+ return new PagedIterable<>(listAsync(resourceGroupName, machineName));
+ }
+
+ /**
+ * The operation to get all license profiles of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the machine.
+ * @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 the List hybrid machine license profile operation response as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String resourceGroupName, String machineName, Context context) {
+ return new PagedIterable<>(listAsync(resourceGroupName, machineName, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @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 the List hybrid machine license profile operation response along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @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 the List hybrid machine license profile operation response along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfilesImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfilesImpl.java
new file mode 100644
index 0000000000000..626a27ec223a5
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicenseProfilesImpl.java
@@ -0,0 +1,159 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+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.hybridcompute.fluent.LicenseProfilesClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseProfileInner;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfile;
+import com.azure.resourcemanager.hybridcompute.models.LicenseProfiles;
+
+public final class LicenseProfilesImpl implements LicenseProfiles {
+ private static final ClientLogger LOGGER = new ClientLogger(LicenseProfilesImpl.class);
+
+ private final LicenseProfilesClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public LicenseProfilesImpl(
+ LicenseProfilesClient innerClient,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String resourceGroupName, String machineName, Context context) {
+ Response inner =
+ this.serviceClient().getWithResponse(resourceGroupName, machineName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new LicenseProfileImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public LicenseProfile get(String resourceGroupName, String machineName) {
+ LicenseProfileInner inner = this.serviceClient().get(resourceGroupName, machineName);
+ if (inner != null) {
+ return new LicenseProfileImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String machineName) {
+ this.serviceClient().delete(resourceGroupName, machineName);
+ }
+
+ public void delete(String resourceGroupName, String machineName, Context context) {
+ this.serviceClient().delete(resourceGroupName, machineName, context);
+ }
+
+ public PagedIterable list(String resourceGroupName, String machineName) {
+ PagedIterable inner = this.serviceClient().list(resourceGroupName, machineName);
+ return Utils.mapPage(inner, inner1 -> new LicenseProfileImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(String resourceGroupName, String machineName, Context context) {
+ PagedIterable inner = this.serviceClient().list(resourceGroupName, machineName, context);
+ return Utils.mapPage(inner, inner1 -> new LicenseProfileImpl(inner1, this.manager()));
+ }
+
+ public LicenseProfile getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String machineName = Utils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, machineName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String machineName = Utils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, machineName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String machineName = Utils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ this.delete(resourceGroupName, machineName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String machineName = Utils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ this.delete(resourceGroupName, machineName, context);
+ }
+
+ private LicenseProfilesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+
+ public LicenseProfileImpl define() {
+ return new LicenseProfileImpl(this.manager());
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicensesClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicensesClientImpl.java
new file mode 100644
index 0000000000000..c050e879857b4
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/LicensesClientImpl.java
@@ -0,0 +1,1754 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+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.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.Put;
+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.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+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.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybridcompute.fluent.LicensesClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.LicenseInner;
+import com.azure.resourcemanager.hybridcompute.models.LicenseUpdate;
+import com.azure.resourcemanager.hybridcompute.models.LicensesListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in LicensesClient. */
+public final class LicensesClientImpl implements LicensesClient {
+ /** The proxy service used to perform REST calls. */
+ private final LicensesService service;
+
+ /** The service client containing this operation class. */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of LicensesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ LicensesClientImpl(HybridComputeManagementClientImpl client) {
+ this.service = RestProxy.create(LicensesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientLicenses to be used by the proxy service
+ * to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface LicensesService {
+ @Headers({"Content-Type: application/json"})
+ @Post("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/validateLicense")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> validateLicense(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @BodyParam("application/json") LicenseInner parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("licenseName") String licenseName,
+ @BodyParam("application/json") LicenseInner parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("licenseName") String licenseName,
+ @BodyParam("application/json") LicenseUpdate parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("licenseName") String licenseName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}")
+ @ExpectedResponses({200, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("licenseName") String licenseName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/licenses")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * The operation to validate a license.
+ *
+ * @param parameters Parameters supplied to the license validation 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 describes a license in a hybrid machine along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> validateLicenseWithResponseAsync(LicenseInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .validateLicense(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ parameters,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to validate a license.
+ *
+ * @param parameters Parameters supplied to the license validation 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 describes a license in a hybrid machine along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> validateLicenseWithResponseAsync(
+ LicenseInner parameters, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .validateLicense(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ parameters,
+ accept,
+ context);
+ }
+
+ /**
+ * The operation to validate a license.
+ *
+ * @param parameters Parameters supplied to the license validation 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 the {@link PollerFlux} for polling of describes a license in a hybrid machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LicenseInner> beginValidateLicenseAsync(LicenseInner parameters) {
+ Mono>> mono = validateLicenseWithResponseAsync(parameters);
+ return this
+ .client
+ .