diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md
index af7e03153024f..9a2105af53200 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md
@@ -1,7 +1,8 @@
# Release History
-## 1.0.0-beta.2 (Unreleased)
+## 1.0.0-beta.1 (2021-06-28)
+- Azure Resource Manager HybridCompute client library for Java. This package contains Microsoft Azure SDK for HybridCompute Management SDK. The Hybrid Compute Management Client. Package tag package-preview-2021-06. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## 1.0.0-beta.1 (2021-04-15)
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md
index 734229fd84771..d6ec9eee5904a 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager HybridCompute client library for Java.
-This package contains Microsoft Azure SDK for HybridCompute Management SDK. The Hybrid Compute Management Client. Package tag package-preview-2021-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+This package contains Microsoft Azure SDK for HybridCompute Management SDK. The Hybrid Compute Management Client. Package tag package-preview-2021-06. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## We'd love to hear your feedback
@@ -32,7 +32,7 @@ Various documentation is available to help you get started
com.azure.resourcemanager
azure-resourcemanager-hybridcompute
- 1.0.0-beta.1
+ 1.0.0-beta.2
```
[//]: # ({x-version-update-end})
@@ -74,13 +74,15 @@ See [API design][design] for general introduction on design and key concepts on
## Examples
+
+
## Troubleshooting
## Next steps
## Contributing
-For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).
1. Fork it
1. Create your feature branch (`git checkout -b my-new-feature`)
@@ -93,7 +95,7 @@ For details on contributing to this repository, see the [contributing guide](htt
[docs]: https://azure.github.io/azure-sdk-for-java/
[jdk]: https://docs.microsoft.com/java/azure/jdk/
[azure_subscription]: https://azure.microsoft.com/free/
-[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
-[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
-[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
-[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml
index 90319a5d83c15..34dbafbdc5d17 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml
@@ -1,67 +1,86 @@
- 4.0.0
-
- com.azure
- azure-client-sdk-parent
- 1.7.0
- ../../parents/azure-client-sdk-parent
-
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
- com.azure.resourcemanager
- azure-resourcemanager-hybridcompute
- 1.0.0-beta.2
- jar
+ com.azure.resourcemanager
+ azure-resourcemanager-hybridcompute
+ 1.0.0-beta.2
+ jar
- Microsoft Azure SDK for HybridCompute Management
- This package contains Microsoft Azure SDK for HybridCompute Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Hybrid Compute Management Client. Package tag package-preview-2021-03.
- https://github.com/Azure/azure-sdk-for-java
+ Microsoft Azure SDK for HybridCompute Management
+ This package contains Microsoft Azure SDK for HybridCompute Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Hybrid Compute Management Client. Package tag package-preview-2021-06.
+ https://github.com/Azure/azure-sdk-for-java
-
-
- The MIT License (MIT)
- http://opensource.org/licenses/MIT
- repo
-
-
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
-
- https://github.com/Azure/azure-sdk-for-java
- scm:git:git@github.com:Azure/azure-sdk-for-java.git
- scm:git:git@github.com:Azure/azure-sdk-for-java.git
- HEAD
-
-
-
- microsoft
- Microsoft
-
-
-
- UTF-8
-
-
-
-
- com.azure
- azure-core
- 1.17.0
-
-
- com.azure
- azure-core-management
- 1.3.0
-
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.5
-
- true
-
-
-
-
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.17.0
+
+
+ com.azure
+ azure-core-management
+ 1.3.0
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java
index 1c1d7418fc4c5..5882f55cb4dfb 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java
@@ -9,7 +9,6 @@
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
import com.azure.core.http.policy.AddDatePolicy;
-import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
@@ -17,6 +16,7 @@
import com.azure.core.http.policy.RequestIdPolicy;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.util.Configuration;
import com.azure.core.util.logging.ClientLogger;
@@ -28,12 +28,14 @@
import com.azure.resourcemanager.hybridcompute.implementation.PrivateEndpointConnectionsImpl;
import com.azure.resourcemanager.hybridcompute.implementation.PrivateLinkResourcesImpl;
import com.azure.resourcemanager.hybridcompute.implementation.PrivateLinkScopesImpl;
+import com.azure.resourcemanager.hybridcompute.implementation.ResourceProvidersImpl;
import com.azure.resourcemanager.hybridcompute.models.MachineExtensions;
import com.azure.resourcemanager.hybridcompute.models.Machines;
import com.azure.resourcemanager.hybridcompute.models.Operations;
import com.azure.resourcemanager.hybridcompute.models.PrivateEndpointConnections;
import com.azure.resourcemanager.hybridcompute.models.PrivateLinkResources;
import com.azure.resourcemanager.hybridcompute.models.PrivateLinkScopes;
+import com.azure.resourcemanager.hybridcompute.models.ResourceProviders;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
@@ -46,6 +48,8 @@ public final class HybridComputeManager {
private MachineExtensions machineExtensions;
+ private ResourceProviders resourceProviders;
+
private Operations operations;
private PrivateLinkScopes privateLinkScopes;
@@ -97,6 +101,7 @@ public static final class Configurable {
private HttpClient httpClient;
private HttpLogOptions httpLogOptions;
private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
private RetryPolicy retryPolicy;
private Duration defaultPollInterval;
@@ -136,6 +141,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) {
return this;
}
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
/**
* Sets the retry policy to the HTTP pipeline.
*
@@ -192,6 +208,9 @@ public HybridComputeManager authenticate(TokenCredential credential, AzureProfil
userAgentBuilder.append(" (auto-generated)");
}
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
if (retryPolicy == null) {
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
}
@@ -201,10 +220,7 @@ public HybridComputeManager authenticate(TokenCredential credential, AzureProfil
HttpPolicyProviders.addBeforeRetryPolicies(policies);
policies.add(retryPolicy);
policies.add(new AddDatePolicy());
- policies
- .add(
- new BearerTokenAuthenticationPolicy(
- credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
policies.addAll(this.policies);
HttpPolicyProviders.addAfterRetryPolicies(policies);
policies.add(new HttpLoggingPolicy(httpLogOptions));
@@ -233,6 +249,14 @@ public MachineExtensions machineExtensions() {
return machineExtensions;
}
+ /** @return Resource collection API of ResourceProviders. */
+ public ResourceProviders resourceProviders() {
+ if (this.resourceProviders == null) {
+ this.resourceProviders = new ResourceProvidersImpl(clientObject.getResourceProviders(), this);
+ }
+ return resourceProviders;
+ }
+
/** @return Resource collection API of Operations. */
public Operations operations() {
if (this.operations == null) {
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java
index 9363ab1e34962..d52dd0c7caa99 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java
@@ -58,6 +58,13 @@ public interface HybridComputeManagementClient {
*/
MachineExtensionsClient getMachineExtensions();
+ /**
+ * Gets the ResourceProvidersClient object to access its operations.
+ *
+ * @return the ResourceProvidersClient object.
+ */
+ ResourceProvidersClient getResourceProviders();
+
/**
* Gets the OperationsClient object to access its operations.
*
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..e67a18345b08c
--- /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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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/implementation/HybridComputeManagementClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java
index 0f4f2680c64c4..60af920c0c494 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
@@ -28,6 +28,7 @@
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;
@@ -139,6 +140,18 @@ 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 OperationsClient object to access its operations. */
private final OperationsClient operations;
@@ -209,9 +222,10 @@ public PrivateEndpointConnectionsClient getPrivateEndpointConnections() {
this.defaultPollInterval = defaultPollInterval;
this.subscriptionId = subscriptionId;
this.endpoint = endpoint;
- this.apiVersion = "2021-03-25-preview";
+ this.apiVersion = "2021-06-10-preview";
this.machines = new MachinesClientImpl(this);
this.machineExtensions = new MachineExtensionsClientImpl(this);
+ this.resourceProviders = new ResourceProvidersClientImpl(this);
this.operations = new OperationsClientImpl(this);
this.privateLinkScopes = new PrivateLinkScopesClientImpl(this);
this.privateLinkResources = new PrivateLinkResourcesClientImpl(this);
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ResourceProvidersClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ResourceProvidersClientImpl.java
new file mode 100644
index 0000000000000..1618dced52d9d
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ResourceProvidersClientImpl.java
@@ -0,0 +1,360 @@
+// 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.ExpectedResponses;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybridcompute.fluent.ResourceProvidersClient;
+import com.azure.resourcemanager.hybridcompute.models.MachineExtensionUpgrade;
+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 ResourceProvidersClient. */
+public final class ResourceProvidersClientImpl implements ResourceProvidersClient {
+ private final ClientLogger logger = new ClientLogger(ResourceProvidersClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final ResourceProvidersService service;
+
+ /** The service client containing this operation class. */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ResourceProvidersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ResourceProvidersClientImpl(HybridComputeManagementClientImpl client) {
+ this.service =
+ RestProxy.create(ResourceProvidersService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientResourceProviders to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ private interface ResourceProvidersService {
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute"
+ + "/machines/{machineName}/upgradeExtensions")
+ @ExpectedResponses({202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> upgradeExtensions(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("machineName") String machineName,
+ @BodyParam("application/json") MachineExtensionUpgrade extensionUpgradeParameters,
+ @HeaderParam("Accept") String accept,
+ 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> upgradeExtensionsWithResponseAsync(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters) {
+ 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 (extensionUpgradeParameters == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter extensionUpgradeParameters is required and cannot be null."));
+ } else {
+ extensionUpgradeParameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .upgradeExtensions(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ extensionUpgradeParameters,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> upgradeExtensionsWithResponseAsync(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ 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 (extensionUpgradeParameters == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter extensionUpgradeParameters is required and cannot be null."));
+ } else {
+ extensionUpgradeParameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .upgradeExtensions(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ machineName,
+ extensionUpgradeParameters,
+ accept,
+ 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginUpgradeExtensionsAsync(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters) {
+ Mono>> mono =
+ upgradeExtensionsWithResponseAsync(resourceGroupName, machineName, extensionUpgradeParameters);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginUpgradeExtensionsAsync(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ upgradeExtensionsWithResponseAsync(resourceGroupName, machineName, extensionUpgradeParameters, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, Void> beginUpgradeExtensions(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters) {
+ return beginUpgradeExtensionsAsync(resourceGroupName, machineName, extensionUpgradeParameters).getSyncPoller();
+ }
+
+ /**
+ * 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, Void> beginUpgradeExtensions(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context) {
+ return beginUpgradeExtensionsAsync(resourceGroupName, machineName, extensionUpgradeParameters, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono upgradeExtensionsAsync(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters) {
+ return beginUpgradeExtensionsAsync(resourceGroupName, machineName, extensionUpgradeParameters)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono upgradeExtensionsAsync(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context) {
+ return beginUpgradeExtensionsAsync(resourceGroupName, machineName, extensionUpgradeParameters, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * 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 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 upgradeExtensions(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters) {
+ upgradeExtensionsAsync(resourceGroupName, machineName, extensionUpgradeParameters).block();
+ }
+
+ /**
+ * 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 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 upgradeExtensions(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context) {
+ upgradeExtensionsAsync(resourceGroupName, machineName, extensionUpgradeParameters, context).block();
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ResourceProvidersImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ResourceProvidersImpl.java
new file mode 100644
index 0000000000000..560dd8adb4fd6
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/ResourceProvidersImpl.java
@@ -0,0 +1,48 @@
+// 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.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybridcompute.fluent.ResourceProvidersClient;
+import com.azure.resourcemanager.hybridcompute.models.MachineExtensionUpgrade;
+import com.azure.resourcemanager.hybridcompute.models.ResourceProviders;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class ResourceProvidersImpl implements ResourceProviders {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ResourceProvidersImpl.class);
+
+ private final ResourceProvidersClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public ResourceProvidersImpl(
+ ResourceProvidersClient innerClient,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public void upgradeExtensions(
+ String resourceGroupName, String machineName, MachineExtensionUpgrade extensionUpgradeParameters) {
+ this.serviceClient().upgradeExtensions(resourceGroupName, machineName, extensionUpgradeParameters);
+ }
+
+ public void upgradeExtensions(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context) {
+ this.serviceClient().upgradeExtensions(resourceGroupName, machineName, extensionUpgradeParameters, context);
+ }
+
+ private ResourceProvidersClient 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/models/ExtensionTargetProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionTargetProperties.java
new file mode 100644
index 0000000000000..c36a1a4f55cba
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionTargetProperties.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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Describes the Machine Extension Target Version Properties. */
+@Fluent
+public final class ExtensionTargetProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionTargetProperties.class);
+
+ /*
+ * Properties for the specified Extension to Upgrade.
+ */
+ @JsonProperty(value = "targetVersion")
+ private String targetVersion;
+
+ /**
+ * Get the targetVersion property: Properties for the specified Extension to Upgrade.
+ *
+ * @return the targetVersion value.
+ */
+ public String targetVersion() {
+ return this.targetVersion;
+ }
+
+ /**
+ * Set the targetVersion property: Properties for the specified Extension to Upgrade.
+ *
+ * @param targetVersion the targetVersion value to set.
+ * @return the ExtensionTargetProperties object itself.
+ */
+ public ExtensionTargetProperties withTargetVersion(String targetVersion) {
+ this.targetVersion = targetVersion;
+ 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/models/HybridComputePrivateLinkScopeProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/HybridComputePrivateLinkScopeProperties.java
index 24dc7ae03bdc5..a434adcebe012 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/HybridComputePrivateLinkScopeProperties.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/HybridComputePrivateLinkScopeProperties.java
@@ -8,6 +8,7 @@
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
/** Properties that define a Azure Arc PrivateLinkScope resource. */
@Fluent
@@ -36,6 +37,12 @@ public final class HybridComputePrivateLinkScopeProperties {
@JsonProperty(value = "privateLinkScopeId", access = JsonProperty.Access.WRITE_ONLY)
private String privateLinkScopeId;
+ /*
+ * The collection of associated Private Endpoint Connections.
+ */
+ @JsonProperty(value = "privateEndpointConnections", access = JsonProperty.Access.WRITE_ONLY)
+ private List privateEndpointConnections;
+
/**
* Get the publicNetworkAccess property: Indicates whether machines associated with the private link scope can also
* use public Azure Arc service endpoints.
@@ -79,11 +86,23 @@ public String privateLinkScopeId() {
return this.privateLinkScopeId;
}
+ /**
+ * Get the privateEndpointConnections property: The collection of associated Private Endpoint Connections.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.privateEndpointConnections;
+ }
+
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
+ if (privateEndpointConnections() != null) {
+ privateEndpointConnections().forEach(e -> e.validate());
+ }
}
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineExtensionUpgrade.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineExtensionUpgrade.java
new file mode 100644
index 0000000000000..a09e0581c5343
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineExtensionUpgrade.java
@@ -0,0 +1,61 @@
+// 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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Describes the Machine Extension Upgrade Properties. */
+@Fluent
+public final class MachineExtensionUpgrade {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MachineExtensionUpgrade.class);
+
+ /*
+ * Describes the Extension Target Properties.
+ */
+ @JsonProperty(value = "extensionTargets")
+ private Map extensionTargets;
+
+ /**
+ * Get the extensionTargets property: Describes the Extension Target Properties.
+ *
+ * @return the extensionTargets value.
+ */
+ public Map extensionTargets() {
+ return this.extensionTargets;
+ }
+
+ /**
+ * Set the extensionTargets property: Describes the Extension Target Properties.
+ *
+ * @param extensionTargets the extensionTargets value to set.
+ * @return the MachineExtensionUpgrade object itself.
+ */
+ public MachineExtensionUpgrade withExtensionTargets(Map extensionTargets) {
+ this.extensionTargets = extensionTargets;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (extensionTargets() != null) {
+ extensionTargets()
+ .values()
+ .forEach(
+ e -> {
+ if (e != null) {
+ e.validate();
+ }
+ });
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineProperties.java
index 050aba734e6cb..f4953fbdcb161 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineProperties.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineProperties.java
@@ -27,7 +27,7 @@ public final class MachineProperties {
/*
* Specifies the operating system settings for the hybrid machine.
*/
- @JsonProperty(value = "osProfile", access = JsonProperty.Access.WRITE_ONLY)
+ @JsonProperty(value = "osProfile")
private OSProfile osProfile;
/*
@@ -97,6 +97,12 @@ public final class MachineProperties {
@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
*/
@@ -147,6 +153,12 @@ public final class MachineProperties {
@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.
*/
@@ -182,6 +194,17 @@ 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 MachineProperties object itself.
+ */
+ public MachineProperties withOsProfile(OSProfile osProfile) {
+ this.osProfile = osProfile;
+ return this;
+ }
+
/**
* Get the provisioningState property: The provisioning state, which only appears in the response.
*
@@ -305,6 +328,26 @@ 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 MachineProperties object itself.
+ */
+ public MachineProperties withOsType(String osType) {
+ this.osType = osType;
+ return this;
+ }
+
/**
* Get the vmUuid property: Specifies the Arc Machine's unique SMBIOS ID.
*
@@ -414,6 +457,26 @@ public MachineProperties withParentClusterResourceId(String parentClusterResourc
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 MachineProperties object itself.
+ */
+ public MachineProperties withMssqlDiscovered(String mssqlDiscovered) {
+ this.mssqlDiscovered = mssqlDiscovered;
+ return this;
+ }
+
/**
* Get the detectedProperties property: Detected properties from the machine.
*
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/models/MachineUpdateProperties.java
index 08a318d410429..79782aa53d77f 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/models/MachineUpdateProperties.java
@@ -20,6 +20,12 @@ 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 resource id of the parent cluster (Azure HCI) this machine is
* assigned to, if any.
@@ -54,6 +60,26 @@ 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 parentClusterResourceId property: The resource id of the parent cluster (Azure HCI) this machine is
* assigned to, if any.
@@ -107,5 +133,8 @@ public void validate() {
if (locationData() != null) {
locationData().validate();
}
+ if (osProfile() != null) {
+ osProfile().validate();
+ }
}
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfile.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfile.java
index 3f9e493402d3b..e266a60cfaa45 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfile.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfile.java
@@ -4,13 +4,13 @@
package com.azure.resourcemanager.hybridcompute.models;
-import com.azure.core.annotation.Immutable;
+import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
/** Specifies the operating system settings for the hybrid machine. */
-@Immutable
+@Fluent
public final class OSProfile {
@JsonIgnore private final ClientLogger logger = new ClientLogger(OSProfile.class);
@@ -20,6 +20,18 @@ public final class OSProfile {
@JsonProperty(value = "computerName", access = JsonProperty.Access.WRITE_ONLY)
private String computerName;
+ /*
+ * Specifies the windows configuration for update management.
+ */
+ @JsonProperty(value = "windowsConfiguration")
+ private OSProfileWindowsConfiguration windowsConfiguration;
+
+ /*
+ * Specifies the linux configuration for update management.
+ */
+ @JsonProperty(value = "linuxConfiguration")
+ private OSProfileLinuxConfiguration linuxConfiguration;
+
/**
* Get the computerName property: Specifies the host OS name of the hybrid machine.
*
@@ -29,11 +41,57 @@ public String computerName() {
return this.computerName;
}
+ /**
+ * Get the windowsConfiguration property: Specifies the windows configuration for update management.
+ *
+ * @return the windowsConfiguration value.
+ */
+ public OSProfileWindowsConfiguration windowsConfiguration() {
+ return this.windowsConfiguration;
+ }
+
+ /**
+ * Set the windowsConfiguration property: Specifies the windows configuration for update management.
+ *
+ * @param windowsConfiguration the windowsConfiguration value to set.
+ * @return the OSProfile object itself.
+ */
+ public OSProfile withWindowsConfiguration(OSProfileWindowsConfiguration windowsConfiguration) {
+ this.windowsConfiguration = windowsConfiguration;
+ return this;
+ }
+
+ /**
+ * Get the linuxConfiguration property: Specifies the linux configuration for update management.
+ *
+ * @return the linuxConfiguration value.
+ */
+ public OSProfileLinuxConfiguration linuxConfiguration() {
+ return this.linuxConfiguration;
+ }
+
+ /**
+ * Set the linuxConfiguration property: Specifies the linux configuration for update management.
+ *
+ * @param linuxConfiguration the linuxConfiguration value to set.
+ * @return the OSProfile object itself.
+ */
+ public OSProfile withLinuxConfiguration(OSProfileLinuxConfiguration linuxConfiguration) {
+ this.linuxConfiguration = linuxConfiguration;
+ return this;
+ }
+
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
+ if (windowsConfiguration() != null) {
+ windowsConfiguration().validate();
+ }
+ if (linuxConfiguration() != null) {
+ linuxConfiguration().validate();
+ }
}
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfileLinuxConfiguration.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfileLinuxConfiguration.java
new file mode 100644
index 0000000000000..6a4603832bf1c
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfileLinuxConfiguration.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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Specifies the linux configuration for update management. */
+@JsonFlatten
+@Fluent
+public class OSProfileLinuxConfiguration {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OSProfileLinuxConfiguration.class);
+
+ /*
+ * Specifies the assessment mode.
+ */
+ @JsonProperty(value = "patchSettings.assessmentMode")
+ private String assessmentMode;
+
+ /**
+ * Get the assessmentMode property: Specifies the assessment mode.
+ *
+ * @return the assessmentMode value.
+ */
+ public String assessmentMode() {
+ return this.assessmentMode;
+ }
+
+ /**
+ * Set the assessmentMode property: Specifies the assessment mode.
+ *
+ * @param assessmentMode the assessmentMode value to set.
+ * @return the OSProfileLinuxConfiguration object itself.
+ */
+ public OSProfileLinuxConfiguration withAssessmentMode(String assessmentMode) {
+ this.assessmentMode = assessmentMode;
+ 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/models/OSProfileWindowsConfiguration.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfileWindowsConfiguration.java
new file mode 100644
index 0000000000000..c97a330500f06
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/OSProfileWindowsConfiguration.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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Specifies the windows configuration for update management. */
+@JsonFlatten
+@Fluent
+public class OSProfileWindowsConfiguration {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OSProfileWindowsConfiguration.class);
+
+ /*
+ * Specifies the assessment mode.
+ */
+ @JsonProperty(value = "patchSettings.assessmentMode")
+ private String assessmentMode;
+
+ /**
+ * Get the assessmentMode property: Specifies the assessment mode.
+ *
+ * @return the assessmentMode value.
+ */
+ public String assessmentMode() {
+ return this.assessmentMode;
+ }
+
+ /**
+ * Set the assessmentMode property: Specifies the assessment mode.
+ *
+ * @param assessmentMode the assessmentMode value to set.
+ * @return the OSProfileWindowsConfiguration object itself.
+ */
+ public OSProfileWindowsConfiguration withAssessmentMode(String assessmentMode) {
+ this.assessmentMode = assessmentMode;
+ 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/models/PrivateEndpointConnectionDataModel.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/PrivateEndpointConnectionDataModel.java
new file mode 100644
index 0000000000000..c59875b12c79c
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/PrivateEndpointConnectionDataModel.java
@@ -0,0 +1,98 @@
+// 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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The Data Model for a Private Endpoint Connection associated with a Private Link Scope. */
+@Fluent
+public final class PrivateEndpointConnectionDataModel {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PrivateEndpointConnectionDataModel.class);
+
+ /*
+ * The ARM Resource Id of the Private Endpoint.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The Name of the Private Endpoint.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Azure resource type
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The Private Endpoint Connection properties.
+ */
+ @JsonProperty(value = "properties")
+ private PrivateEndpointConnectionProperties properties;
+
+ /**
+ * Get the id property: The ARM Resource Id of the Private Endpoint.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The Name of the Private Endpoint.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: Azure resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the properties property: The Private Endpoint Connection properties.
+ *
+ * @return the properties value.
+ */
+ public PrivateEndpointConnectionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The Private Endpoint Connection properties.
+ *
+ * @param properties the properties value to set.
+ * @return the PrivateEndpointConnectionDataModel object itself.
+ */
+ public PrivateEndpointConnectionDataModel withProperties(PrivateEndpointConnectionProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ResourceProviders.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ResourceProviders.java
new file mode 100644
index 0000000000000..03fb8081c7387
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ResourceProviders.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.models;
+
+import com.azure.core.util.Context;
+
+/** Resource collection API of ResourceProviders. */
+public interface ResourceProviders {
+ /**
+ * 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.
+ */
+ 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.
+ */
+ void upgradeExtensions(
+ String resourceGroupName,
+ String machineName,
+ MachineExtensionUpgrade extensionUpgradeParameters,
+ Context context);
+}